docs: 补 T-622 按钮交互清单(逐元素行为,提炼自迁移源 app.js)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
chengma
2026-07-13 15:48:46 +08:00
co-authored by Claude Opus 4.8
parent d42a9c8084
commit 6e485a7d88
+25
View File
@@ -58,6 +58,31 @@ UI 已定稿:`docs/ui/tab6-suite-package-v1.svg`(本仓库家风:`#2b3a55`
- 复用现有 `image_studio_*` 表与目录,不新造并行后端;不引入 QtWebEngine。
- 验证:`py -3.10 -m unittest`(相关模块)、`python -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check` 全绿。
## 按钮交互清单(每个可点元素 → 行为)
> 行为多数可照迁移源 `web/app.js` 现成实现提炼;标「新增」的是 cmshopee 绑定账号+商品ID 后新增的语义,源里没有。
**顶部上下文条**
- `账号` 下拉(新增):切当前套图任务归属账号;账号变了商品原图/结果按新账号+商品ID 归属,需二次确认是否清空当前未生成配置。
- `商品ID` 输入(新增):当前任务的目标商品;失焦校验(非空、数字/合法 itemid),非法则红框提示,不触发拉取。
- `拉取蝦皮主图`(新增):以 `账号+商品ID` 走 CDP 拉线上主图列表→带入「商品原图」(第 1 张为主图);商品ID 为空/非法则禁用;拉取中转圈、失败给中文提示。
- 任务标签 `套图任务 N`:单击切换任务(`switchTask`,拖拽中禁止切换);`×` 关闭(`closeTask`:生成中先 `confirm「任务生成中,关闭会取消该任务」`,确认才取消并关);`+` 新建(`createTask`,继承当前任务配置)。
**左侧配置面板**
- 商品原图:空位/`添加` → `chooseImages` 选图;整区支持拖拽、粘贴上传;缩略图可拖拽排序(第 1 张=主图),悬停 `×` 删除;超 16 张忽略并提示。
- 4 个下拉(平台/国家/语言/比例):`onchange` 存设置;选中值须进生成上下文(见待决 2)。
- `每张上传图分别作为主图生成` 复选框:`onchange` 存 `suite_per_image_primary`,联动合计张数。
- `✧ AI 帮写`(`startAiWrite`):需先有图,否则提示;冻结当前图+配置提交,按钮变「AI 帮写中… + 计时」且旁边出现「取消」(`cancelAiWrite`);完成后若期间用户改过输入框 → `confirm` 是否用结果覆盖,否则直接填入卖点框;每任务独立、不阻塞切换。
- 套图结构 `− / +`:增减该类张数(最小 0),联动「合计 N 张」与生成按钮 `(N)`。
- `+ 添加自定义分类`:行内输入,Enter 提交,校验 `suiteNameError`(非空、无空格、≤10 字、不重名);分类名双击进入改名;行尾 `×` 删除自定义类。
- `▶ 生成套图(N)`(`startGen`):校验(有图、有卖点、合计≥1);预估 >16 张先 `confirm`;提交后进入生成中,**同按钮变「■ 停止生成」(危险色)**;点停止 → `confirm「确认取消当前任务」`,取消未开始项、已发出的返回后丢弃。
**右侧结果区**
- `历史生成`(`setView('history')`):切历史视图,列往期批次+图片,可刷新、打开生成图片根目录、右键单图预览/删除。
- `打开文件夹`(`openPath`):打开当前批次输出目录。
- 结果卡片:单击预览大图;右键菜单 预览 / 复制路径 / 打开文件夹 / 重新生成该图 / 删除;`×` 删除该图(移废纸篓 + 「撤销」toast);失败卡片 `重试`(`retryAsset`,已有生成任务进行中则提示)。
- `⋯` 更多(`moreMenu`):删除全部(`confirmDeleteAll`,二次确认,移废纸篓)。
## 边界(不改什么)
- 不改动 `image_studio.py / image_studio_generation.py / image_studio_export.py` 的后端数据契约与异步生图协议(仅按需扩展字段)。