feat: add semantic risk indicators

This commit is contained in:
chengma
2026-07-02 09:06:52 +08:00
parent ba6f3e4af4
commit 9bad70f425
6 changed files with 65 additions and 16 deletions
+1 -1
View File
@@ -96,7 +96,7 @@
| T-510 | ③ 检查本轮更新文案统一 | T-506, T-508 | 将用户可见「预览本轮更新」统一改为「检查本轮更新」,按钮、确认框、状态栏、完成弹窗、运行日志和文档一致;保留内部 `dry_run` 字段与执行语义,不改 Shopee/CDP 更新流程 | DONE |
| T-511 | 语义色板 + ①②③任务状态列上色 | T-202, T-303, T-401 | 依据 `docs/ui-color-design.md`。在 `app/gui.py` 顶部定义统一语义色板常量(success `#1a7f37`/danger `#cf222e`/info `#0969da`/pending `#9a6700`/muted `#6e7781`/warning `#bc4c00`),全局引用不散落硬编码。①②③ 三个 TableModel 在 `Qt.ForegroundRole` 按内部 `stage/status` 返回 `QColor`,不要按中文显示文案硬匹配:完成态=success、失败=danger、略过/取消=muted、待处理=pending、进行中=info;不给普通行刷底色(失败行浅底 `#ffebe9` 可选、仅此一种)。保持文字+颜色双编码,不只靠颜色。跑 `test_gui.py` 无回归 | DONE |
| T-512 | ③高风险按钮上色 + ①导入校验数字标红 | T-511, T-508, T-202b | ③「开始更新」(写线上)改用 warning `#bc4c00` 系强调(描边或填充;第一版不强制图标,避免 Windows/Qt 字体渲染不稳),与②安全流程 info 蓝主操作区分;「停止」保持中性。①导入汇总栏:未匹配数 >0 时用 danger 且保持现有按钮可点击筛出,=0 保持中性;无效行数 >0 时只标红提示,不承诺在任务表筛出,因为脏行未入库,后续若要点击查看需另做「导入错误明细」。颜色取自 T-511 色板常量 | DONE |
| T-513 | 登录点 / ③Tab危险标识 / 破坏性按钮上色 | T-511, T-105, T-206 | ④登录状态 `●` 已登录=success、未登录/未检测=danger 或 muted(保留文字);③ 更新shopee Tab 若做危险标识,不依赖 QSS 硬选第 3 个 Tab,优先用 `QTabWidget.setTabIcon(2, ...)` 设置克制 warning 小圆点图标,或第一版先跳过 Tab 标识;不整条刷红。破坏性按钮「删除批次」「删除账号」文字/描边用 danger,与普通灰按钮区分(二次确认弹窗仍是主防线)。颜色取自 T-511 色板常量 | TODO |
| T-513 | 登录点 / ③Tab危险标识 / 破坏性按钮上色 | T-511, T-105, T-206 | ④登录状态 `●` 已登录=success、未登录/未检测=danger 或 muted(保留文字);③ 更新shopee Tab 若做危险标识,不依赖 QSS 硬选第 3 个 Tab,优先用 `QTabWidget.setTabIcon(2, ...)` 设置克制 warning 小圆点图标,或第一版先跳过 Tab 标识;不整条刷红。破坏性按钮「删除批次」「删除账号」文字/描边用 danger,与普通灰按钮区分(二次确认弹窗仍是主防线)。颜色取自 T-511 色板常量 | DONE |
| T-514 | ①②③ 首次空状态引导卡片 | T-205 | 依据 `docs/ux-review.md` P1。①②③ 在「无账号/未登录」时用显式空状态引导卡片替代灰按钮,例如「第一步:前往『④账号管理』配置并登录账号 →」并带跳转按钮;账号就绪后卡片消失,老用户无感。仅 UI 引导,不改采集/生成/更新流程与既有预检拦截逻辑 | TODO |
| T-515 | 批次阶段进度总览 | T-206, T-401 | 依据 `docs/ux-review.md` P1。加轻量批次进度总览:按选中批次聚合各阶段计数(导入/已采集/已生成/已更新/失败/略过),落点可选①顶部进度条或独立概览区。数据由现有 `db.list_tasks(batch_id=...)` 按 `stage/status` 聚合,不新增表;已软删除批次不计入 | TODO |
| T-516 | ①筛选对齐②③ | T-202, T-303b | 依据 `docs/ux-review.md` P2。① 导入采集补齐与②③一致的店铺/商品ID/状态筛选(至少店铺),保持三个列表页筛选心智一致;不改导入汇总栏与未匹配筛出逻辑,只扩展筛选维度 | TODO |
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -59,15 +59,15 @@
### 4)登录状态点(④账号管理)
- `● 已登录` = success `#1a7f37`;`● 未登录 / 未检测` = muted `#6e7781` 或 danger(未登录用 danger 更醒目)。文字保留,圆点只是加速扫读。
- `● 已登录` = success `#1a7f37`;`● 未登录 / 检测失败` = danger `#cf222e`;`● 未检测 / 已启动 / 检测中` = muted `#6e7781` 或 info `#0969da`。落地时优先在④账号表登录状态单元格显示 `● 状态文本`,并通过 `QTableWidgetItem.setForeground(QColor(...))` 上色,保留文字,不只靠颜色。
### 5)③ Tab 危险区标识(克制)
- 给 ③ 更新shopee 加一个**克制**的暖色标识时,不依赖 QSS 硬选第 3 个 Tab。普通 `QTabBar` stylesheet 没有稳定的 nth-tab 选择器;优先用 `QTabWidget.setTabIcon(2, ...)` 设置 warning 小圆点图标,或第一版先跳过 Tab 标识。目的:让用户始终知道自己在"碰线上"的那个 Tab。切忌整条 Tab 刷红。
- 给 ③ 更新shopee 加一个**克制**的暖色标识时,不依赖 QSS 硬选第 3 个 Tab。普通 `QTabBar` stylesheet 没有稳定的 nth-tab 选择器;本轮 T-513 采用 `QTabWidget.setTabIcon(2, ...)` 设置 10-12px warning 小圆点图标,Tab 文案仍保持 `③ 更新shopee`,不改文字色、不整条刷红。目的:让用户始终知道自己在"碰线上"的那个 Tab。
### 6)破坏性按钮(低优先)
- `删除批次`(①)、`删除账号`(④)等不可逆动作:按钮文字或描边用 danger `#cf222e`,与普通灰按钮区分。二次确认弹窗仍是主防线,颜色只是二级提示。
- `删除批次`(①)、`删除账号`(④)等不可逆动作:按钮文字和描边用 danger `#cf222e`,与普通灰按钮区分;保持原有启用/禁用和二次确认逻辑不变。二次确认弹窗仍是主防线,颜色只是二级提示。
## 实现映射(PySide6,落地时参考)