release: v1.4.0 — 账号导入导出无缝迁移

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
胡绍康andCopilot committed 2026-03-04 20:38:07 +08:00
1 parent 973412d44c
commit 450fc6dd45
2 files changed
+34 -1

No files matched your search

+33
View File
@@ -1,5 +1,38 @@
# DEVLOG(发布记录)
## v1.4.0(2026-03-04)
### 新增功能
- **🔄 账号导入导出无缝迁移(PRD-00006)**:实现"导出→不修改→直接导回来"的一键无缝迁移
- **🔍 智能识别(混合导入)模式**:在导入界面选择"智能识别"即可自动逐行判断账号类型(Outlook OAuth / 标准 IMAP / 自定义 IMAP / GPTMail 临时邮箱),支持混合格式文件一次性导入
- **📧 域名自动推断 Provider**:2段格式(邮箱+密码)自动根据域名推断为 Gmail/QQ/163/126/Yahoo/阿里邮箱/Outlook 等,并使用对应的 IMAP 配置
- **📁 自动按类型分组**:导入时自动创建或复用 provider 对应的分组(如 Gmail、QQ邮箱等),无需手动指定
- **🔁 重复账号处理策略**:新增"跳过重复"和"覆盖更新"两种策略,覆盖更新仅更新凭据字段,保留备注/标签/状态
- **🌐 兜底 IMAP 设置**:未知域名可指定备用 IMAP 服务器地址,避免导入失败
- **📊 增强导入结果展示**:按 provider 分类统计导入/跳过/失败数量,显示自动创建的分组列表
- **📤 导出格式升级为 v2**:
- 文件头部新增元信息注释块(导出时间、各类型账号数量、格式版本标识)
- 新增 GPTMail 临时邮箱分段导出(仅邮箱地址),纳入全量导出
- 导出文件名统一为 `accounts_export_YYYYMMDD_HHMMSS.txt` 带时间戳
- **🔧 新增 Repository 层能力**:
- `get_group_by_name()`:按名称精确查找分组(不区分大小写)
- `update_account_credentials()`:仅更新凭据字段,敏感字段自动加密
### 修复
- 无(本版本为新增功能)
### 重要变更
- **导入 API 扩展**:`POST /api/accounts` 新增 `provider="auto"` 值触发智能识别,不影响现有 provider 值的导入行为(完全向后兼容)
- **Provider 列表扩展**:`GET /api/providers` 返回列表首位新增"🔍 智能识别(混合导入)"选项
- **导出文件名变更**:从 `all_accounts_*.txt` / `selected_accounts_*.txt` 改为 `accounts_export_*.txt` / `accounts_export_selected_*.txt`
- **导出选中分组新增 GPTMail 支持**:仅当选中了"临时邮箱"系统分组时,导出文件才包含 GPTMail 分段
- **前端导入模态框新增 UI**:重复策略单选(跳过/覆盖)、兜底 IMAP 输入、智能识别模式提示
### 测试/验证
- **新增 47 个测试用例**(4 个测试文件):覆盖域名推断、行类型识别、auto 混合导入全链路、导出 v2 格式
- **全量测试通过**:169 个测试全部通过(基线 122 + 新增 47),零回归
- **手动验收通过**:导出→导入闭环、混合格式导入、域名推断、重复策略、自动分组、向后兼容
## v1.3.0(2026-03-03)
### 新增功能
+1 -1
View File
@@ -1,4 +1,4 @@
__version__ = "1.3.0"
__version__ = "1.4.0"
from outlook_web.app import create_app