feat(web): unify semantic empty states
This commit is contained in:
@@ -198,4 +198,54 @@
|
||||
- 第二轮同视口截图确认“每日统计—车辆每日里程—20 / 1024 辆”层级可辨,刷新、导出和首屏表格均可达。
|
||||
- 桌面端里程、告警、接入与运维四个结果面板语义色克制、密度稳定,未发现 P0、P1 或 P2 视觉与交互问题。
|
||||
|
||||
## 共享语义状态 Semi UI Design QA
|
||||
|
||||
- source visual truth: ECS 生产端车辆目录空结果与运维、轨迹证据状态
|
||||
- source screenshots:
|
||||
- vehicle directory normal baseline: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/03-vehicles-mobile-before.png`
|
||||
- vehicle directory empty baseline: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/04-vehicles-empty-before.png`
|
||||
- implementation screenshots:
|
||||
- vehicle directory empty: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/05-vehicles-empty-after.png`
|
||||
- operations health overview: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/06-operations-health-after.png`
|
||||
- operations compact success: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/08-operations-health-bottom-after.png`
|
||||
- track mobile initial state: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/09-track-empty-after.png`
|
||||
- track desktop initial and evidence state: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/10-track-desktop-empty-after.png`
|
||||
- alert center regression: `/Users/lingniu/project/ai-coding/lingniu-vehicle-ingest/.codex-audit/semi-empty-secondary-20260720/11-alerts-empty-after.png`
|
||||
- viewport and state:
|
||||
- mobile `390 × 844`
|
||||
- desktop `1440 × 900`
|
||||
- 管理员权限、生产数据、空查询与健康检查通过状态
|
||||
|
||||
### Fidelity Ledger
|
||||
|
||||
| Surface | Required fidelity | Implementation evidence | Result |
|
||||
| --- | --- | --- | --- |
|
||||
| Empty result recognition | 无结果不能只剩大块白色画布,用户应立即识别当前状态。 | 共享 `PanelEmpty` 增加 Semi Icon、标题、说明和轻量语义底色;车辆目录空结果获得明确搜索图标。 | Improved. |
|
||||
| Recovery path | 可恢复的空结果必须给出唯一、直接的下一步。 | 车辆目录提供“清除搜索”,实测点击后恢复 1,024 辆授权目录;对账空结果提供“重置筛选”。 | Passed. |
|
||||
| Semantic tone | 空结果、通过、提醒和失败不能使用同一种视觉语义。 | primary、success、warning、danger 四类状态共享同一结构,仅使用克制的顶部语义线、图标色和浅背景区分。 | Passed. |
|
||||
| Compact evidence | 侧栏、时间线和小型证据区不能被完整空状态撑高。 | `compact` 状态在轨迹证据、告警履历、来源证据、遥测和运维容量检查中保持约 104–112px 的稳定高度。 | Passed. |
|
||||
| Functional continuity | 状态迁移不能改变查询、刷新、分页和证据读取逻辑。 | 仅替换呈现组件;车辆清除搜索、运维唯一重试路径和原页面查询键保持不变。 | Preserved. |
|
||||
| Cross-page reuse | 页面不能继续维护互不相同的 Empty 字号、插图和间距。 | 车辆、监控、轨迹、告警、单车、来源、对账和运维共用 `PanelEmpty` 的 tone、icon、compact 契约。 | Improved. |
|
||||
| Dense-page stability | 新状态样式不得挤压正常数据页。 | 告警队列、运维健康卡片、车辆正常目录和轨迹工作台生产截图均保持原行数、滚动区与操作位置。 | Passed. |
|
||||
|
||||
### Interaction And Accessibility Checks
|
||||
|
||||
- 空状态继续使用 Semi Empty,并由外层 `role="status"` 与 `aria-live="polite"` 公布;
|
||||
- 失败状态保留 `role="alert"`,运维来源失败只保留一个“重试”按钮,避免重复恢复入口;
|
||||
- 图标来自 `@douyinfe/semi-icons`,不使用文本符号、临时 SVG 或占位资产;
|
||||
- 车辆目录“清除搜索”按钮在 `390 × 844` 下可见、可点击,点击后空状态消失且授权目录恢复;
|
||||
- 轨迹桌面端左侧紧凑状态与中央引导状态互不重复,查询表单和播放控制仍可达;
|
||||
- 运维健康页容量检查通过状态没有覆盖运行时表格,主滚动区域继续可上下浏览;
|
||||
- `1440 × 900` 与 `390 × 844` 下均未发现横向溢出、文字裁切或不可达操作。
|
||||
- 生产发布版本 `semi-semantic-states-20260720033333` 完成资源烟测与管理员登录态复核。
|
||||
|
||||
### Comparison History
|
||||
|
||||
#### Pass 1 — fixed
|
||||
|
||||
- 原车辆空结果只有两行居中文字,整张结果卡大面积留白,且没有恢复动作。
|
||||
- 首轮共享状态实现增加图标、语义背景和恢复按钮,同时发现运维来源失败同时出现两个“重试”入口。
|
||||
- 删除重复的状态内重试,只保留页面级错误恢复;全量 370 项前端测试恢复通过。
|
||||
- 第二轮生产截图确认车辆空结果、轨迹紧凑证据和运维成功状态遵循同一套 Semi UI 结构,未发现 P0、P1 或 P2 视觉与交互问题。
|
||||
|
||||
final result: passed
|
||||
|
||||
Reference in New Issue
Block a user