Files
harness_coding_docs/docs/design/README.md
T

44 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 设计原型输入约定
> 本目录存放页面原型,作为生成[用户故事清单](../07-user-stories.md)和[交互清单](../08-interaction-checklist.md)的**一次性输入物**。
> 原型回答"页面上有什么";"该怎样表现"的权威始终是交互清单,不是原型。
## 一、定位与边界
- 原型的唯一用途:让 agent 据图枚举页面、控件和用户可见动作,产出 IX 总表草稿,避免凭空发明界面或漏项。
- **行为权威是[交互清单](../08-interaction-checklist.md)**:加载、空态、错误、权限、确认等行为以 IX 条目为准;原型与清单冲突时,以清单和[需求](../02-requirements.md)为准,或先对齐再动手。
- 原型不定义需求范围:原型里出现、但[需求](../02-requirements.md)未收录的功能,不能因为"图上有"就实现。
- **禁止把原型代码直接复制进生产实现**:原型没有组件抽象、状态管理和可访问性实现,实现时按[架构设计](../04-architecture.md)的组件边界重写。
## 二、默认形态:单文件 HTML 原型
- 一个页面一个 `.html` 文件,按路由或页面名命名,例如 `【items-list】.html`、`【login】.html`。
- CSS / JS 全部内联,零构建依赖,双击即可在浏览器打开。
- 低保真优先:结构和控件齐全即可,不追求视觉完成度。
- 使用语义化标签(`button`、`form`、`table`、`dialog`、`nav`),标签本身就是控件清单。
- 数据一律用假数据,页面顶部放固定横幅标注:`PROTOTYPE - 仅供枚举交互,非实现依据`。
- 需要演示空态、加载、错误等状态时,可用少量内联 JS 做状态切换按钮,对应交互清单状态表的行。
## 三、替代形态:SVG / 手绘草图
布局说不清、画得快时,可用 SVG(Excalidraw、Penpot、Figma 导出)代替:
- 文字必须保留为真文本(`<text>` 元素),不要导出为轮廓路径,否则 agent 读不到按钮文案。
- 分组 / 图层使用语义命名。
- 静态图只能表达一帧,状态与异常仍须在交互清单里逐项约定。
## 四、工作流
1. 用一两句话描述页面:有哪些区块、控件和主要动作。
2. AI 生成低保真原型(HTML 或 SVG),存入本目录。
3. 人工在浏览器查看并调整,直到布局与控件集合认可。
4. AI 据原型产出[交互清单](../08-interaction-checklist.md)的 IX 总表草稿,状态全部标【待确认】。
5. 人工逐条确认行为决策(优先级、状态与异常、无障碍),P0 交互按详情模板展开。
6. 对应 IX 条目在「关联原型」字段引用本目录文件;原型更新后检查受影响的 IX 条目。
## 五、维护规则
- 原型是输入素材,不追求与实现持续同步;页面显著改版时重新生成,而不是逐次修补旧原型。
- 已无对应页面或已完成使命的原型可以删除;删除前确认没有 IX 条目仍在引用。
- 本目录不放业务敏感数据、真实用户数据或生产接口地址。