Files
lingniu-vehicle-ingest/vehicle-data-platform/docs/design/history-long-window-audit-20260723

历史多车长时间窗审计

结果

本轮把多车长时间窗从“提交后才知道系统怎么查”改成提交前可预期、提交后可核验的查询流程:

  • 新增近 7 天、近 30 天快捷范围;桌面保持单行,移动端改为 3 × 2 网格,不需要横向滚动寻找选项。
  • 5 辆 × 30 天会在提交前明确显示 30 天、6 小时/桶、桌面 50 条/页或移动端 20 条/页、后台 CSV以及逐车预计趋势桶上限。
  • 折叠筛选后仍保留当前查询执行策略;趋势结果继续显示真实 6 小时粒度 · 54 原始点,便于核对计划和执行是否一致。
  • 明细、趋势和导出统一采用最长 31 天边界超过范围在前端阻止提交API 返回 HISTORY_TIME_RANGE_TOO_LARGE
  • 后端多车明细与趋势改为并行查询,并按用户输入车辆顺序合并回执,缩短等待时间且不破坏核对顺序。

验证步骤

  1. Healthy — 桌面预判与执行一致

    • 1440 × 9805 辆、30 天、位置数据。
    • 六个快捷范围完整可见;查询计划显示 6 小时/桶和后台 CSV。
    • 折叠条件并展开趋势后,真实结果显示 6 小时粒度 · 54 原始点
  2. Healthy — 移动端无需横向找快捷项

    • 390 × 844六个快捷范围以 3 × 2 网格一次呈现。
    • 应用后策略栏仍固定呈现时间跨度、趋势粒度、分页和导出方式。
  3. Healthy — 大范围保护一致

    • 精确 31 天的明细与趋势请求成功。
    • 32/33 天在前端显示阻断说明API 返回 400 和稳定错误码。
  4. Healthy with known vendor warning — 自动化回归

    • Web78 个测试文件、502 项测试通过。
    • Gogo 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.png33 天范围的阻断状态。
  • comparison-desktop.png:桌面前后对照。

无障碍边界

已通过语义快照确认快捷范围为命名分组、按钮保留 aria-pressed,当前执行策略使用可命名 region应用后的策略通过 live region 更新。尚未完成真实屏幕阅读器语音输出、整页仅键盘手工巡检和专业对比度仪器复测;这些仍属于发布前人工验收边界。