Files
lingniu-vehicle-ingest/vehicle-data-platform/docs/design/automation-editor-20260723/README.md
2026-07-27 16:46:15 +08:00

67 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 自动化配置工作区重构
## 目标
把原本偏小、依赖整窗滚动的自动化弹窗改成可连续完成“事件与条件 → 车辆范围 → 执行动作 → 测试并发布”的近全屏工作区。桌面端让步骤、当前表单、实时摘要和主操作同屏;移动端固定步骤与操作区,只滚动当前表单。
## 设计与实现证据
- `automation-editor-desktop-concept.png`:使用内置 Image Gen 生成并选定的 1440 × 900 高保真设计基准。
- `automation-editor-desktop-implementation.png`:真实 React / Semi UI 在 1440 × 900 的桌面实现。
- `automation-editor-mobile-implementation.png`:真实页面在 390 × 844 的移动实现。
内置 Image Gen 最终提示以 `ui-mockup` 为用途,要求近全屏弹窗、固定头尾、四步横向导航、左侧当前表单、右侧 320px 实时摘要,并明确禁止小型居中弹窗、卡片墙、渐变、装饰图和可见外层滚动条。
## 实现结果
- 桌面弹窗由最多 1068px 扩展为最多 1360px视口四周保留 12px 安全边距;最大高度使用 `100dvh - 24px`
- 弹窗头部、步骤导航和底部操作区固定;常规数值规则在 1440 × 900 无需滚动即可完成第一步。
- 左侧表单只在围栏地图或车辆长列表等确有需要时独立滚动;右侧摘要始终保持可见。
- 四个触发类型在桌面改为单行排列,减少无意义纵向占用。
- 校验和保存错误进入固定底部操作区,不再隐藏在滚动内容末端。
- 移动端高度提升到最多 `96dvh`;步骤导航由两行 112px 压缩为单行 58px页面本身不滚动当前表单是唯一滚动容器。
- 移动端摘要保留紧凑标题,隐藏重复的三段明细与发布说明;完整摘要仍在测试发布步骤呈现。
- 自动化搜索、状态、协议与选中规则写入 URL刷新、分享和前进/后退可以恢复工作位置。
- 筛选隐藏当前规则时自动修复为首个可见规则;没有匹配项时清空详情,避免“列表为空但仍显示旧规则”的幽灵详情。
## Fidelity ledger
| 检查项 | 概念要求 | 实现结果 |
| --- | --- | --- |
| 工作区尺寸 | 接近填满 1440 × 900 | 已实现1360 × 876四周 12px |
| 信息同屏 | 步骤、表单、摘要、操作同屏 | 已实现;桌面第一步无需滚动 |
| 滚动边界 | 外层不滚动,长内容局部滚动 | 已实现;桌面页面 900/900移动页面 844/844 |
| 表单效率 | 四触发类型单行,字段双列 | 已实现;常规规则首屏完整 |
| 实时摘要 | 约 320px、持续可见 | 已实现;桌面 320px × 545px |
| 固定操作 | 取消、上一步、下一步持续可见 | 已实现;桌面与移动均固定在底部 |
| 移动导航 | 紧凑步骤与单一内容滚动 | 已实现58px 单行步骤,表单局部滚动 |
| 视觉系统 | 白、冷灰、克制蓝、细边框 | 已实现;沿用平台与 Semi UI 令牌 |
| 路由恢复 | 配置入口外的工作位置可分享 | 已实现;筛选和选中规则由 URL 驱动 |
实现与概念在主要结构、密度、尺寸、固定边界和视觉层级上忠实一致,没有实质性偏差。
## 首屏文案对比
- 概念使用“数值或状态 / 车辆静止 / 车辆离线”;实现保留领域内更精确的“数值触发 / 长时间静止 / 长时间离线”。
- 概念使用“大于”;实现继续显示 API 契约操作符 `>`,避免编辑与事件契约出现两套语义。
- 概念使用“60 秒”;实现同时显示输入值 `60` 与格式化辅助文本“1 分钟”,便于直接编辑又便于理解。
## 有意差异
- 实现保留现有平台导航与真实表单控件,不复制概念图中的装饰性触发图标。
- 移动端不常驻完整实时摘要,因为它会重复当前表单信息并增加约 300px 滚动;紧凑标题与最终测试摘要仍保留。
- 围栏地图、车辆快捷选择属于真实长内容,允许左侧当前表单独立滚动,不能为追求“零滚动”裁剪功能。
## 验证
- `AlertsPage.test.tsx`35 项测试通过,包括创建入口、四步流程、移动 bottom sheet、桌面 review、URL 恢复、幽灵详情修复和未保存草稿保护。
- 事件中心与历史页定向回归63 项测试全部通过;全量前端 75 个文件 / 442 项测试通过;生产构建及发布资产校验通过。
- 桌面 1440 × 900弹窗 1360 × 876左侧表单 `scrollHeight = clientHeight = 543`;页面无纵向滚动;切换车辆范围后底部操作与摘要位置不变。
- 移动 390 × 844弹层 390 × 810步骤栏 58px页面无纵向滚动第一步当前表单只需 127px 局部滚动。
- 桌面与移动均实际填写名称并进入“车辆范围”,步骤标题、固定操作区和摘要/导航位置保持稳定。
- 概念图和两张实现截图均以原始分辨率复核。
## Image Gen 说明
设计基准使用内置 Image Gen 模式生成,没有使用 CLI 回退。最终项目资产保存在本目录的 `automation-editor-desktop-concept.png`