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