--- id: T-665 title: 生成范围按钮文案简化 status: DONE phase: 7 deps: [T-663] created: 2026-07-18 --- # T-665 生成范围按钮文案简化 ## 问题 / 背景 ②AI生成的范围确认框已使用 T-663 的稳定纵向布局,但按钮“只生成状态正常的商品”和“生成所有状态的商品”偏长。为与①采集的“架上商品 / 全部商品”范围表达保持一致,运营需要更短、更易扫读的文案,同时必须保留对 AI 点数成本和商品状态范围的明确提示。 ## 方案 - 仅修改②AI生成范围框的两个用户可见按钮文案: - `只生成状态正常的商品` 改为 `生成架上商品`; - `生成所有状态的商品` 改为 `生成全部商品`。 - 在说明文字中补足语义:`生成架上商品` 仅将检测结果为正常的商品交给 AI;`生成全部商品` 会把未上架、审核中和状态未知商品也交给 AI,可能额外消耗点数。 - 保留既有按钮 objectName、默认主操作蓝色、全部范围警示橙色、禁用条件、纵向布局、回车/Esc 行为和稳定返回值 `normal_only/all/None`。 - ①采集范围文案不改;不改变 `build_generation_plan()`、任务指纹、`GenerateWorker`、cmhub 调用、计费、日志或③更新蝦皮逻辑。 ## 验收标准 - [ ] ②弹窗完整显示“生成架上商品”“生成全部商品”“取消”,按钮文案与说明文字一致。 - [ ] 选择“生成架上商品”仍返回 `normal_only`;选择“生成全部商品”仍返回 `all`;无异常候选时“生成全部商品”仍禁用。 - [ ] “生成全部商品”保持警示橙色,说明明确会处理未上架、审核中、状态未知并可能额外消耗点数。 - [ ] ①采集、生成范围计划、Worker 输入、计费、日志、并发和③更新蝦皮不回归。 ## 测试与文档 - 更新 `tests/test_gui.py` 的②范围对话框按钮文案、说明文字、默认项、禁用和两种返回值断言。 - 更新 `docs/routes.md`、`docs/04-architecture.md`、`docs/api.md` 中②生成范围的用户可见文案与语义说明。 ## 验证 ```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 ``` ## 非目标 - 不恢复 `QMessageBox`,不改①采集范围文案。 - 不改变商品状态判定、生成范围策略、数据库、cmhub 请求、计费或③更新蝦皮逻辑。 ## 执行记录 - ②范围选择框默认按钮改为“生成架上商品”,扩展按钮改为“生成全部商品”;保留原有 objectName、颜色、禁用条件、布局、键盘行为与 `normal_only/all/None` 返回值。 - 说明文字明确“架上商品”只将检测结果为正常的商品交给 AI,“全部商品”还会处理未上架、审核中和状态未知商品并可能额外消耗点数;①采集范围文案未改。 - 同步更新 `docs/routes.md`、`docs/04-architecture.md`、`docs/api.md` 和 GUI 断言。 - 验证通过:`py -3.10 -m unittest tests.test_gui`(202 项)、`py -3.10 -m unittest discover -s tests`(617 项)、`py -3.10 -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check`。