3.0 KiB
3.0 KiB
id, title, phase, deps, status, created
| id | title | phase | deps | status | created | |
|---|---|---|---|---|---|---|
| T-574 | ②封面画廊保存后停留并提示已保存 | 7 |
|
TODO | 2026-07-09 |
问题 / 背景
②AI生成模块中,双击任务行打开封面画廊后,用户可以在多张 AI 生成封面候选图之间切换。当前行为是:勾选其它候选图后点击「保存」,程序会把该图片写入任务的 new_cover_path,但弹窗立即退出。
这个行为在数据层是正确的,但从用户体验看反馈不够清楚:
- 用户无法在弹窗内立刻确认“刚才选择的图片已经保存为本地待更新封面”。
- 弹窗关闭后,用户如果还想继续比较其它候选图,需要重新打开。
- 「保存后关闭」容易让用户误解为已经更新到蝦皮线上商品主图。实际上这一步只更新本地任务的待更新封面,只有后续③「更新蝦皮」成功后,线上主图才会变化。
方案
app/gui/tabs/generate.py- 在
CoverGalleryDialog底部按钮区,「保存」按钮左侧增加轻量状态提示 label。 - 用户点击「保存」后:
- 调用原有保存逻辑,继续写入
db.update_generated_cover()。 - 保存成功后不关闭弹窗。
- 提示 label 显示类似「已保存为本次更新封面」。
- 刷新当前候选图状态,让新保存的图片标记为当前生效封面。
- 调用原有保存逻辑,继续写入
- 保留未保存切换/关闭保护:如果用户选择了另一张但未保存,切换上一条/下一条或关闭时仍提示「保存 / 不保存 / 取消」。
- 底部原「取消」按钮建议改为「关闭」,因为保存后弹窗可继续停留,关闭按钮语义更准确。
- 在
文案原则
- 不使用「商品封面主图」作为保存成功提示,避免误导用户以为已经提交到蝦皮线上。
- 推荐提示:
已保存为本次更新封面
- 如保存失败,继续沿用现有警告弹窗和状态保护。
验收要点
- 在封面画廊中勾选其它 AI 生成图片,点击「保存」后:
- DB 中当前任务
new_cover_path更新为选中图片。 - 弹窗保持打开,不自动退出。
- 保存按钮左侧显示成功提示。
- 当前候选图状态刷新为「当前生效封面」。
- DB 中当前任务
- 点击「关闭」可以关闭弹窗。
- 如果选择了另一张但未保存,切换任务或关闭弹窗仍会触发未保存选择确认。
- 不影响 T-572 的
↑ / ↓记录切换。 - 不影响 T-573 的候选图横向滚动布局。
- 验证命令:
py -3.10 -m unittest tests.test_guipython -m ruff check app tests main.pypy -3.10 -m compileall app main.pypy -3.10 -m unittest discover -s testsgit diff --check
边界(不改什么)
- 不改候选图文件发现规则。
- 不改重新生成封面流程。
- 不改 DB schema,只继续使用现有
update_generated_cover()。 - 不改 AI/cmhub、Excel、③更新蝦皮或 CDP/Shopee 交互。
执行记录
(做完在这里写:改了什么文件、跑了什么验证命令及结果、关键决策。)