Files
lingniu-vehicle-ingest/vehicle-data-platform/docs/design/history-task-lifecycle-audit-20260723

历史导出任务生命周期与审计检索

本轮结果

历史导出任务从“所有完成记录持续堆在当前队列”重构为可逆的双区生命周期:

  • “当前任务”只承载仍需关注或近期使用的工作记录;“审计归档”保存长期证据。
  • 完成、失败、取消和过期任务可单条或批量归档;生成中任务不可归档,避免丢失运行关注点。
  • 归档不删除任务、文件、原查询范围、执行结果或重建关系,并记录归档操作者与时间。
  • 已归档任务可单条或批量移回当前任务;整理失败时保留原记录并显示可读错误。
  • 搜索扩展到任务 ID、名称、车辆、创建人、查询时间、创建/完成/归档时间、归档人和审计证据。
  • 当前/归档范围、搜索、状态、分页和每页数量都写入 URL可刷新、分享和前进/后退恢复。

关键旅程健康度

  1. 区分当前工作与长期记录 — 健康:真实页面将 27 个当前任务中的 3 个批量归档,当前计数即时变为 24归档计数变为 3。
  2. 安全整理任务 — 健康:批量确认明确“只改变任务所在视图”,逐项执行且不覆盖原任务;活动任务由前后端共同拒绝归档。
  3. 恢复误归档记录 — 健康:归档卡片保留“移回”入口,批量模式支持一次恢复多条记录。
  4. 检索审计证据 — 健康:真实浏览器用归档人 local-developer 命中 3 条归档记录URL 同步保留查询条件。
  5. 移动端处理 — 健康390 × 844 下范围切换、搜索、状态、批量入口、下载/移回、分页和固定底栏均保持可操作。

实页证据

桌面前后对照:

历史任务生命周期前后对照

桌面当前任务:

桌面当前任务

桌面审计归档:

桌面审计归档

移动端审计检索:

移动端审计归档

基线截图保留为 before-desktop.pngbefore-mobile.png

验证记录

  • 真实本地 API完成批量归档 3 条、当前/归档切换、归档人检索、恢复入口与 URL 状态检查。
  • 桌面视口1440 × 980移动视口390 × 844。
  • 前端全量回归78 个文件、500 个测试全部通过。
  • API 全量回归:go test ./... 全部通过。
  • 生产构建TypeScript、Vite、开放门户和 Go 二进制全部通过;构建门禁 web_build_gate=ok

无障碍边界

  • 范围切换使用命名 tablist搜索、状态、批量工具栏、选择框、归档/恢复按钮和确认弹窗均有可访问名称。
  • 任务计数、批量结果和失败反馈使用状态或警报语义;移动端主操作保持固定,关键触控目标不依赖悬停。
  • 本轮验证了 DOM 语义、键盘可达入口、响应式布局和焦点可见状态,但未进行 VoiceOver、TalkBack、NVDA 或高对比度模式的人工专项验收。

已知非阻断差异

  • 归档是可逆整理而不是永久删除;后续若引入删除,需要独立的数据保留策略、权限和审计批准,不能复用本轮动作。
  • 多车长时间窗的趋势压缩和生产级长期归档规模仍在下一轮审计队列。
  • Semi UI 在测试环境仍输出既有 findDOMNode 弃用警告Sass 构建仍提示第三方主题使用已弃用的 @import