48 lines
2.8 KiB
Markdown
48 lines
2.8 KiB
Markdown
# 历史多车长时间窗审计
|
||
|
||
## 结果
|
||
|
||
本轮把多车长时间窗从“提交后才知道系统怎么查”改成提交前可预期、提交后可核验的查询流程:
|
||
|
||
- 新增近 7 天、近 30 天快捷范围;桌面保持单行,移动端改为 3 × 2 网格,不需要横向滚动寻找选项。
|
||
- 5 辆 × 30 天会在提交前明确显示 30 天、6 小时/桶、桌面 50 条/页或移动端 20 条/页、后台 CSV,以及逐车预计趋势桶上限。
|
||
- 折叠筛选后仍保留当前查询执行策略;趋势结果继续显示真实 `6 小时粒度 · 54 原始点`,便于核对计划和执行是否一致。
|
||
- 明细、趋势和导出统一采用最长 31 天边界;超过范围在前端阻止提交,API 返回 `HISTORY_TIME_RANGE_TOO_LARGE`。
|
||
- 后端多车明细与趋势改为并行查询,并按用户输入车辆顺序合并回执,缩短等待时间且不破坏核对顺序。
|
||
|
||
## 验证步骤
|
||
|
||
1. **Healthy — 桌面预判与执行一致**
|
||
- 1440 × 980:5 辆、30 天、位置数据。
|
||
- 六个快捷范围完整可见;查询计划显示 6 小时/桶和后台 CSV。
|
||
- 折叠条件并展开趋势后,真实结果显示 `6 小时粒度 · 54 原始点`。
|
||
|
||
2. **Healthy — 移动端无需横向找快捷项**
|
||
- 390 × 844:六个快捷范围以 3 × 2 网格一次呈现。
|
||
- 应用后策略栏仍固定呈现时间跨度、趋势粒度、分页和导出方式。
|
||
|
||
3. **Healthy — 大范围保护一致**
|
||
- 精确 31 天的明细与趋势请求成功。
|
||
- 32/33 天在前端显示阻断说明,API 返回 400 和稳定错误码。
|
||
|
||
4. **Healthy with known vendor warning — 自动化回归**
|
||
- Web:78 个测试文件、502 项测试通过。
|
||
- Go:`go test ./...` 通过。
|
||
- Web、Open Portal 与 Go 二进制生产构建通过。
|
||
- 页面控制台未发现本功能运行时异常;仍存在 Semi UI 在 React StrictMode 下的 `findDOMNode` 依赖警告。
|
||
|
||
## 证据
|
||
|
||
- `before-desktop.png`:桌面改造前,长窗执行规则不可见。
|
||
- `after-desktop.png`:桌面改造后,快捷范围和执行计划前置。
|
||
- `after-desktop-trend.png`:折叠筛选后的当前策略与真实 6 小时趋势。
|
||
- `before-mobile.png`:移动端改造前。
|
||
- `after-mobile.png`:移动端 3 × 2 快捷范围及查询计划。
|
||
- `after-mobile-applied.png`:移动端应用后的持续策略提示。
|
||
- `after-mobile-limit.png`:33 天范围的阻断状态。
|
||
- `comparison-desktop.png`:桌面前后对照。
|
||
|
||
## 无障碍边界
|
||
|
||
已通过语义快照确认快捷范围为命名分组、按钮保留 `aria-pressed`,当前执行策略使用可命名 region,应用后的策略通过 live region 更新。尚未完成真实屏幕阅读器语音输出、整页仅键盘手工巡检和专业对比度仪器复测;这些仍属于发布前人工验收边界。
|