交互说明与设计规范
00 阅读指引
ALL| 标签 | 含义 | 典型使用者 |
|---|---|---|
| 研发 | 前端和后端工程师需要关注的实现约束 | 前端、后端、全栈 |
| 测试 | 验收标准、边界条件、需要覆盖的测试场景 | QA、测试工程师 |
| ALL | 所有角色都应知晓的通用规则 | PM、研发、测试 |
编号体系:C-xx = 控件规范,G-xx = 全局规则,S-xx = 状态与流程,T-xx = 测试验收。具体页面可使用 C-03 等编号引用本文规范,无需重复描述。
01 实现参考值(颜色 · 字体 · 间距 · 圆角)
研发1.1 主色与功能色
#2563eb#1d4ed8#bfdbfe#eff6ff#047857#ecfdf5#92400e#fef3c7#be123c#fff1f21.2 中性色
#0f172a#1f2937#374151#64748b#94a3b8#cbd5e1#e5e7eb#f8fafc#eef2f71.3 字体规范
| 层级 | 字号 | 字重 | 用途 |
|---|---|---|---|
| 页面标题 H1 | 22px | Bold (700) | 顶栏页面名称 |
| 章节标题 H2 | 17–18px | Bold (700) | 卡片标题、区域标题 |
| 小标题 H3 | 15–16px | Semi-bold (600) | 列表项标题、字段组标题 |
| 正文 | 14px | Normal (400) | 表格内容、段落文字 |
| 字段标签 | 13px | Bold (700) | 表单标签、表头 |
| 辅助文字 | 12px | Normal (400) | 提示、时间戳、Badge |
1.4 间距体系(4px 基准)
1.5 圆角与阴影
| 元素 | 圆角 | 阴影 |
|---|---|---|
| 卡片 / 弹窗 | 10px | 无(边框 1px solid #e5e7eb) |
| 按钮 / 输入框 | 6px | 无 |
| 分段切换 / Notice | 8px | 无 |
| Badge / Tag | 999px(全圆) | 无 |
| 抽屉 | 无 | -10px 0 28px rgba(15,23,42,.18) |
02 基础控件规范
ALLC-01 文本输入
用于名称、编号、地点、关键词等短文本。点击输入,失焦或提交时校验。
- 研发 只读字段使用
readonly或disabled;来源字段错误必须到来源模块修正,前端不可直接编辑。 - 测试 验证:长度限制(超长截断或拒绝)、特殊字符(XSS 过滤)、前后空格处理、是否允许重复,以具体页面字段规则为准。
C-02 必填与错误
必填缺失、格式错误、业务状态不允许时,字段区域显示红色边框 + 红色提示文字。
- 研发 错误不只依赖 Toast,必须在字段旁可见。批量校验时自动滚动到第一个错误字段。
- 测试 验证:清空必填项能否提交、多字段同时错误是否全部显示、修正后错误是否自动消失。
C-03 数字输入
- 研发 默认不得输入负数和小数,除非页面规则明确允许。后端必须做二次校验。
- 研发 库存减少、出库数量变更等涉及关键数据的数字修改需遵守审批规则。
- 测试 验证:负数、小数、0、极大值、非数字字符、粘贴文本。
C-04 日期与日期范围
- 研发 起止时间不得倒置(结束≥开始),前后端均需校验。是否允许过去/未来时间以页面规则为准。
- 测试 验证:起止倒置、跨年、跨月、闰年 2.29、时区一致性。
C-05 多行文本
- 研发 不承载图片/视频/附件,文件必须走上传控件 C-10。不默认提供富文本编辑。
- 测试 验证:字数上限(以页面规则为准)、换行符保留、前后空白处理。
C-06 下拉选择
- 研发 不可手写新增选项;新增选项到配置模块维护。选项受权限、数据范围、状态影响时需动态过滤。
- 测试 验证:选项是否与配置一致、权限过滤是否生效、是否有默认值、能否清空。
C-07 单选与复选
- 研发 选择动作本身不提交数据,必须通过保存/提交/发布按钮写入。
- 研发 不可见或不可选项不得通过前端绕过提交(后端需校验)。
C-08 分段切换
- 研发 切换只改变视图/过滤维度,不改变业务状态。未保存内容是否保留以具体页面规则为准。
C-09 开关
- 研发 开关切换通常需记录操作日志。被引用/已发布/生效中的对象能否停用以业务规则为准。
C-10 上传
- 研发 格式、大小、数量、是否可删除/作废按具体页面规则。上传中显示进度,失败显示原因。知识文件解析失败时不入检索库,但保留文件允许重新解析。
- 测试 验证:超大文件、不允许格式、网络中断续传、删除已上传文件。
C-11 按钮体系
| 类型 | 使用场景 | 约束 |
|---|---|---|
| 主按钮 Primary | 提交、发布、确认、保存 | 每个操作区域最多 1 个 |
| 普通按钮 Default | 查询、重置、导出、取消 | — |
| 危险按钮 Danger | 删除、作废、撤回 | 必须配合二次确认弹窗 C-12 |
| 禁用 Disabled | 条件不满足、无权限 | 悬停显示 Tooltip(C-27)说明原因 |
- 研发 关键动作顺序:校验权限 → 校验状态 → 校验前置条件 → 执行。提交期间按钮 loading 态,防重复提交。
- 研发 危险动作必须记录操作日志。
03 复合控件规范
ALLC-12 确认弹窗
用于发布、提交、删除、作废、撤回等需要二次确认的动作。只承载"标题 + 说明文案 + 取消/确认"。
- 研发 弹窗不承载复杂表单;≥3 个字段用表单弹窗 C-22 或抽屉 C-13。确认后如失败,在业务区域展示失败原因。
- 测试 验证:ESC 关闭、点击遮罩关闭、确认后 loading 态、网络错误提示。
C-13 右侧抽屉
用于详情查看、快捷维护、少量字段补录、关联数据维护。宽度 420px,从右侧滑入。
- 研发 数据归属不变,仍回写来源模块。关闭未保存内容时应提示,不自动保存。
- 测试 验证:抽屉打开时主页面不可操作、关闭时是否提示未保存、内容超长时是否可滚动。
C-14 表格与行操作
- 研发 行操作只作用于当前行。批量操作不是默认能力,需在页面明确定义。状态字段不可直接编辑,状态流转必须走操作按钮。
- 测试 验证:空表格展示空状态 C-17、列排序是否正确、操作列按钮权限是否生效。
C-15 分页
- 研发 切换分页只改变展示范围,不改变筛选条件。默认每页 20 条,可选 10/20/50/100。导出范围需在导出弹窗中让用户选择。
- 测试 验证:首页禁用"上一页"、末页禁用"下一页"、从详情返回后页码保留。
C-16 状态标签
| 语义 | 使用场景 |
|---|---|
| 成功 / 正向(绿) | 已完成、已发布、已通过、正常 |
| 信息 / 中性(蓝) | 处理中、进行中、草稿、待处理 |
| 警告 / 注意(橙) | 待确认、待审批、预警、即将到期 |
| 危险 / 负向(红) | 失败、已过期、已作废、超时 |
- 研发 状态必须来自状态机或配置表,不能当普通文本随意改。统计和筛选使用同一状态定义。
C-22 表单弹窗 新增
用于快捷新增、指派任务、添加备注、批量操作确认等需要用户填写少量字段(1~5 个)的场景。与确认弹窗 C-12 的区别:C-12 只有文案确认,C-22 承载表单字段。
- 研发 字段 ≤ 5 个用表单弹窗;> 5 个用抽屉 C-13 或独立页面。弹窗内表单遵循 C-02 必填与错误规范。
- 研发 提交后弹窗关闭 + Toast 反馈 + 列表刷新。提交期间按钮 loading 态。
- 测试 验证:空字段提交拦截、提交后弹窗是否关闭、列表是否刷新、ESC/点击遮罩关闭时是否提示未保存。
C-23 标签页 Tabs 新增
用于详情页、配置页等需要分区展示多维度内容的页面。常见分组:基本信息 / 时间线 / 附件 / 操作日志。
- 研发 切换 Tab 不丢失其他 Tab 已输入未保存的内容(编辑模式下)。URL 中记录当前 Tab,刷新后恢复。
- 研发 与分段切换 C-08 的区别:Tabs 切换的是同一页面内的内容区域;C-08 切换的是数据视图/模式。
- 测试 验证:Tab 切换后内容正确加载、刷新后 Tab 保持、各 Tab 下的数据独立正确。
C-24 步骤条 Steps 新增
用于多步骤流程引导,如事件发布向导、演练创建流程、预案审批流程。
- 研发 已完成步骤可点击回退查看/修改(除非业务规则不允许)。未到达的步骤不可跳跃点击。
- 研发 每步切换前校验当前步骤的必填项(C-02),校验不通过不可进入下一步。
- 测试 验证:步骤回退数据保留、跳跃点击拦截、中途关闭页面数据不丢失(草稿暂存)。
C-25 时间线 Timeline 新增
用于事件处置过程回溯、操作日志展示、复盘时间线。按时间倒序或正序排列。
- 研发 时间线节点自动从操作日志生成,不需手动创建。不同事件类型使用不同颜色圆点(红=紧急/发布,蓝=通知/操作,橙=待处理/反馈,绿=完成)。
- 研发 数据量大时(>50 条)使用分段加载("加载更多"按钮),不一次全部渲染。
- 测试 验证:时间排序正确、节点与实际操作一一对应、时间精确到分钟。
C-26 树形 / 级联选择 新增
- ▼ 运行指挥中心
- · 应急管理部
- · 飞行区管理部
- ▶ 安全保卫部
- ▶ 消防救援支队
用于机构层级选择、设备分类、区域选择、预案类型等具有层级关系的数据。
- 研发 展开/收起应记住状态。支持搜索过滤(输入关键字高亮匹配节点并自动展开路径)。
- 研发 选择父节点时是否自动选中所有子节点,以具体页面规则为准(通知场景通常自动选中,筛选场景通常不自动)。
- 测试 验证:层级 ≥ 4 层时展示和交互是否正常、搜索后展开路径是否正确、选中态是否持久化。
C-27 气泡提示 Tooltip 新增
用于解释按钮禁用原因、字段名词解释、缩写含义、指标计算口径等。悬停触发,移出消失。
- 研发 所有禁用态按钮(C-11)必须配 Tooltip 说明禁用原因。
- 研发 统计指标/专业术语配 Tooltip 解释(用虚线下划线标识可悬停项)。
- 测试 验证:Tooltip 内容是否准确、是否跟随禁用条件动态变化、移动端是否改为点击触发。
C-28 折叠面板 Collapse 新增
用于长表单分组、预案章节折叠、详情页信息分区、高级筛选展开收起等场景。
- 研发 默认展开包含必填项或当前操作相关的面板,其余收起。点击标题行展开/收起。
- 研发 手风琴模式(同时只展开一个)或自由模式(可同时展开多个)以具体页面规则为准。
- 测试 验证:折叠状态下的字段是否参与表单校验(应该参与)、展开/收起动画是否流畅。
04 反馈与容器
ALLC-17 加载与空状态
- 研发 加载中禁止重复提交(按钮 loading 态)。接口超时 ≥ 10s 显示"请求超时,请重试"。
- 研发 空状态需说明具体原因(如"暂无进行中的应急事件"),不使用通用"暂无数据"。
- 测试 验证:加载中重复点击是否拦截、空状态文案是否有业务含义、超时后重试是否正常。
C-18 统计卡片与图表
- 研发 只展示来源模块数据,不在图表中维护业务数据。统计口径、刷新频率、权限范围必须与来源页面一致。
- 测试 验证:数据一致性(卡片数字 = 列表实际条数)、权限过滤后统计是否正确。
C-19 筛选查询
- 研发 查询不改变业务数据。重置清空筛选条件并恢复默认列表。筛选变更后自动回到第一页。
- 测试 验证:空关键词返回全部、特殊字符搜索、组合筛选、重置后列表恢复。
C-20 页面入口与导航
- 研发 正式菜单不放说明页。暂缓/本期不做/待设计项,使用禁用态 + Tooltip(C-27)说明,不使用空链接或 404。
C-21 Toast 通知
- 研发 Toast 用于轻量级操作反馈(成功/信息),2–3 秒自动消失。不可替代字段级错误(C-02)。
- 测试 验证:Toast 是否自动消失、快速连续操作是否排队显示而非覆盖。
05 全局交互规则
ALLG-01 权限控制体系
页面、按钮、字段、数据范围均按账号 → 角色 → 权限控制。原型展示为可见样例,不代表所有角色都可见。
| 维度 | 无权限时的表现 | 说明 |
|---|---|---|
| 菜单/页面 | 不可见(从菜单隐藏) | 无权限用户看不到此菜单项 |
| 按钮 | 禁用态 + Tooltip(C-27) | 展示但不可点击,悬停说明原因 |
| 字段 | 只读 或 隐藏 | 敏感字段隐藏,非敏感字段只读 |
| 数据范围 | 只查看本部门/本人数据 | 由数据权限策略控制 |
G-02 操作日志
以下操作必须记录日志(操作人、操作时间、操作类型、操作对象、变更内容):
- 发布、提交、审批、撤回
- 删除、作废
- 配置变更(含开关切换 C-09)
- 数据维护(新增、修改、批量导入)
查询浏览是否记录以具体业务模块规则为准。
G-03 导航与路由
- 左侧菜单固定不变,点击菜单项右侧刷新目标页面。
- 嵌入页内部跳转保持嵌入模式,不跳出壳。
- 面包屑显示在页面标题上方,层级 ≤ 3 级。
- 从详情页返回列表页时,保留筛选条件和页码(C-15)。
G-04 移动端适配
- 移动端为 Web 模式(响应式),不支持离线暂存。
- 附件上传、任务反馈、审批处理仍受权限和状态限制。
- 移动端不提供管理后台功能(配置、审计、统计分析仅 PC 端可用)。
- 移动端页面独立设计(参见移动端原型),不是 PC 端缩小版。
G-05 错误处理优先级
| 错误类型 | 展示方式 | 优先级 |
|---|---|---|
| 字段校验错误 | 字段旁红色提示(C-02) | 最高 — 先校验 |
| 业务逻辑错误 | 业务区域 Notice 或弹窗 | 高 — 校验通过后 |
| 权限不足 | 按钮禁用 + Tooltip 或 Toast | 高 — 操作前拦截 |
| 网络/服务异常 | 全局 Toast 或错误页面 | 中 — 请求失败时 |
| 操作成功 | Toast 通知(C-21) | 低 — 最后展示 |
G-06 数据提交与保存
- 所有数据修改必须显式点击"保存"/"提交"/"发布",不自动保存(除特殊说明)。
- 离开编辑页面如有未保存修改,浏览器弹出二次确认。
- 提交期间按钮 loading 态,接口返回前禁止重复提交。
- 提交成功后返回列表页或刷新当前页(以页面规则为准)+ Toast。
G-07 防抖与性能
- 搜索输入框使用 300ms 防抖(debounce),避免频繁请求。
- 列表数据量 > 200 条必须分页,不一次全部加载。
- 大屏/统计图表刷新频率默认 5 分钟,可配置。
06 通用状态机与操作流程
ALLS-01 应急事件生命周期
| 状态 | 可执行操作 | 不可执行操作 |
|---|---|---|
| 草稿 | 编辑、发布、删除 | 结束、归档 |
| 已发布 | 指挥调度、通知发送 | 编辑基本信息、删除 |
| 处置中 | 任务反馈、资源调配、升降级 | 编辑基本信息、删除 |
| 已结束 | 复盘、归档、导出 | 再次发布、调度 |
| 已归档 | 查看、导出 | 所有编辑操作 |
S-02 通用审批流程
- 待审批状态下发起人可撤回(回到草稿,可修改后重新提交)。
- 驳回时必须填写驳回理由(多行文本 C-05)。
- 审批通过/驳回均记录操作日志(G-02)。
S-03 二次确认场景清单
以下操作必须弹出确认弹窗(C-12)后才可执行:
| 操作 | 确认弹窗文案 | 确认按钮 |
|---|---|---|
| 发布应急事件 | 确认发布?发布后将通知相关单位。 | 主按钮 |
| 结束应急事件 | 确认结束?结束后不可再进行调度操作。 | 主按钮 |
| 删除记录 | 确认删除?删除后不可恢复。 | 危险按钮 |
| 作废 | 确认作废?作废后相关任务将终止。 | 危险按钮 |
| 撤回 | 确认撤回?撤回后将回到草稿状态。 | 普通按钮 |
07 权限与数据规则
研发测试G-08 数据隔离
- 正式/演练/模拟三种模式数据完全隔离,不可交叉引用。
- 切换模式(C-08)时加载对应模式数据,不混合展示。
- 演练和模拟模式下不触发外部通知(短信、邮件、对讲机等)。
G-09 删除策略
| 场景 | 策略 | 说明 |
|---|---|---|
| 草稿数据 | 物理删除 | 确认后彻底删除 |
| 已发布/已使用数据 | 逻辑删除(作废) | 标记状态,历史可追溯 |
| 配置数据 | 禁用而非删除 | 被引用的配置项只能禁用 |
G-10 导出规则
- 导出前弹窗让用户选择范围:当前页 / 筛选结果 / 全部数据。
- 默认 Excel(.xlsx),大数据量(> 10000 条)使用后台异步导出 + 下载链接通知。
- 导出内容受数据权限控制,不可超出权限范围。
08 测试验收要点速查
测试T-01 通用校验清单
| 检查维度 | 检查项 |
|---|---|
| 必填校验 | 清空必填项 → 提交 → 应在字段旁显示错误(C-02),不可只有 Toast |
| 边界值 | 数字极值、超长文本、空字符串、特殊字符、SQL/XSS 注入 |
| 状态流转 | 按状态机(S-01/S-02)验证每个状态下可/不可执行的操作 |
| 权限隔离 | 使用不同角色账号验证菜单/按钮/数据可见性(G-01) |
| 数据一致性 | 列表 = 详情 = 统计,筛选/分页/排序后一致 |
| 并发操作 | 两人同时编辑同一记录,后提交者应收到冲突提示 |
| 网络异常 | 断网/超时时有操作反馈(不静默失败) |
| 浏览器兼容 | Chrome(最新2版本)、Edge(最新版)、Safari 15+ |
T-02 交互一致性检查
- 所有列表页是否遵循相同的筛选 → 查询 → 分页模式(C-19 + C-15)
- 所有危险操作是否有二次确认弹窗(S-03)
- 所有必填字段是否标有红色星号,错误态样式一致(C-02)
- 所有状态标签颜色是否遵循语义色对照(C-16)
- 空状态文案是否有业务含义而非通用"暂无数据"(C-17)
- 所有禁用按钮是否有 Tooltip 说明原因(C-27)
- 所有关键操作是否记录操作日志(G-02)
- 详情页是否使用标签页分区而非一屏堆砌(C-23)
- 事件相关页面是否展示时间线(C-25)
C-xx / G-xx / S-xx / T-xx 编号引用本文规范。
最近更新:2026-06-30 · 版本 v2.1 · 控件编号 C-01 至 C-28