AGILE TEAM
Skip to content

02 — 原型设计规范

📦 来源:wl-skills-design v0.11.1 · standards/02-prototype.md · 可判定条目由 verify([M] 机械项)自动执行。

wl-skills-design · requirements-prototype 本文档是原型设计的唯一权威规范来源,工具无关(Axure / Figma / 即时设计 / MasterGo 均适用)。 所有 AI 工具读取此文件作为执行依据,不得凭记忆或推断覆盖本规范。

设计原则:原型是需求设计说明书(06-spec-doc)的可视化补充,不替代 IPO 表。 原型的核心目的是固定页面布局、交互模式和字段位置,为下游 prototype-scanpage-codegen 提供精确输入。


§一 原型在全链路中的定位

需求设计说明书(IPO 表)
       ↓ 确定功能清单 + 字段 + 处理逻辑
原型设计(本规范)
       ↓ 固定页面布局 + 交互模式 + 组件选型
prototype-scan(wl-skills-kit)
       ↓ 输出 page-spec JSON
page-codegen → 代码生成

1.1 与 spec 的关系

维度spec(06-spec-doc)原型(本规范)
关注点处理逻辑、数据流、校验规则页面布局、交互方式、视觉层级
输出格式Markdown IPO 表页面标注图 + 交互说明
消费方数据库设计 / 接口设计 / 评审prototype-scan / 前端开发
字段来源原型中的字段必须 ⊆ spec IPO 字段

1.2 原型不做什么

  • ❌ 不定义处理逻辑(那是 spec IPO 的职责)
  • ❌ 不定义接口契约(那是 api-design 的职责)
  • ❌ 不做视觉设计(颜色/字体/间距由 UI 规范或设计系统决定)
  • ❌ 不写死数据内容(用占位符,不用线上业务数据)

§二 页面交互模式分类

所有页面必须归入以下模式之一,AI 据此选择组件组合和布局结构。

模式代码模式名称通用场景布局结构
LIST标准列表页申请列表、任务台账、审核记录查询区 + 工具栏 + 表格 + 分页
FORM_MODAL弹窗表单新增/编辑申请、审核弹窗弹窗 + 表单分区 + 按钮组
FORM_ROUTE路由表单复杂新增(多步骤)、详情页独立页面 + 表单分区 + 步骤条(可选)
MASTER_DETAIL主从表申请主档+明细、任务+子任务上下或左右分栏
TREE_LIST树形+列表分类树+记录、目录+条目左右分割
TAB_FORM多 Tab 表单基础资料维护(多维度属性)Tab 切换 + 各 Tab 内表单/表格
DASHBOARD仪表盘任务看板、处理时效卡片 + 图表 + 统计指标
COMPOSITE组合页面任务编排(查询+分组+明细)多模式组合,需逐区标注

2.1 模式选择决策树

页面有左侧树形导航?
├── 是 → TREE_LIST
└── 否 → 页面有上下两个关联表格?
    ├── 是 → MASTER_DETAIL
    └── 否 → 页面主体是表格+CRUD?
        ├── 是 → LIST(新增/编辑用弹窗=FORM_MODAL,用独立页=FORM_ROUTE)
        └── 否 → 页面主体是图表/指标?
            ├── 是 → DASHBOARD
            └── 否 → 页面有多个 Tab 切换?
                ├── 是 → TAB_FORM
                └── 否 → COMPOSITE(需拆解标注)

§三 原型标注规范(每页必须输出的内容)

每个页面的原型标注必须包含以下 7 项,缺一不可。

3.1 页面元信息(必填)

markdown
## {页面中文名}

- **交互模式**:LIST / FORM_MODAL / MASTER_DETAIL / ...
- **目录名**:kebab-case(如 request-review)
- **服务缩写**:模块缩写(如 produce / sale / quality)
- **所属流程**:关联的系统流程编号(如 PLAN-A-01)
- **关联 IPO**:spec 中对应的功能编码(如 PLAN007)

3.2 查询区标注

必须标注项说明示例
字段名(camelCase)与 data.ts 直接对应orderNo
中文标签显示文本申请编号
组件类型input / dict / date / dateRange / userPicker / deptPickerdict
字典编码仅 dict 类型必填order_status
是否必填查询条件是否必填

3.3 表格列标注

必须标注项说明示例
字段名(camelCase)与接口返回字段对应planStatus
中文表头列标题申请状态
列宽(px)建议宽度120
字典编码需要翻译的字段mmwr_plan_status
是否可点击蓝色/下划线=可点击跳转是(跳转详情)
排序是否支持排序

3.4 工具栏按钮标注

必须标注项说明示例
按钮文案与原型完全一致新增
按钮类型primary / success / warning / danger / defaultprimary
触发动作openModal / batchDelete / export / import / ...openModal
权限标识按钮级权限编码(可选)plan:add

3.5 操作列按钮标注

必须标注项说明示例
按钮文案与原型完全一致(不可自行替换)编辑 / 删除 / 提交
触发动作edit / delete / submit / detail / ...edit
条件显示按状态/权限控制显隐status === 0 时显示

3.6 表单字段标注(弹窗/路由表单)

必须标注项说明示例
字段名(camelCase)与接口提交字段对应productType
中文标签表单 label申请类型
组件类型input / select / date / number / textarea / ...select
是否必填表单校验
字典编码下拉选项来源request_type
默认值有则标注
联动规则字段间联动(可选)选择申请类型后显示补充说明

3.7 特殊交互标注

针对非标准交互,必须额外标注:

交互类型标注内容
状态机按钮各状态下按钮的显隐规则
批量操作勾选规则(跨页?全选?)
拖拽排序哪些行/列支持拖拽
行内编辑哪些列支持直接编辑
子表格展开展开行的内容结构
审批流审批节点与按钮映射

§四 原型输出深度标准

不同阶段对原型的精度要求不同。本规范定义三个深度等级。

4.1 深度等级定义

等级名称适用阶段精度要求输出物
D1布局骨架需求评审前确定模式+区域划分,字段可用占位符灰度线框图
D2字段完整需求评审后所有字段名+类型+字典确定,交互规则明确带标注的原型
D3开发就绪进入开发前满足 §三 全部 7 项标注,可直接 prototype-scan完整标注原型

4.2 各等级必须达到的标注项

标注项D1D2D3
页面元信息
交互模式确定
查询区字段(中文名)○ 占位
查询区字段(camelCase + 组件类型)
表格列(中文名)○ 占位
表格列(camelCase + 宽度 + 字典)
工具栏按钮○ 占位
操作列按钮
表单字段完整标注○ 主要字段
特殊交互标注
状态机/条件显隐

交付标准:进入开发的原型必须达到 D3。D1/D2 仅用于评审沟通。


§五 原型与 spec 的字段对齐规则

5.1 字段来源约束

原型中出现的所有业务字段 ⊆ spec IPO 表中定义的字段
  • 原型不得凭空新增 spec 中未定义的业务字段
  • 如需新增字段,先补 spec IPO 表,再更新原型
  • 系统字段(创建人/创建时间/更新人/更新时间)无需在 spec 中定义,原型可直接使用

5.2 字段命名一致性

层级命名格式示例
原型标注camelCaseproductType
spec IPO中文名申请类型
数据库snake_caserequest_type
接口camelCaseproductType

原型标注的 camelCase 字段名 = 接口字段名 = 术语词典(08-glossary)中的英文名。 如已建立术语词典,原型字段命名必须从词典中取。

5.3 联动校验(与集成评审 D4 对接)

集成评审时,D4 维度会校验:

  • 原型中的字段是否都能在 spec IPO 中找到对应
  • 原型中的字典编码是否与数据库枚举定义一致
  • 原型中的按钮是否都有对应的接口

§六 页面编码与命名规范

6.1 页面编码 = spec 功能编码(不另建体系)

原型不定义新的编码体系。一个原型页面 = spec 中的一个功能(4.x.4.z), 直接复用 spec 06-spec-doc §10.4 的功能编码 [子模块代码][NNN]

spec 功能编码  →  原型页面标注  →  prototype-scan  →  代码目录
  REQ001           REQ001 申请列表          page-spec        request-list/
来源编码示例
spec 功能编码(权威)[子模块代码][NNN]PLAN007
原型页面元信息「关联 IPO」引用 spec 功能编码PLAN007
  • 一个功能编码对应一个主页面(含其新增页/修改页等子页面)
  • 原型页面不得出现 spec 中不存在的功能编码(详见 §九 PT-X X05)
  • COMPOSITE 类页面若由多个功能编码组成,逐个列出关联编码

6.2 目录命名规范

views/{服务缩写}/{业务域}/{子模块kebab}/{页面kebab}/

示例:views/request/request-list/

6.3 文件命名规范(生成后的代码文件)

文件命名说明
页面入口index.vue主视图
逻辑层useXxx.ts组合式函数
数据层data.ts字段定义 + 字典 + 列配置
Mockmock.ts开发阶段 Mock 数据

§七 项目扩展画像

包内不预置客户或行业约定。项目若有专用字典、计量单位、隐私展示或复杂交互,应在设计画像中显式声明;未声明时先询问,不得从样例推断。

7.1 画像字段

配置说明示例
dictionarySource字典权威来源与版本docs/glossary.md
unitPolicy单位、精度与换算规则数量为整数,金额保留 2 位
privacyDisplay脱敏、掩码与权限规则联系方式按角色掩码
interactionPatterns项目特有交互及适用页面批量审批仅用于待审核列表
accessibility键盘、对比度和读屏要求WCAG 2.2 AA

7.2 扩展规则

  1. 字典编码必须来自画像或词典,不得根据中文名猜测。
  2. 项目特有交互必须记录触发条件、权限、失败反馈和可逆性。
  3. 展示敏感字段时同时标注可见角色、掩码方式和复制限制。
  4. 画像缺失的扩展项标“待确认”,不得写成默认实现。

§八 原型交付物清单

8.1 单页面交付物

每个页面完成后,必须产出:

序号交付物格式说明
1页面标注图PNG/PDF/Axure含所有区域标注
2字段清单Markdown 表格按 §三 格式,可直接被 prototype-scan 消费
3交互说明Markdown状态机/联动/条件显隐等非标交互

8.2 模块级交付物

一个模块所有页面完成后,汇总产出:

序号交付物格式说明
1页面清单总表Markdown 表格页面名/模式/目录名/关联流程
2页面导航关系图文字描述或简图页面间跳转关系
3字典汇总表Markdown 表格本模块用到的所有字典编码

§九 验证清单(PT-A/B/C/X 四组,共 23 项)

验证时按组执行,每组内按编号顺序逐项检查。

PT-A 组:页面完整性(5 项)

编号检查项严重度
A01每个页面都标注了交互模式P0
A02每个页面都有页面元信息(目录名/服务缩写/关联流程)P0
A03查询区字段数量与标注一致(不多不少)P1
A04表格列数量与标注一致P1
A05工具栏按钮和操作列按钮都已标注P1

PT-B 组:字段规范性(7 项)

编号检查项严重度
B01所有字段名使用 camelCase 格式P1
B02所有 dict 类型字段都标注了 dictCodeP0
B03日期字段明确了类型(date / dateRange / month)P1
B04表单必填字段已标注P1
B05字段名与术语词典(如有)一致P1
B06表格列宽度合理(总宽不超容器宽度)P2
B07可点击列已标注跳转目标P1

PT-C 组:交互完整性(6 项)

编号检查项严重度
C01状态机页面的按钮显隐规则已标注P0
C02主从表的主表选中→从表联动已说明P1
C03批量操作的勾选规则已说明P1
C04弹窗/路由表单的字段分区已标注P2
C05联动字段的触发规则已说明P1
C06审批流页面的节点→按钮映射已标注P1

PT-X 组:跨文档一致性(5 项)

编号检查项严重度
X01原型字段 ⊆ spec IPO 字段(无 spec 外字段)P0
X02原型字典编码与数据库枚举定义一致P1
X03原型按钮都有对应的 spec 处理逻辑P1
X04原型字段命名与术语词典一致(词典存在时)P1
X05原型页面的「关联 IPO」编码在 spec 4.x.4 功能设计中存在(无孤立页面)P0

§十 闭环修复协议

10.1 验证→修复流程

执行验证清单(23 项)

发现问题 → 按严重度分级(P0/P1/P2)

P0:立即修复,修复后复验
P1:本轮修复,修复后复验
P2:记录待优化,不阻断

全部 P0/P1 通过 → 原型达到 D3,可进入开发

10.2 修复优先级

严重度含义处理方式
P0阻断:缺失关键标注,prototype-scan 无法正确解析必须修复
P1重要:影响代码生成质量,但不阻断解析应当修复
P2建议:优化项,不影响功能可延后

§十一 与下游工具的对接约定

11.1 prototype-scan 消费格式

原型标注的最终输出格式应可被 prototype-scan Skill 直接消费,转换为 page-spec JSON

json
{
  "pageName": "申请列表",
  "kebabName": "request-list",
  "pattern": "LIST",
  "path": "views/request/request-list/",
  "query": [...],
  "toolbar": [...],
  "columns": [...],
  "operations": [...]
}

11.2 与集成评审的关系

原型设计 Skill 已发布。集成评审(07-design-review)在提供原型产物时增加以下扩展检查:

  • 原型字段 ⊆ spec IPO 字段
  • 原型字典 = DB 枚举
  • 原型按钮 → 接口覆盖

代码设计视角:原型标注是 page-codegen 的直接输入。标注越精确,生成代码的还原度越高。 D3 级原型可作为代码生成输入;实际还原质量必须由固定语料、目标框架和可复现评测确认,不作未经验证的百分比承诺。

You may not distribute, modify, or sell this software without permission.