feat: 完成T-502满9张封面替换

实现 replace_cover 满9张时先校验 old_cover_path 本地备份,备份缺失返回 OLD_COVER_BACKUP_MISSING 且不删除线上图片。

备份存在时点击第一张删除按钮并处理可见确认框,删除后继续上传新封面并拖到第一位;apply_task 会把任务 old_cover_path 传入 replace_cover。

补充 editor 单测覆盖备份缺失阻断、删除确认后上传拖首位、删除按钮缺失和 old_cover_path 传递;同步需求、架构、编码规则、任务看板、API、routes、current-state 与 progress。

已在测试商品 29671243750 上验证 9图删除和满9张替换的不提交流程;未点击更新保存线上。
This commit is contained in:
chengma
2026-06-29 09:49:53 +08:00
parent b05a856796
commit 82d390c25a
10 changed files with 345 additions and 24 deletions
+2 -1
View File
@@ -54,6 +54,7 @@
- [ ] `python -m compileall app main.py` 通过(T-000 前仅文档改动不要求)。
- [ ] T-006 完成后,纯逻辑改动有对应 `unittest`,至少覆盖正常路径和一个失败路径。
- [ ] 涉及 CDP 的改动,在测试商品(ITEM_ID 51100639510)上实跑验证。
- [ ] 涉及满 9 张封面删除时,必须先验证该任务 `old_cover_path` 本地备份存在;备份缺失不得删除线上图片。
- [ ] 涉及 DB 的改动,覆盖 schema 初始化、重复初始化、短事务写入、失败状态写入。
- [ ] 涉及 Excel 的改动,覆盖 source_file_abs/source_sheet/source_row 回写定位。
- [ ] 对得上需求验收标准(如标题 `value`+`modelvalue` 双等于、封面在第一位)。
@@ -87,7 +88,7 @@ python prototypes/demo.py # 单账号闭环验证(不提交)
- 登录凭证只存在于各账号 user-data-dir;不导出、不外传、不写入配置或日志。
- 涉及 Shopee 时,遵守 `04-architecture.md` 写明的页面规则与限流边界;不高频批量、不绕风控/验证码。
- 高风险动作(删满 9 张的封面、点击更新)必须有显式确认,并先在测试商品验证。
- 高风险动作(删满 9 张的封面、点击更新)必须有显式确认,并先在测试商品验证;删满 9 张封面前还必须有本地旧封面备份,缺失备份时拒绝删除。
- V1 无常驻提交开关;③ 的批量确认弹窗是提交线上前的确认边界。dry-run 属 V2。
## 9. 拿不准就问