Files
next-tjwater-drainage-frontend/docs/status-language.md
T

41 lines
2.0 KiB
Markdown

# 状态语言
系统使用五种语义状态。业务模块保留自己的领域枚举,并在展示边界映射到共享
`StatusTone`,不要让展示文案、接口字符串或 Tailwind 原色类直接决定状态样式。
| Tone | 用途 | 典型状态 |
| --- | --- | --- |
| `neutral` | 尚未开始或不再活动 | 预约、草案、待办、取消、中止、跳过、未分级 |
| `info` | 正在发生的过程 | 执行中、提交中、加载中、连接中 |
| `success` | 已完成或健康 | 完成、在线、正常、已批准 |
| `warning` | 需要关注但未达到异常 | 关注、降级、待复核、待复令、待确认 |
| `danger` | 已异常或操作失败 | 异常、失败、离线、高风险、事故、权限拒绝 |
## 报告风险
报告风险固定为三档:
- `normal` 映射 `success`,显示“正常”。
- `attention` 映射 `warning`,显示“关注”。
- `critical` 映射 `danger`,显示“异常”。
`info` 只表示过程,不参与风险等级。不得把 `attention` 合并到正常或异常。
## 表达规则
- 状态标签使用 `StatusBadge`,小型指示使用 `StatusDot`,图标节点使用 `StatusIcon`。
- 大面积容器只使用柔和背景,禁止实心红色或橙色状态卡片。
- `warning` 和 `danger` 必须同时提供文字或图标,不能只依赖颜色。
- 只有进行中的状态可以使用 `live` 或 `loading` 动效。
- “复令”是提交处置结果的动作,执行完成但尚未提交时显示“待复令”,使用静态
`warning`;不得继续显示为“执行中”或提前显示为完成态。
- 动效必须在 `prefers-reduced-motion` 下停止。
- 蓝色选中态属于交互反馈,不作为业务风险状态。
- 紫色只表示 Agent 身份,不表示未知或更高风险。
## 地图状态
地图与面板共享语义,但保留独立色值以适应浅色底图、影像底图和白色 casing。
新增地图状态时,应先补充 `map-colors.ts`,再通过对比度测试验证,不要在图层定义中
写入新的颜色字面量。