T-568 支持封面画廊单任务重生
This commit is contained in:
+17
-2
@@ -3,7 +3,7 @@ id: T-568
|
||||
title: ②封面画廊单任务重新生成与并发守卫
|
||||
phase: 7
|
||||
deps: [T-567]
|
||||
status: TODO
|
||||
status: DONE
|
||||
created: 2026-07-09
|
||||
---
|
||||
|
||||
@@ -73,4 +73,19 @@ T-567 只提供候选封面查看与保存。运营在对比时仍需要对当
|
||||
|
||||
## 执行记录
|
||||
|
||||
(做完在这里写:改了什么文件、跑了什么验证命令及结果、遇到的阻塞、关键决策。)
|
||||
- 2026-07-09 完成 T-568。
|
||||
- 修改 `app/gui/tabs/generate.py`:
|
||||
- 在 T-567 封面画廊底部新增「重新生成」按钮;点击后先弹中文确认,说明会重新生成当前商品封面并可能消耗 cmhub 点数。
|
||||
- 确认后调用 `db.reset_generated(task_id, reset_title=False, reset_cover=True)`,由 T-566 归档当前新封面并清空封面指针;随后重新 `db.get_task()` 获取 fresh task,再启动单任务 `GenerateWorker([fresh_task])`,避免旧 task 残留 `new_cover_path` 导致跳过生图。
|
||||
- 单任务重生使用当前②页面传入的标题/封面提示词和配置,但只在 worker 配置副本中强制 `ai.generate_cover=True`,不保存到设置,确保只补缺失封面、不重生标题。
|
||||
- worker 完成后刷新②列表与画廊候选;成功时新 `_new.jpg` 默认选中;失败时保留已归档旧图并允许选择历史候选保存;归档改名失败时弹中文错误并不启动 worker。
|
||||
- 增加并发守卫:②批量生成运行中时画廊「重新生成」禁用并显示 tooltip;画廊单任务重生运行中时②主界面「开始生成」和「重置生成结果」禁用/阻断。
|
||||
- 修改 `tests/test_gui.py`:
|
||||
- 用 fake `GenerateWorker`/thread 覆盖重新生成确认取消、fresh task 启动、临时强制 `generate_cover=True`、成功刷新并选中新图、失败后历史候选可保存、归档失败不启动 worker、批量生成与单任务重生互斥、主界面启动阻断。
|
||||
- 验证通过:
|
||||
- `py -3.10 -m unittest tests.test_gui`
|
||||
- `py -3.10 -m unittest tests.test_gui tests.test_db`
|
||||
- `python -m ruff check app tests main.py`
|
||||
- `py -3.10 -m compileall app main.py`
|
||||
- `py -3.10 -m unittest discover -s tests`(297 tests;PySide6 字体目录警告不影响结果)
|
||||
- `git diff --check`
|
||||
|
||||
Reference in New Issue
Block a user