docs: record T-532 cmhub prompt guidance

This commit is contained in:
chengma
2026-07-06 15:12:38 +08:00
parent 0dad4151ef
commit a4e951961e
7 changed files with 41 additions and 2 deletions
+18
View File
@@ -69,11 +69,28 @@
- `删除批次`(①)、`删除账号`(④)等不可逆动作:按钮文字和描边用 danger `#cf222e`,与普通灰按钮区分;保持原有启用/禁用和二次确认逻辑不变。二次确认弹窗仍是主防线,颜色只是二级提示。
### 7)状态栏全局提示色(建议,未落地)
左下角状态栏是低打扰反馈,不应做成醒目的大色块。建议只改变状态栏文字颜色,并在每次显示普通提示时重置样式,避免上一条红色/绿色残留到下一条普通消息。
| 提示类型 | 语义色 | 示例 |
| --- | --- | --- |
| 普通/就绪 | muted `#6e7781` 或系统默认 | `就绪`、`当前:② AI生成` |
| 信息/进行中 | info `#0969da` | `正在生成标题 3/10`、`检测登录中` |
| 成功 | success `#1a7f37` | `设置已保存`、`AI 生成完成`、`已回写 Excel` |
| 警告/需用户处理 | warning `#bc4c00` 或 pending `#9a6700` | `当前筛选结果没有待生成任务`、`请先到①完成旧数据采集`、`请先配置 cmhub` |
| 错误/阻断 | danger `#cf222e` | `更新失败`、`账号未登录`、`点数不足` |
- 状态栏只做辅助反馈,不能替代弹窗、空状态、运行日志和按钮禁用等主反馈。
- 高频进度信息用 info;不会继续执行、但用户可通过配置/选择修复的问题用 warning;已经失败或阻断当前动作的问题用 danger。
- 不建议给所有状态栏消息都上强颜色;普通导航、就绪、筛选数量等信息保持 muted 或默认色,避免长期使用时视觉疲劳。
## 实现映射(PySide6,落地时参考)
- **状态色**:在各 TableModel 的 `data()` 里响应 `Qt.ForegroundRole`(必要时 `Qt.BackgroundRole`)按内部 `stage/status` 返回 `QColor`;不要按中文显示文案硬匹配,不要在 QSS 里做,表格单元格上色走 model role 最稳。
- **按钮/汇总数字**:用 `objectName` + 集中 QSS。建议把语义色板定义为 `app/gui.py` 顶部的一组常量(如 `COLOR_SUCCESS = "#1a7f37"`),QSS 与 `QColor` 都引用同一常量,杜绝散落硬编码。③ Tab 单独标识如需落地,用 `setTabIcon(2, ...)`,不要试图用 QSS nth 选择器。
- **登录点**:文字前缀 `●` 用 `QColor`,或状态列走 ForegroundRole。
- **状态栏**:建议在 `MainWindow` 增加统一入口(如 `show_status(message, level="info")`),内部映射 level 到色板并调用 `statusBar().showMessage(message)`;现有 `self.statusBar().showMessage(...)` 后续逐步替换为该入口。第一版如需兼容旧调用,可用轻量关键词兜底分类(失败/错误/异常/点数不足/未登录→danger,完成/成功/已保存/已回写→success,没有/请先/未配置→warning,正在/开始/进度/检测中→info),但新增代码应优先显式传 `level`,不要长期依赖中文字符串匹配。
- **复用**:所有红/绿/蓝/琥珀只从色板常量取值,新增组件一律引用,不新造颜色。
## 非目标(明确不做)
@@ -88,5 +105,6 @@
1. 状态列上色(映射 1)——收益最高、风险最低,建议先做。
2. ③ 高风险按钮 + 校验数字标红(映射 2、3)——直接服务防误操作与导入纠错;无效行第一版只标红,不做筛表。
3. 登录点、③ Tab 标识、破坏性按钮(映射 4、5、6)——体验打磨。
4. 状态栏提示色(映射 7)——低风险体验增强,适合在现有语义色稳定后作为小任务落地。
> 每步落任务时补现状/方案/验收,并跑 `python -m unittest discover -s tests`(GUI 逻辑测试)确认无回归。