Files
2026-07-27 16:46:15 +08:00

36 lines
2.4 KiB
Markdown
Raw Permalink 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.
# 历史数据查询入口审计
审计日期2026-07-23
## 结论
- 原入口只提供车牌/VIN 自由文本框,首次查询依赖用户记忆车辆标识;空状态的“选择车辆并查询”实际没有车辆选择能力。
- 新入口直接查询账号授权车辆,支持车牌/VIN 模糊搜索与最多 5 辆多选;相同 VIN 的多个协议合并为一个候选,数据源与车辆查询共用 `api.vehicles`
- 批量粘贴仍然保留,点选候选会规范化为 VIN避免同一车辆以车牌和 VIN 重复进入查询。
- 修改车辆、时间、数据类型或协议后,下方结果继续保留但明确标记为上次查询结果,并提供“恢复已应用条件”,避免把旧数据误认为新条件的结果。
- 移动端候选列表在筛选面板内独立滚动,固定底栏的“应用并查询”始终可见。
## 证据
1. `01-before-history-start-desktop.png`优化前首次查询状态1440 × 900。
2. `02-before-history-results-desktop.png`优化前已有结果状态1440 × 900。
3. `03-after-history-vehicle-picker-desktop.png`已有结果上展开授权车辆候选1440 × 900。
4. `04-after-history-draft-notice-desktop.png`添加第二辆车后旧结果与未应用条件被明确区分1440 × 900。
5. `05-after-history-picker-mobile.png`移动端候选列表与固定应用按钮390 × 844。
6. `06-after-history-start-picker-desktop.png`优化后首次查询即可选择授权车辆1440 × 900。
7. `07-before-after-history-entry-comparison.jpg`:同视口首次查询状态前后并排比较。
## 验证
- `HistoryPage.test.tsx`42/42。
- Web 正式测试506/506。
- Go API`go test ./...` 全部通过。
- 生产构建:`web_build_gate=ok`,开放平台前端及三个 Go 二进制同时构建通过。
- 真实交互:直接添加第二辆授权车辆后,查询条件提示出现且原 36 条结果保持可辨识;恢复后第二辆车和提示均消失。
## 无障碍边界
- 车辆输入保留显式文本标签,并通过 `aria-expanded``aria-controls``listbox` / `option` 语义暴露候选状态。
- 未应用条件提示使用 `role="status"`,恢复动作是可聚焦按钮;移动端主要操作保持在固定底栏。
- 本轮通过 DOM 无障碍快照、语义角色与可达控件检查;尚未执行独立读屏软件的端到端人工朗读测试。