Files
cmautobuy/docs/task/87-任务错误提示顶部居中.md
T

56 lines
3.0 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.
# 87 任务错误提示调整为窗口顶部居中
- 类型:需求
- 父级大工单:#1
- 所属 MVP / 版本:#2 Client 可运行任务闭环(MVP)
- 状态:已完成
- 日期:2026-08-10
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/87>
## 背景与目标
采集、采购、重新采集和设备不可用错误原来显示在窗口右上角。即使提示和按钮已经放大,用户仍需要把注意力和鼠标移到窗口边缘。
本任务把这些错误提示调整到软件窗口顶部水平居中,使提示更容易发现和操作,同时避免放在窗口正中央遮挡任务表格。
## 最终方案
- 使用 PyQt-Fluent-Widgets 自带的 `InfoBarPosition.TOP`,让提示相对所属页面顶部水平居中。
- 不手工计算坐标,窗口缩放、贴靠和 DPI 变化时继续由 Fluent 组件负责定位。
- 改变采集/采购错误、重新采集前置校验警告、重新采集后台错误和设备不可用错误的位置;其他普通警告和任务详情提示保持原位置。
- 保留 520×112 最小提示尺寸、120×40 操作按钮、5 秒自动关闭、同类提示替换和底部完整状态文字。
首次实现只移动了重新采集后台错误,遗漏了用户同样视为失败提示的前置校验警告。用户验收发现后,继续在 #87 中把 `_show_rerun_warning()` 调整为顶部居中,并补充独立测试。
## 改了哪些
- `client/src/pdd_ui_event.py`:三类任务错误提示改为顶部居中。
- `client/test/test_pdd_ui_event.py`:验证三类提示使用 `InfoBarPosition.TOP`。
- `docs/client/05-ui-specification.md`:记录窗口顶部居中的交互规则。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| 采集/采购错误提示位于窗口顶部水平居中 | 通过(自动化配置) |
| 重新采集错误提示位于窗口顶部水平居中 | 通过(自动化配置) |
| 重新采集前置校验警告位于窗口顶部水平居中 | 通过(自动化配置) |
| Android 设备不可用提示位于窗口顶部水平居中 | 通过(自动化配置) |
| 不使用窗口正中央的模态提示 | 通过 |
| 大尺寸、明显按钮和 5 秒自动关闭保持不变 | 通过 |
| 同类提示替换及底部完整状态保持不变 | 通过 |
| Client 专项测试和全量回归通过 | 通过 |
## 测试
- 执行的命令:`cd client; C:/Python310/python.exe -m py_compile src/pdd_ui_event.py test/test_pdd_ui_event.py`
- 执行的命令:`cd client; C:/Python310/python.exe -m unittest discover -s test -p "test_pdd_ui_event.py" -v`
- 执行的命令:`cd client; C:/Python310/python.exe -m unittest discover -s test -v`
- 结果:语法检查通过;PDD 页面事件测试 32 项通过;Client 全量 224 项测试通过。
- **没验证到的部分**:未在真实可见窗口中人工检查不同窗口宽度和 100%–200% 显示缩放下的视觉位置;未执行真实采购、下单或付款。
## 相关提交
- `bf816bc` 任务错误提示改为顶部居中
- `977af34` 统一重新执行前置校验警告和后台错误的位置