Files
2026-07-27 16:46:15 +08:00

5.6 KiB
Raw Blame History

历史任务取消与自动化复制连续性

目标与结论

本轮沿用车辆数据中台现有的白色工作区、蓝色主操作、SideSheet / Dialog 和移动端 bottom sheet 体系,没有引入新的视觉语言。核心结果是:历史大任务不再只能等待,值守人员可以安全取消并释放单并发执行位;自动化不再需要重复录入相似规则,可以从既有规则创建默认停用的副本,并在发布前看到版本来源与实质差异。

整体健康度:通过。桌面 1440 × 900 与移动端 390 × 844 均完成真实交互验收,取消和复制请求都在本地真实页面中执行成功。

当前流程审计

审计前证据位于 audit-before/

  • 历史任务只有进度、下载和失败重试,排队/执行中任务没有终止入口。
  • 自动化详情只有启停与编辑,相似规则必须重新录入。
  • 发布页只有样例测试,没有线上版本对比、变更数或副本安全状态。

实现结果

历史导出

  • 排队中和执行中的任务提供明确“取消”操作,先展示任务、已处理行数、不生成文件、释放执行位等影响。
  • API 新增 POST /api/v2/exports/{id}/cancel;仅任务 owner 或管理员可取消,重复取消幂等。
  • 取消后保留原范围、处理进度、取消人、取消时间和审计证据,不生成下载地址,也不会被后台进度更新重新改写。
  • 排队任务取消后不会启动;执行中任务会停止后续批次并清理临时文件。
  • 任务筛选支持 cancelled,桌面和移动端都能清楚区分“已取消”和“失败”。

事件自动化

  • 桌面详情和移动端规则卡片都提供复制入口;移动端复制按钮为 42 × 42px并有完整可访问名称。
  • 副本继承事件、范围、动作、恢复和冷却配置,自动加“(副本)”,版本从 0 创建,默认停用且不改变源规则。
  • 发布页显示源规则版本、发布后版本、实质变更数,以及旧值 → 新值;线上配置未变化时不允许发布空版本。
  • 移动端发布页改为单一连续滚动流,配置摘要、样例测试和执行跟踪都能到达,底部操作固定。
  • 复制按钮的屏幕阅读器名称从图标混入的“copy 复制自动化”收敛为稳定的“复制自动化”。

真实工作流与健康度

  1. 查看活动导出任务 — 通过:入口与原 SideSheet 信息结构一致,新增取消按钮没有挤压任务名称、进度和下载操作。
  2. 确认取消影响 — 通过:二次确认同时回答“取消谁、停止什么、队列如何变化、审计是否保留”。
  3. 完成取消并追溯 — 通过:任务原位变成“已取消”,处理进度与取消人继续可见,下载入口消失。
  4. 从现有自动化创建副本 — 通过:桌面和移动端均可直接复制;源 v7 规则保持启用,新副本保持停用。
  5. 审阅、测试并创建 — 通过:发布影响先展示,样例测试成功后才启用“创建副本”;真实创建后列表由 2 条变为 3 条。

截图证据

状态 桌面 移动端
历史取消入口 / 结果 取消入口影响确认 已取消状态
自动化复制入口 详情入口 卡片入口
发布差异与样例测试 桌面发布审阅 移动端发布审阅

视觉一致性记录

对照已接受的审计前截图和本轮实现截图逐项检查:

  1. 布局:保留历史右侧 SideSheet 与自动化“列表 + 详情”骨架;新增信息只进入已有动作区和近全屏编辑器。
  2. 组件:继续使用现有 Button、Tag、Switch、Dialog、SideSheet、Card 与确认摘要组件。
  3. 视觉:蓝色代表主要操作,绿色代表成功/启用,暖红代表取消风险,灰色代表已取消终态。
  4. 密度:桌面发布页一屏展示步骤、发布影响、摘要与测试;移动端采用一个内容滚动区和固定底部操作,不产生嵌套页面滚动。
  5. 响应式1440 × 900 保留完整详情390 × 844 将复制动作收敛为带可访问名称的 42px 图标按钮。

首屏文案变化仅限任务动作:历史任务新增“取消 / 已取消”,自动化新增“复制自动化 / 发布影响 / 副本将保持停用”。全局标题、导航、模块说明和原有查询文案均未改写。

无障碍与限制

  • 新增取消、复制、关闭、测试和发布动作均具备可访问名称;危险操作有独立确认对话框。
  • 移动端新增操作满足至少 42px 触控目标;固定底部主操作避免长内容后难以提交。
  • 当前截图未发现明显截断、横向溢出或不可见主要操作。
  • 自动化测试和浏览器 DOM 验收覆盖角色、名称与状态,但截图无法证明所有颜色均达到 WCAG 对比度,也不能替代完整的键盘遍历、焦点顺序和真实读屏器人工测试。

验证

  • 前端定向回归:HistoryPage + AlertsPage70 / 70 通过。
  • 前端全量回归75 个文件452 / 452 通过。
  • API 全量回归:go test ./... 通过;包含 owner 范围、幂等取消、排队任务不启动、下载禁止、审计与重启持久化。
  • 生产构建TypeScript、Vite、发布资产校验全部通过web_build_gate=ok