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
+1
View File
@@ -18,6 +18,7 @@
| [tab6-suite-package-v1.svg](tab6-suite-package-v1.svg) | 商品套图(T-622 已实现):从「虾皮圈电商图生成器」商品套餐交互迁移并替换主界面 AI工场入口;单一套图类型,多任务标签,商品原图,平台/国家/语言/比例,AI 帮写,白底/场景/卖点及自定义分类,结果历史、重试、删除撤销与生成进度 |
| [tab6-suite-prompt-dialog-T637.svg](tab6-suite-prompt-dialog-T637.svg) | 商品套图(T-637 提案):标题行「AI帮写/取消」紧随 label、最右新增「提示词设置」;提示词设置弹窗——左编辑基础模板(行序对齐调研笔记组装顺序,套图名称+补充描述、插入变量菜单、占位符校验、只读规则占位符内联)、右只读实时最终预览(预览分类下拉)、保存/恢复默认共用原子写盘;第一版不做同类多张序号/差异化 |
| [tab6-suite-gateway-T679b.svg](tab6-suite-gateway-T679b.svg) | 商品套图(T-679b 已实现):自定义网关生成确认展示主图/参考图、近似比例尺寸、服务商费用与主体一致性边界;生成中锁定当前任务输入,停止等待已发出同步请求返回,同时仍可切换其它任务与查看历史/结果 |
| [tab6-suite-recovery-T679c.svg](tab6-suite-recovery-T679c.svg) | 商品套图(T-679c 已实现):结果卡和历史按已保存 job 显示默认网关/自定义网关;默认网关任务可继续查询,直连失败图只能手动重新生成并再次确认可能重复收费 |
| [workbench-redesign-v1.html](workbench-redesign-v1.html) | 工作台视觉提案(HTML 可交互原型):以当前 6 Tab 信息架构为基础,统一「数据准备区→表格命令区→表格→状态反馈区→完成任务区」页面骨架;命令按作用域分区(导入/筛选/选择集/工作流完成),表格补齐当前行、选择集、三态全选与排序契约;范围确认、部分成功、取消中间态和破坏性确认按干扰层级分配到对话框、信息条与 Toast;覆盖浅色/深色/高对比度近似、键盘(Tab/方向键/F6/Ctrl+F/F5)与 Windows 断点。商品状态相关交互已对齐 T-662b/c/d、T-663~T-665、T-667 定稿(无状态列与状态下拉筛选,③无强制更新入口)。颜色 Token 取自 `app/gui/widgets.py`。使用模拟数据,不接生产接口;页脚「原型说明与验收边界」列出假设与不可仅靠 HTML 验收的项。 |
应用图标(非效果图,是随程序发布的资源):`app/assets/cmshopee-logo.svg` 是可编辑母版,`cmshopee.ico`(16–256 共 9 档)用于 exe 图标和 GUI 窗口左上角,`cmshopee-256.png` 为预览与非 Windows 回退。三者由 `py -3.10 scripts/gen_logo.py` 从同一份几何定义生成,改样式请改脚本后重新生成,不要单独手改某一个文件。
+15
View File
@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1120" height="720" viewBox="0 0 1120 720" font-family="'Segoe UI','Microsoft YaHei',sans-serif">
<defs><style>
.window{fill:#f5f7fa;stroke:#cfd6df}.header{fill:#203451}.title{fill:#fff;font-size:16px;font-weight:600}.tab{fill:#eef1f5}.tabText{fill:#556477;font-size:13px}.tabActive{fill:#fff;stroke:#d9e0e8}.tabActiveText{fill:#2167c9;font-size:13px;font-weight:600}.panel{fill:#fff;stroke:#d9e0e8}.h{fill:#1f2937;font-size:15px;font-weight:600}.label{fill:#39475a;font-size:12px}.muted{fill:#6b7788;font-size:11px}.card{fill:#fff;stroke:#cfd8e3}.thumb{fill:#e7eef7;stroke:#b8c8db}.default{fill:#e8f2ff;stroke:#8db8ed}.direct{fill:#fff7e8;stroke:#e5bc73}.badgeText{fill:#31506f;font-size:11px}.danger{fill:#fff1f0;stroke:#e39b94}.dangerText{fill:#a83b33;font-size:12px}.dialog{fill:#fff;stroke:#9caab9}.dialogTitle{fill:#172b4d;font-size:17px;font-weight:600}.dialogText{fill:#34465a;font-size:13px}.notice{fill:#fff7e8;stroke:#e5bc73}.noticeText{fill:#875a16;font-size:12px}.primary{fill:#2468c8}.primaryText{fill:#fff;font-size:13px;font-weight:600}.secondary{fill:#fff;stroke:#aebdcd}.secondaryText{fill:#31506f;font-size:12px}.divider{stroke:#e1e6ec}
</style></defs>
<rect class="window" x=".5" y=".5" width="1119" height="719" rx="8"/><rect class="header" x=".5" y=".5" width="1119" height="44" rx="8"/><rect class="header" x=".5" y="22" width="1119" height="22"/>
<text class="title" x="20" y="28">蝦皮圈優化助手</text><rect class="tab" x=".5" y="44" width="1119" height="40"/><text class="tabText" x="26" y="69">① 导入采集</text><text class="tabText" x="152" y="69">② AI生成</text><text class="tabText" x="257" y="69">③ 更新蝦皮</text><text class="tabText" x="392" y="69">账号管理</text><text class="tabText" x="496" y="69">设置</text><rect class="tabActive" x="580" y="48" width="130" height="36" rx="4"/><text class="tabActiveText" x="603" y="70">商品套图</text>
<rect class="panel" x="18" y="103" width="1084" height="47" rx="5"/><text class="label" x="34" y="132">套图任务 1</text><text class="label" x="655" y="132">账号:主店(papa)</text><text class="label" x="857" y="132">商品ID:51513423876</text>
<rect class="panel" x="18" y="162" width="424" height="534" rx="5"/><text class="h" x="36" y="194">商品原图</text><text class="muted" x="36" y="220">原图、卖点与生成设置保持可查看</text><rect class="thumb" x="36" y="240" width="112" height="90" rx="4"/><rect class="thumb" x="162" y="240" width="112" height="90" rx="4"/><rect class="thumb" x="288" y="240" width="112" height="90" rx="4"/><text class="h" x="36" y="373">生成设置</text><text class="label" x="36" y="403">比例 3:4 逐图主图 未开启</text><rect x="36" y="424" width="365" height="105" rx="4" fill="#f6f8fa" stroke="#d8dee4"/><text class="muted" x="50" y="452">商品卖点与要求已保存</text><text class="muted" x="50" y="474">当前失败图片可单独重新生成</text><text class="h" x="36" y="570">套图结构配置</text><text class="label" x="36" y="598">白底图 1 张 场景图 2 张 卖点图 2 张</text>
<rect class="panel" x="456" y="162" width="646" height="534" rx="5"/><text class="h" x="478" y="194">生成结果</text><text class="muted" x="478" y="219">来源按已保存任务显示,切换设置不会改变历史记录</text>
<rect class="card" x="478" y="244" width="182" height="224" rx="5"/><text class="label" x="491" y="269">白底图</text><rect class="default" x="583" y="252" width="63" height="21" rx="10"/><text class="badgeText" x="591" y="267">默认网关</text><rect class="thumb" x="491" y="285" width="156" height="132" rx="4"/><text class="muted" x="491" y="448">默认网关 · 生成成功</text>
<rect class="card" x="679" y="244" width="182" height="224" rx="5"/><text class="label" x="692" y="269">场景图</text><rect class="direct" x="778" y="252" width="69" height="21" rx="10"/><text class="badgeText" x="785" y="267">自定义网关</text><rect class="danger" x="692" y="285" width="156" height="132" rx="4"/><text class="dangerText" x="734" y="354">生成失败</text><text class="dangerText" x="692" y="448">自定义网关 · 失败</text><rect class="secondary" x="795" y="428" width="53" height="26" rx="3"/><text class="secondaryText" x="806" y="446">重试</text>
<rect class="card" x="880" y="244" width="182" height="224" rx="5"/><text class="label" x="893" y="269">卖点图</text><rect class="default" x="985" y="252" width="63" height="21" rx="10"/><text class="badgeText" x="993" y="267">默认网关</text><rect x="893" y="285" width="156" height="132" rx="4" fill="#f2f4f7" stroke="#d8dee7"/><text class="muted" x="936" y="354">已提交</text><text class="muted" x="893" y="448">默认网关 · 可继续查询</text>
<line class="divider" x1="478" y1="500" x2="1074" y2="500"/><text class="h" x="478" y="532">历史生成</text><text class="label" x="478" y="559">2026-07-20 14:20 店铺:主店 商品ID:51513423876</text><text class="label" x="478" y="583">来源:默认网关、自定义网关</text><text class="muted" x="478" y="609">继续查询只显示默认网关且已有任务编号的图片</text>
<rect x="0" y="0" width="1120" height="720" fill="#16253a" opacity=".28"/><rect class="dialog" x="292" y="194" width="536" height="344" rx="7"/><text class="dialogTitle" x="323" y="232">确认重新生成商品套图</text><line class="divider" x1="292" y1="252" x2="828" y2="252"/><text class="dialogText" x="323" y="286">这张图片上次通过自定义网关生成但未完成。</text><rect class="notice" x="323" y="302" width="474" height="67" rx="4"/><text class="noticeText" x="339" y="330">服务商可能对上次未确认请求已计费,</text><text class="noticeText" x="339" y="351">本次重新生成可能再次收费。</text><text class="dialogText" x="323" y="402">生成来源:自定义网关 图片比例:3:4</text><text class="dialogText" x="323" y="427">本次重新生成:场景图 1 张</text><rect class="secondary" x="614" y="480" width="74" height="31" rx="4"/><text class="secondaryText" x="637" y="501">取消</text><rect class="primary" x="700" y="480" width="97" height="31" rx="4"/><text class="primaryText" x="715" y="501">确认重新生成</text>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB