历史导出过期重建与批量管理
本轮结果
本轮沿用车辆数据中台现有 SideSheet、卡片、状态色和确认面板,补齐历史导出任务的恢复与批量管理闭环。没有新增第二套弹窗或视觉语言。
- 审计范围(修复前:需改进):桌面 1280 × 720、手机 390 × 844 的历史导出任务中心。已完成但没有下载地址的记录会成为无操作死路;多个任务只能逐个取消或重建。
- 用户目标(修复后:健康):识别失败、过期、生成中与可下载任务,按原范围重建失效文件,并一次处理多个任务。
- 恢复能力(健康):服务端用
expired明确区分文件失效与导出失败,保留原车辆、时间、字段和 owner 审计;重建会重新校验当前权限并创建关联新任务,不覆盖原记录。 - 批量能力(健康):批量模式支持选择当前筛选结果、批量取消生成中任务、批量重建失败/过期任务;不符合条件和相同范围已在队列的任务会跳过,逐项结果清晰返回。
- 移动与可访问性(健康,保留限制):筛选、批量工具栏、任务列表和固定底栏拆成单一列表滚动;390px 下无横向溢出,批量按钮至少 42px,任务复选目标 40px,动作具备明确可访问名称。
浏览器证据
| 状态 | 手机 | 桌面 |
|---|---|---|
| 修复前 | 任务死路与逐个操作 | 原任务中心 |
| 过期恢复 | 过期状态与原范围重建 | 桌面任务中心 |
| 批量选择 | 固定批量工具栏 | 桌面批量选择 |
| 影响确认 | 批量重建确认 | — |
| 完成反馈 | 批量重建结果 | — |
五点忠实度核对
- 容器模型:继续使用桌面右侧任务面板和移动 bottom sheet;标题、摘要、内容、固定底栏顺序不变。
- 信息层级:常态只增加“批量管理”入口;进入后才显示选择范围、可执行数量与两个批量动作,避免常态过载。
- 状态语义:蓝色表示生成/重建,绿色表示可下载,橙色表示文件已过期,红色只表示失败或取消风险;全部状态均有文本。
- 响应式行为:移动端筛选与批量工具保持可见,仅任务列表滚动;固定“刷新任务 / 完成”底栏不被长列表挤出视口。
- 任务连续性:旧任务不被删除或覆盖;新任务通过
rebuiltFrom关联来源,批量局部失败不会阻断其余任务。
首屏文案差异
- 页面标题、导航、历史查询首屏说明均未改写。
- 任务中心把“失败任务”调整为“失败或过期”,并新增“失败与过期任务可按原范围重建”“批量管理”,属于任务状态与操作说明。
- 过期卡片从无操作的“已完成”改为“已过期 / 文件已失效 / 按原范围重建”,明确下一步。
验证结果与限制
- API 全量 Go 测试通过;新增过期识别、下载拒绝、关联重建、批量局部成功和重复范围保护。
- 正式前端套件:75 个测试文件、457 / 457 项通过;生产构建和发布资产门禁通过。
- 浏览器实测:390 × 844 与 1440 × 900 无横向溢出;移动批量按钮 42px、复选目标 40px、固定底栏完整可达。
- 仅完成基于 DOM 语义、键盘可操作结构、尺寸与响应式重排的无障碍检查;尚未使用 NVDA、JAWS 或 VoiceOver 做完整读屏回归,因此不宣称完整 WCAG 合规。
- 保留 Semi UI
findDOMNode、React Router future flag 与 Sass@import的既有依赖告警。
本轮历史导出恢复断点已闭环;平台持续目标仍保持进行中。