feat(product-suite): complete multi-source recovery

This commit is contained in:
chengma
2026-07-20 18:50:08 +08:00
parent 2e6b93d7e0
commit b803a2a15a
7 changed files with 310 additions and 17 deletions
+6 -2
View File
@@ -3,7 +3,7 @@ id: T-679c
title: 商品套图多来源恢复、重试与历史展示
phase: 7
deps: [T-679a, T-679b]
status: TODO
status: DONE
created: 2026-07-20
---
@@ -59,4 +59,8 @@ git diff --check
## 执行记录
(做完在这里写:变更文件、恢复与重试决策、验证命令及结果。)
- 已将「来源」和「是否可继续查询」拆为两个判断:恢复入口仍严格要求已保存的 `cmhub/cmhub + task_id`,因此切换到自定义网关后仍可查询旧默认网关任务,而 direct job 永不进入轮询或恢复。
- 结果卡、项目历史图片/轮次和全局历史轮次均显示已保存的中文来源;来源只读 job 的 `generation_source/provider`,切换⑤设置不会改写历史显示。混合来源轮次显示两种来源摘要,不暴露模型、URL 或密钥。
- direct 失败或启动期中断恢复后的卡片允许在当前自定义网关配置合格时手动重新生成;每次先显示完整生成确认,并默认取消且明确提示服务商可能已计费、本次可能再次收费。确认后新建 job,绝不自动补发、复用旧 job 或进入继续查询。默认网关重试、历史、导出、删除撤销和继续查询保持原有语义。
- 新增来源过滤、持久化来源显示、切换设置不改写历史、direct 二次确认和陈旧 direct 失败重试入口的 GUI 回归测试;更新 `docs/04-architecture.md`、`docs/routes.md`、`docs/ui/tab6-suite-recovery-T679c.svg` 与 UI 索引。
- 验证:`py -3.10 -m unittest tests.test_product_suite_gui tests.test_image_studio_generation tests.test_gui`(294 项)、`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check` 均通过;完整测试结果见本任务提交前的最终校验。