feat: expand vehicle data platform capabilities
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 45 KiB |
@@ -0,0 +1,76 @@
|
||||
# 历史任务取消与自动化复制连续性
|
||||
|
||||
## 目标与结论
|
||||
|
||||
本轮沿用车辆数据中台现有的白色工作区、蓝色主操作、SideSheet / Dialog 和移动端 bottom sheet 体系,没有引入新的视觉语言。核心结果是:历史大任务不再只能等待,值守人员可以安全取消并释放单并发执行位;自动化不再需要重复录入相似规则,可以从既有规则创建默认停用的副本,并在发布前看到版本来源与实质差异。
|
||||
|
||||
整体健康度:**通过**。桌面 1440 × 900 与移动端 390 × 844 均完成真实交互验收,取消和复制请求都在本地真实页面中执行成功。
|
||||
|
||||
## 当前流程审计
|
||||
|
||||
审计前证据位于 [`audit-before/`](./audit-before/):
|
||||
|
||||
- 历史任务只有进度、下载和失败重试,排队/执行中任务没有终止入口。
|
||||
- 自动化详情只有启停与编辑,相似规则必须重新录入。
|
||||
- 发布页只有样例测试,没有线上版本对比、变更数或副本安全状态。
|
||||
|
||||
## 实现结果
|
||||
|
||||
### 历史导出
|
||||
|
||||
- 排队中和执行中的任务提供明确“取消”操作,先展示任务、已处理行数、不生成文件、释放执行位等影响。
|
||||
- API 新增 `POST /api/v2/exports/{id}/cancel`;仅任务 owner 或管理员可取消,重复取消幂等。
|
||||
- 取消后保留原范围、处理进度、取消人、取消时间和审计证据,不生成下载地址,也不会被后台进度更新重新改写。
|
||||
- 排队任务取消后不会启动;执行中任务会停止后续批次并清理临时文件。
|
||||
- 任务筛选支持 `cancelled`,桌面和移动端都能清楚区分“已取消”和“失败”。
|
||||
|
||||
### 事件自动化
|
||||
|
||||
- 桌面详情和移动端规则卡片都提供复制入口;移动端复制按钮为 42 × 42px,并有完整可访问名称。
|
||||
- 副本继承事件、范围、动作、恢复和冷却配置,自动加“(副本)”,版本从 0 创建,默认停用且不改变源规则。
|
||||
- 发布页显示源规则版本、发布后版本、实质变更数,以及旧值 → 新值;线上配置未变化时不允许发布空版本。
|
||||
- 移动端发布页改为单一连续滚动流,配置摘要、样例测试和执行跟踪都能到达,底部操作固定。
|
||||
- 复制按钮的屏幕阅读器名称从图标混入的“copy 复制自动化”收敛为稳定的“复制自动化”。
|
||||
|
||||
## 真实工作流与健康度
|
||||
|
||||
1. **查看活动导出任务 — 通过**:入口与原 SideSheet 信息结构一致,新增取消按钮没有挤压任务名称、进度和下载操作。
|
||||
2. **确认取消影响 — 通过**:二次确认同时回答“取消谁、停止什么、队列如何变化、审计是否保留”。
|
||||
3. **完成取消并追溯 — 通过**:任务原位变成“已取消”,处理进度与取消人继续可见,下载入口消失。
|
||||
4. **从现有自动化创建副本 — 通过**:桌面和移动端均可直接复制;源 v7 规则保持启用,新副本保持停用。
|
||||
5. **审阅、测试并创建 — 通过**:发布影响先展示,样例测试成功后才启用“创建副本”;真实创建后列表由 2 条变为 3 条。
|
||||
|
||||
## 截图证据
|
||||
|
||||
| 状态 | 桌面 | 移动端 |
|
||||
| --- | --- | --- |
|
||||
| 历史取消入口 / 结果 | [取消入口](./01-history-cancel-entry-desktop.jpg)、[影响确认](./02-history-cancel-confirm-desktop.jpg) | [已取消状态](./03-history-cancelled-mobile.jpg) |
|
||||
| 自动化复制入口 | [详情入口](./04-automation-copy-entry-desktop.jpg) | [卡片入口](./06-automation-copy-entry-mobile.jpg) |
|
||||
| 发布差异与样例测试 | [桌面发布审阅](./05-automation-copy-review-desktop.jpg) | [移动端发布审阅](./07-automation-copy-review-mobile.jpg) |
|
||||
|
||||
## 视觉一致性记录
|
||||
|
||||
对照已接受的审计前截图和本轮实现截图逐项检查:
|
||||
|
||||
1. **布局**:保留历史右侧 SideSheet 与自动化“列表 + 详情”骨架;新增信息只进入已有动作区和近全屏编辑器。
|
||||
2. **组件**:继续使用现有 Button、Tag、Switch、Dialog、SideSheet、Card 与确认摘要组件。
|
||||
3. **视觉**:蓝色代表主要操作,绿色代表成功/启用,暖红代表取消风险,灰色代表已取消终态。
|
||||
4. **密度**:桌面发布页一屏展示步骤、发布影响、摘要与测试;移动端采用一个内容滚动区和固定底部操作,不产生嵌套页面滚动。
|
||||
5. **响应式**:1440 × 900 保留完整详情,390 × 844 将复制动作收敛为带可访问名称的 42px 图标按钮。
|
||||
|
||||
首屏文案变化仅限任务动作:历史任务新增“取消 / 已取消”,自动化新增“复制自动化 / 发布影响 / 副本将保持停用”。全局标题、导航、模块说明和原有查询文案均未改写。
|
||||
|
||||
## 无障碍与限制
|
||||
|
||||
- 新增取消、复制、关闭、测试和发布动作均具备可访问名称;危险操作有独立确认对话框。
|
||||
- 移动端新增操作满足至少 42px 触控目标;固定底部主操作避免长内容后难以提交。
|
||||
- 当前截图未发现明显截断、横向溢出或不可见主要操作。
|
||||
- 自动化测试和浏览器 DOM 验收覆盖角色、名称与状态,但截图无法证明所有颜色均达到 WCAG 对比度,也不能替代完整的键盘遍历、焦点顺序和真实读屏器人工测试。
|
||||
|
||||
## 验证
|
||||
|
||||
- 前端定向回归:`HistoryPage` + `AlertsPage`,70 / 70 通过。
|
||||
- 前端全量回归:75 个文件,452 / 452 通过。
|
||||
- API 全量回归:`go test ./...` 通过;包含 owner 范围、幂等取消、排队任务不启动、下载禁止、审计与重启持久化。
|
||||
- 生产构建:TypeScript、Vite、发布资产校验全部通过,`web_build_gate=ok`。
|
||||
|
||||
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 62 KiB |