Files
cmshoppe/docs/tasks/T-653.md
T

75 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: T-653
title: 精简主Tab标题并移除更新蝦皮静态红点
phase: 7
deps: []
status: DONE
created: 2026-07-17
---
## 问题 / 背景
主窗口目前在启动时无条件给「③ 更新蝦皮」设置一个警告色圆点图标。该圆点不关联待更新数量、失败记录、未读消息或运行状态,即使没有任何任务也始终存在,容易被理解为异常或待处理提醒。
另外,主 Tab 当前使用「④ 账号管理」「⑤ 设置」「⑥ 商品套图」标题。产品决定保留①导入采集、②AI生成、③更新蝦皮的流程序号,但将后三个管理/工具型模块改为更简洁的「账号管理」「设置」「商品套图」。标题变更后,现有基于完整标题查找 Tab 的代码、用户可见引导和测试都必须同步,不能留下“请到⑤设置”等无法对应实际 Tab 的文案。
## 方案
### 1. 移除③更新蝦皮的静态圆点
- 删除 `MainWindow` 初始化时对「③ 更新蝦皮」调用 `setTabIcon(..., _warning_dot_icon())` 的静态图标设置;
- 若 `_warning_dot_icon()` 及其相关导入不再有其他调用,清理死代码;若存在其他真实语义调用,不得误删;
- 不新增替代红点、数字 badge、闪烁动画或常驻警告。③的高风险边界继续由「开始更新」确认框、账号预检、按钮语义和运行日志表达;
- 不把 Tab 红点与待更新数量、失败数量或运行状态绑定,本任务只移除误导性的静态标记。
### 2. 精简后三个主Tab标题
将 `TAB_TITLES` 和全部对应 UI 路由调整为:
```text
① 导入采集 │ ② AI生成 │ ③ 更新蝦皮 │ 账号管理 │ 设置 │ 商品套图
```
- 保持 Tab 顺序、索引、模块实例和业务职责不变;①至③仍保留现有序号,④至⑥只移除显示文字前缀;
- 更新通过标题查找的设置页离开保护、Tab 切换逻辑、构建分发、测试断言和 tooltip,不能因文字变化导致切换设置页时报错或跳错模块;
- 所有用户可见的引导、空态、错误提示、确认框、tooltip、状态栏和菜单中,原本指向「④ 账号管理」「⑤ 设置」「⑥ 商品套图」的表述改为「账号管理」「设置」「商品套图」。技术文档可在需要表达工作流顺序时保留阶段编号,但不得与实际 Tab 标题混淆;
- 不修改账号管理、设置、商品套图的内部对象名、类名、数据库字段、配置键、快捷方式、CDP、cmhub 或业务流程。
### 3. 文档与验证
- 更新 `docs/routes.md`、`docs/04-architecture.md`、`docs/api.md` 中主 Tab 标题和用户操作路径;保留流程图中①至③的编号,后三项改为无序号显示;
- 若现有 SVG 效果图含后三个旧 Tab 标题,同步更新对应 `docs/ui/` 文件及 `docs/ui/README.md`;没有受影响效果图则不要无关重画;
- `tests/test_gui.py` / 相关主窗口测试:断言 Tab 文本顺序准确,③ Tab 没有静态图标,设置离开保护、构建分发和状态栏引导仍可用;
- 运行:
```bash
py -3.10 -m unittest tests.test_gui
py -3.10 -m unittest discover -s tests
py -3.10 -m ruff check app tests main.py
py -3.10 -m compileall app main.py
git diff --check
```
## 验收要点
- [x] 软件启动后,「③ 更新蝦皮」Tab 前不再显示静态红/警告色圆点。
- [x] ③没有待更新任务、失败任务或未读提醒时不会出现任何虚假的状态标记。
- [x] 主 Tab 标题依次为「① 导入采集、② AI生成、③ 更新蝦皮、账号管理、设置、商品套图」。
- [x] 进入/离开「设置」时未保存更改确认仍正确工作,账号管理和商品套图均能正常创建和切换。
- [x] 用户可见引导不再要求前往“④账号管理”“⑤设置”或“⑥商品套图”。
- [x] 不影响①采集、②AI生成、③真实更新确认、账号登录、cmhub 设置、套图生成、数据库、Excel、Shopee CDP 或自动升级。
## 边界(不改什么)
- 不移除①、②、③的显示序号,不调整主 Tab 排序或新增/隐藏模块。
- 不实现动态 badge、任务计数、失败计数、未读消息或 Tab 动画。
- 不修改③更新蝦皮的安全确认、账号就绪预检、按钮颜色或线上提交逻辑。
- 不重命名 Python 类、模块、配置键、SQLite 表或历史数据中的技术标识。
## 执行记录
- 2026-07-17:根据主Tab标题精简和更新蝦皮静态红点误导问题创建任务。待实现。
- 2026-07-17:开始实现;先核对主窗口标题路由、静态图标、测试和用户操作文档。
- 2026-07-17:移除 `MainWindow` 对③的静态图标设置和无调用的 `_warning_dot_icon()`;保留通配导入兼容所需的 `QIcon`、`QPixmap`、`QPainter`。`TAB_TITLES`、构建分发、设置离开守卫、账号/设置跳转及所有用户可见引导统一改为无序号的后三个主 Tab 名称;同步更新 API、架构、路由和 SVG 线框。
- 2026-07-17:验证通过:`py -3.10 -m unittest tests.test_gui`(187 项)、`py -3.10 -m unittest discover -s tests`(578 项)、`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`。