feat: expand vehicle data platform capabilities
@@ -0,0 +1,45 @@
|
||||
# 历史导出过期重建与批量管理
|
||||
|
||||
## 本轮结果
|
||||
|
||||
本轮沿用车辆数据中台现有 SideSheet、卡片、状态色和确认面板,补齐历史导出任务的恢复与批量管理闭环。没有新增第二套弹窗或视觉语言。
|
||||
|
||||
1. **审计范围(修复前:需改进)**:桌面 1280 × 720、手机 390 × 844 的历史导出任务中心。已完成但没有下载地址的记录会成为无操作死路;多个任务只能逐个取消或重建。
|
||||
2. **用户目标(修复后:健康)**:识别失败、过期、生成中与可下载任务,按原范围重建失效文件,并一次处理多个任务。
|
||||
3. **恢复能力(健康)**:服务端用 `expired` 明确区分文件失效与导出失败,保留原车辆、时间、字段和 owner 审计;重建会重新校验当前权限并创建关联新任务,不覆盖原记录。
|
||||
4. **批量能力(健康)**:批量模式支持选择当前筛选结果、批量取消生成中任务、批量重建失败/过期任务;不符合条件和相同范围已在队列的任务会跳过,逐项结果清晰返回。
|
||||
5. **移动与可访问性(健康,保留限制)**:筛选、批量工具栏、任务列表和固定底栏拆成单一列表滚动;390px 下无横向溢出,批量按钮至少 42px,任务复选目标 40px,动作具备明确可访问名称。
|
||||
|
||||
## 浏览器证据
|
||||
|
||||
| 状态 | 手机 | 桌面 |
|
||||
| --- | --- | --- |
|
||||
| 修复前 | [任务死路与逐个操作](./audit-before/02-export-tasks-mobile.jpg) | [原任务中心](./audit-before/01-export-tasks-desktop.jpg) |
|
||||
| 过期恢复 | [过期状态与原范围重建](./audit-after/01-expired-rebuild-mobile.jpg) | [桌面任务中心](./audit-after/05-expired-rebuild-desktop.jpg) |
|
||||
| 批量选择 | [固定批量工具栏](./audit-after/02-bulk-selection-mobile.jpg) | [桌面批量选择](./audit-after/06-bulk-selection-desktop.jpg) |
|
||||
| 影响确认 | [批量重建确认](./audit-after/03-bulk-confirm-mobile.jpg) | — |
|
||||
| 完成反馈 | [批量重建结果](./audit-after/04-bulk-result-mobile.jpg) | — |
|
||||
|
||||
## 五点忠实度核对
|
||||
|
||||
1. **容器模型**:继续使用桌面右侧任务面板和移动 bottom sheet;标题、摘要、内容、固定底栏顺序不变。
|
||||
2. **信息层级**:常态只增加“批量管理”入口;进入后才显示选择范围、可执行数量与两个批量动作,避免常态过载。
|
||||
3. **状态语义**:蓝色表示生成/重建,绿色表示可下载,橙色表示文件已过期,红色只表示失败或取消风险;全部状态均有文本。
|
||||
4. **响应式行为**:移动端筛选与批量工具保持可见,仅任务列表滚动;固定“刷新任务 / 完成”底栏不被长列表挤出视口。
|
||||
5. **任务连续性**:旧任务不被删除或覆盖;新任务通过 `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` 的既有依赖告警。
|
||||
|
||||
本轮历史导出恢复断点已闭环;平台持续目标仍保持进行中。
|
||||
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 88 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 39 KiB |