7.0 KiB
7.0 KiB
供应侧 UI/UX 设计规范(XR-003)
- 版本:v1.0
- 日期:2026-03-25
- 状态:生效(设计与验收基线)
- 目标:建立供应侧统一交互规范,补齐空态/异常态/权限态与可访问性基线
- 关联文档:
supply_button_level_prd_v1_2026-03-25.mdsupply_ui_test_cases_executable_v1_2026-03-25.mdsupply_api_contract_openapi_draft_v1_2026-03-25.yamlacceptance_gate_single_source_v1_2026-03-18.md
1. 信息架构(IA)
1.1 导航结构
- 一级导航:
供应账号、套餐管理、收益结算。 - 二级视图:
- 供应账号:账号列表、挂载弹窗、审计侧栏。
- 套餐管理:列表、编辑页、批量调价弹窗。
- 收益结算:收益卡片、提现弹窗、流水抽屉、对账单下载。
- 全局辅助入口:帮助中心、操作日志、权限说明。
1.2 页面布局基线
- 顶部固定:页面标题 + 关键 KPI + 最近更新时间。
- 主体区域:筛选区、列表区、详情区(抽屉或侧栏)。
- 底部区域:批量操作栏(仅在多选时显示)。
2. 交互规则(按钮级)
2.1 按钮等级与视觉规则
| 等级 | 用途 | 样式规则 | 示例 |
|---|---|---|---|
| Primary | 页面主动作(每屏最多 1 个) | 实色高对比 | 发布上架、发起提现 |
| Secondary | 常规辅助动作 | 描边/弱强调 | 保存草稿、刷新收益 |
| Tertiary | 次级动作 | 文本按钮 | 查看审计、查看流水 |
| Danger | 高风险动作 | 红色警示 + 二次确认 | 删除账号、立即下架 |
2.2 禁用态与提示规则
- 禁用按钮必须可见禁用原因(tooltip 或内联提示),禁止“只灰不解释”。
- 权限不足与状态不满足必须区分文案:
- 权限不足:
你没有执行该操作的权限。 - 状态不满足:
当前状态不允许执行此操作。
- 权限不足:
- 按钮进入 loading 时,文案切换为进行时且禁止重复点击。
2.3 危险操作确认规则
删除账号、立即下架、撤销提现必须二次确认。- 二次确认弹窗必须包含:
- 操作对象名称与 ID。
- 影响范围说明。
- 不可逆后果说明。
- 高风险动作需二次输入验证码或对象别名(可配置)。
3. 状态设计(闭环)
3.1 空态
- 首次空态:展示引导文案 + 主按钮(如“立即挂载账号”)。
- 过滤空态:展示“无匹配结果” + 清空筛选操作。
- 异常空态:展示“加载失败” + 重试按钮 + 错误编号。
3.2 异常态
- 表单错误:字段级错误 + 全局错误摘要。
- 接口失败:保留用户输入,不自动清空。
- 冲突错误(409):提示“状态已变化,请刷新后重试”。
- 系统错误(5xx):提示可重试并记录
request_id。
3.3 权限态
supplier_owner:可执行所有业务按钮。supplier_viewer:仅查看与导出,不可写操作。platform_admin:可执行风控恢复、禁用解除。- UI 必须按权限前置控制,后端再做最终鉴权。
4. 可访问性(A11y)基线
4.1 键盘与焦点
- 所有可交互控件支持 Tab/Shift+Tab 顺序访问。
- 焦点可见:focus ring 对比度 >= 3:1。
- 弹窗打开后焦点锁定在弹窗内,关闭后返回触发元素。
4.2 可读性
- 正文最小字号 14px,行高 >= 1.5。
- 文本与背景对比度:
- 常规文本 >= 4.5:1
- 大字号文本 >= 3:1
- 错误提示不能仅靠颜色表达,需配合图标或文字标签。
4.3 可理解性
- 表单字段必须有 label 与帮助文案。
- 错误消息必须指向可操作修复方式。
- 必填项统一使用
*且配套说明“*为必填”。
5. 页面级规范补充
5.1 供应账号页(SUP-PAGE-001)
- 凭证输入框默认掩码,粘贴后仅展示前后各 2 位。
- 验证通过后展示摘要,不展示原始凭证。
- 状态标签颜色统一:
pending:中性黄active:绿色suspended:橙色disabled:红色
5.2 套餐管理页(SUP-PAGE-002)
- 批量调价入口仅在多选>=2时出现。
- 保护价未达标时禁用发布按钮并给出最低可填值。
- 复制套餐后自动定位到新草稿并高亮 3 秒。
5.3 收益结算页(SUP-PAGE-003)
- 发起提现前展示“可提现余额、预计到账时间、手续费”。
- 处理中结算单必须固定在列表顶部并带进度状态。
- 对账单下载失败时提供重试与工单入口。
6. 反馈与文案规范
- 成功反馈:简短结果 + 下一步建议(如“可前往套餐页继续上架”)。
- 失败反馈:失败原因 + 修复建议 + request_id。
- 文案禁用词:避免“系统异常”这类无信息词,必须给可执行建议。
- 安全文案:不得出现可复用凭证片段、真实账户号全量信息。
7. Design QA Checklist(验收清单)
| 编号 | 检查项 | 通过标准 | 严重级别 |
|---|---|---|---|
| DQA-001 | 按钮层级正确 | Primary/Secondary/Danger 使用符合规范 | P1 |
| DQA-002 | 禁用态可解释 | 所有禁用按钮有明确原因 | P1 |
| DQA-003 | 危险操作二次确认 | 所有高风险动作均有确认弹窗 | P0 |
| DQA-004 | 权限态一致 | viewer 不可触发写操作 | P0 |
| DQA-005 | 状态机可视一致 | 页面状态与后端状态一致,无跳态文案 | P0 |
| DQA-006 | 错误信息可操作 | 错误提示包含修复建议 | P1 |
| DQA-007 | 键盘可达性 | 全页面可纯键盘操作完成关键流程 | P1 |
| DQA-008 | 焦点可见性 | focus ring 清晰可见 | P1 |
| DQA-009 | 对比度达标 | 文本对比度满足 WCAG AA | P1 |
| DQA-010 | 表单可读性 | label/help/error 三要素完整 | P1 |
| DQA-011 | 空态完整 | 首次空态/过滤空态/异常空态均定义 | P2 |
| DQA-012 | 异常态完整 | 4xx/5xx/409 均有标准展示 | P1 |
| DQA-013 | 数据保留策略 | 提交失败后表单值保留 | P1 |
| DQA-014 | 审计可追溯提示 | 关键动作提示可追踪 request_id | P0 |
| DQA-015 | 敏感信息脱敏 | 界面与导出无可复用凭证片段 | P0 |
| DQA-016 | 组件复用一致 | 相同控件样式/交互一致 | P2 |
| DQA-017 | 响应式适配 | 1280/1024/768 宽度均可用 | P1 |
| DQA-018 | 文案一致性 | 同义动作命名一致,不混用 | P2 |
| DQA-019 | 加载反馈清晰 | loading/skeleton/spinner 使用统一 | P2 |
| DQA-020 | 业主验收可解释性 | SLA/申诉入口可见且流程清晰 | P1 |
判定规则:
- 任一 P0 不通过则 UI Gate 不通过。
- P1 通过率需 >=95%,低于阈值禁止发布。
8. 与测试和门禁对齐
- DQA-001~020 对应测试集:
UI-DESIGN-QA-*(纳入 SUP-003/SUP-008)。 - 凭证脱敏相关 DQA-015 与
SEC-SUP-001强绑定。 - 权限态相关 DQA-004 与
UI-SUP-ACC-005、UI-SUP-SET-*强绑定。 - 业主可解释性 DQA-020 与申诉/赔付验收条款强绑定。
完成 DQA 全量执行并达标,即视为 XR-003 关闭。