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

75 lines
5.2 KiB
Markdown
Raw Normal View History

---
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`。