@deppon/deppon-skills 2.4.15 → 2.4.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/deppon-npm-skills/SKILL.md +7 -5
- package/dist/deppon-prd-generator/SKILL.md +210 -0
- package/dist/deppon-prd-generator/quick-reference.md +153 -0
- package/dist/deppon-prd-generator/template/backend-form-edit-prd-template.md +112 -0
- package/dist/deppon-prd-generator/template/backend-form-preview-prd-template.md +108 -0
- package/dist/deppon-prd-generator/template/backend-list-prd-template.md +106 -0
- package/dist/deppon-prd-generator/template/data-prd-template.md +190 -0
- package/dist/deppon-prd-generator/template/user-frontend-prd-template.md +55 -0
- package/dist/deppon-prd-generator/user-management/prd.md +146 -0
- package/dist/deppon-prd-generator/user-management/prototype.html +1187 -0
- package/dist/deppon-prd-generator/workflow.md +251 -0
- package/dist/deppon-pro-form/SKILL.md +1 -1
- package/dist/deppon-pro-page-insert-detail-workflow/SKILL.md +94 -0
- package/dist/{deppon-pro-page-crud → deppon-pro-page-query-table-form}/SKILL.md +20 -7
- package/dist/deppon-pro-table/SKILL.md +5 -0
- package/package.json +1 -1
- package/dist/deppon-npm-prd/SKILL.md +0 -70
|
@@ -30,17 +30,18 @@ description: >-
|
|
|
30
30
|
| 单元格可编辑表 | `deppon-pro-table-cell-editable` | 同上 |
|
|
31
31
|
| 行编辑 `row-edit` | `deppon-pro-table-row-edit` | 同上 |
|
|
32
32
|
| 非 fixed、自定义表头区、滚动容器 | `deppon-pro-table-nofixed-scroll` | 同上 |
|
|
33
|
-
| 独立查询 Form + Table +
|
|
33
|
+
| 独立查询 Form + Table + 底部/弹窗实体 Form | `deppon-pro-page-query-table-form` | 同上(非表格内单元格编辑) |
|
|
34
|
+
| 新建 / 详情 / 工作流 **同页三态**(`query.sourceType`、多套底栏、子表 row-edit 切换) | `deppon-pro-page-insert-detail-workflow` | 同上 |
|
|
34
35
|
| ProDialog、表单弹窗、自定义 body | `deppon-pro-dialog` | 同上 |
|
|
35
36
|
| ElCard / Button / Message 基础用法 | `deppon-ui-examples-primitives` | `@deppon/deppon-ui` |
|
|
36
37
|
| depponPush、viewTab、路由参数 | `deppon-router-push-viewtab` | `@deppon/deppon-router`,常配合 `vue-router` |
|
|
37
38
|
| 请求封装与错误结构 | `deppon-request-package-demo` | `@deppon/deppon-request` |
|
|
38
|
-
| 产品 PRD +
|
|
39
|
+
| 产品 PRD + 可选 HTML+Tailwind 可交互原型 + 实现蓝图(映射到上表) | `deppon-prd-generator` | `prd.md` / `prototype.html`;落地时依赖上表包 |
|
|
39
40
|
|
|
40
41
|
## 选用专项 Skill(与上表一致,便于 @ 引用)
|
|
41
42
|
|
|
42
43
|
- 私有 registry 与包文档:`deppon-npm-private-registry`
|
|
43
|
-
- 产品 PRD + 蓝图:`deppon-
|
|
44
|
+
- 产品 PRD + 蓝图:`deppon-prd-generator`
|
|
44
45
|
- 表单单页:`deppon-pro-form`
|
|
45
46
|
- 表单分组/多表单:`deppon-pro-form-group`
|
|
46
47
|
- 高级客户类表单:`deppon-pro-form-advanced-customer`
|
|
@@ -52,7 +53,8 @@ description: >-
|
|
|
52
53
|
- 单元格可编辑:`deppon-pro-table-cell-editable`
|
|
53
54
|
- 行编辑:`deppon-pro-table-row-edit`
|
|
54
55
|
- 非 fixed + 自定义头:`deppon-pro-table-nofixed-scroll`
|
|
55
|
-
-
|
|
56
|
+
- 查询条+表+底部/弹窗实体表单:`deppon-pro-page-query-table-form`(旧名 `deppon-pro-page-crud`)
|
|
57
|
+
- 新建+详情+工作流同页三态:`deppon-pro-page-insert-detail-workflow`
|
|
56
58
|
- 弹窗:`deppon-pro-dialog`
|
|
57
59
|
- 单字段:`deppon-pro-field`
|
|
58
60
|
- 布局壳:`deppon-pro-layout-page`
|
|
@@ -63,6 +65,6 @@ description: >-
|
|
|
63
65
|
## Agent 工作方式
|
|
64
66
|
|
|
65
67
|
0. 外仓或未确认依赖时:先 **`deppon-npm-private-registry`**,再生成代码。
|
|
66
|
-
1. 需求对标:用本表选 **专项 skill**;需要长文档时用 **`deppon-
|
|
68
|
+
1. 需求对标:用本表选 **专项 skill**;需要长文档时用 **`deppon-prd-generator`**。
|
|
67
69
|
2. 实现时:**以消费者项目内 `node_modules/@deppon/*` 的 README 与 `*.d.ts` 为准**;不要默认读取 `deppon-npm` 的 `site/src/views/examples`,除非用户当前工作区就是该 monorepo 并明确要求对齐 demo。
|
|
68
70
|
3. `import` 路径与 peer 依赖版本遵守各包 README。
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deppon-prd-generator
|
|
3
|
+
description: >-
|
|
4
|
+
基于页面实现、spec.md文档和功能范围,匹配指定模板类型生成面向研发测试的结构化PRD;并可选用 HTML + Tailwind CSS
|
|
5
|
+
产出高保真、可点击交互的静态原型(单页优先),原型须含 PRD 标注弹框与文档章节对齐,与 PRD 一致性核对。
|
|
6
|
+
在用户 @deppon-prd-generator、@prd、生成 PRD、HTML 原型、Tailwind 原型 时应用。
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# deppon-prd-generator(PRD + 可选高保真原型)
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
基于页面实现代码、spec.md 规格文档及用户指定的功能范围,智能识别页面类型并匹配对应模板,生成面向研发和测试人员的结构化产品需求文档(PRD)。在用户需要「可演示、可点」的需求载体时,**同目录**补充 **HTML + Tailwind CSS** 的高保真交互原型(免构建优先),便于评审与对标实现。
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- 用户明确要求生成 PRD 文档时
|
|
18
|
+
- 用户需要将已实现的页面转化为 PRD 文档时
|
|
19
|
+
- 用户需要根据 spec.md 生成正式 PRD 时
|
|
20
|
+
- 用户要求 **HTML / Tailwind CSS / 高保真原型 / 可交互原型 / 静态 demo** 与 PRD 一并或单独交付时
|
|
21
|
+
|
|
22
|
+
## Template Types
|
|
23
|
+
|
|
24
|
+
### 1. 数据看板类 (data-prd-template.md)
|
|
25
|
+
|
|
26
|
+
**适用场景**:
|
|
27
|
+
|
|
28
|
+
- 数据统计看板
|
|
29
|
+
- 报表分析页面
|
|
30
|
+
- 指标监控页面
|
|
31
|
+
|
|
32
|
+
**重点内容**:
|
|
33
|
+
|
|
34
|
+
- 指标定义和数据口径
|
|
35
|
+
- 数据来源说明
|
|
36
|
+
- 筛选条件
|
|
37
|
+
- 图表说明
|
|
38
|
+
- 交互规则
|
|
39
|
+
|
|
40
|
+
### 2. 后台列表类 (backend-list-prd-template.md)
|
|
41
|
+
|
|
42
|
+
**适用场景**:
|
|
43
|
+
|
|
44
|
+
- 数据列表管理页面
|
|
45
|
+
- 查询列表页面
|
|
46
|
+
- 台账管理页面
|
|
47
|
+
|
|
48
|
+
**重点内容**:
|
|
49
|
+
|
|
50
|
+
- 筛选条件
|
|
51
|
+
- 列表字段定义
|
|
52
|
+
- 排序规则
|
|
53
|
+
- 分页规则
|
|
54
|
+
- 批量操作
|
|
55
|
+
- 行操作
|
|
56
|
+
|
|
57
|
+
### 3. 后台表单编辑类 (backend-form-edit-prd-template.md)
|
|
58
|
+
|
|
59
|
+
**适用场景**:
|
|
60
|
+
|
|
61
|
+
- 新增/编辑表单页面
|
|
62
|
+
- 配置管理页面
|
|
63
|
+
- 数据录入页面
|
|
64
|
+
|
|
65
|
+
**重点内容**:
|
|
66
|
+
|
|
67
|
+
- 字段定义
|
|
68
|
+
- 字段校验规则(必填、长度、格式)
|
|
69
|
+
- 默认值
|
|
70
|
+
- 字段联动逻辑
|
|
71
|
+
- 提交规则
|
|
72
|
+
|
|
73
|
+
### 4. 后台表单预览类 (backend-form-preview-prd-template.md)
|
|
74
|
+
|
|
75
|
+
**适用场景**:
|
|
76
|
+
|
|
77
|
+
- 详情查看页面
|
|
78
|
+
- 预览页面
|
|
79
|
+
- 只读页面
|
|
80
|
+
|
|
81
|
+
**重点内容**:
|
|
82
|
+
|
|
83
|
+
- 字段展示规则
|
|
84
|
+
- 数据展示格式
|
|
85
|
+
- 操作按钮
|
|
86
|
+
|
|
87
|
+
### 5. 用户前台类 (user-frontend-prd-template.md)
|
|
88
|
+
|
|
89
|
+
**适用场景**:
|
|
90
|
+
|
|
91
|
+
- C 端用户页面
|
|
92
|
+
- 营销活动页面
|
|
93
|
+
- 产品展示页面
|
|
94
|
+
|
|
95
|
+
**重点内容**:
|
|
96
|
+
|
|
97
|
+
- 用户交互场景
|
|
98
|
+
- 功能触发条件
|
|
99
|
+
- 操作反馈
|
|
100
|
+
- 展示规范
|
|
101
|
+
|
|
102
|
+
## HTML + Tailwind CSS 高保真可交互原型
|
|
103
|
+
|
|
104
|
+
在 PRD 之外或用户明确要求时,输出**单文件或可合并的少量 HTML**,用 **Tailwind CSS** 还原布局与视觉层级,用 **原生 JavaScript**(无框架依赖)实现 PRD 中需要演示的交互,做到「能点开、能切换状态」,而非纯截图式静态页;**高保真交付须带 PRD 标注弹框**(见下文技术约定第 7 条)。
|
|
105
|
+
|
|
106
|
+
### 技术约定
|
|
107
|
+
|
|
108
|
+
1. **样式**:使用 [Tailwind CSS](https://tailwindcss.com/)(用户口语中的「tailcss」按 Tailwind CSS 理解)。优先 **Play CDN**(页面内 `<script src="https://cdn.tailwindcss.com"></script>`),单 HTML 用浏览器直接打开即可预览,无需本地构建。若用户仓库已集成 Tailwind 构建链,可改为引用构建产物,但须在交付说明中写清如何启动/打开。
|
|
109
|
+
2. **结构**:语义化 HTML5(`main`、`nav`、`section`、`button` 等);关键交互控件使用 `type="button"`,避免误提交。
|
|
110
|
+
3. **交互**:用少量内联或同文件 `<script>` 实现 Tab、折叠、弹层/抽屉开关、下拉、步骤条、表单校验态、禁用态、空态/加载骨架等;**数据用静态 mock**,接口行为用文字或 toast 模拟即可。
|
|
111
|
+
4. **保真**:对齐 `screenshot.png` 或现有页面:间距、字号、分区、主色/中性色尽量接近;复杂图表可用占位块 + 标注「图表区」而非强行手绘 SVG。
|
|
112
|
+
5. **无障碍(简要)**:可聚焦控件有可见焦点样式;弹层打开时焦点管理、必要处加 `aria-expanded` / `aria-modal` / `role`。
|
|
113
|
+
6. **与 PRD 对齐**:文件顶部 HTML 注释或页面页脚小块文字注明:对应 `prd.md` 的章节/功能范围,避免原型与文档漂移。
|
|
114
|
+
7. **PRD 标注弹框(高保真原型必含,与业务弹窗区分)**:
|
|
115
|
+
- **目的**:评审/走查时一眼对齐需求,避免原型仅「长得像」却难追溯 PRD。
|
|
116
|
+
- **形态**:在**主要功能区块**(如筛选区、列表区、工具栏、关键业务弹窗内等)旁放置触发器(推荐文案「PRD §x.x」「标注」或 `?` 图标按钮,`type="button"`);点击打开**独立标注弹框**——标题区须明显区别于业务弹窗(推荐小标签「需求标注」+ 琥珀/紫色调或左侧色条),正文为**结构化说明**(非长文粘贴全文 PRD)。
|
|
117
|
+
- **内容至少包含**:① 对应 `prd.md` 的**章节号与标题**;② **2~5 条**需求要点、验收注意或字段规则摘要;③ 可选:「待后端确认 / 与现网差异」一句。
|
|
118
|
+
- **交互与无障碍**:`role="dialog"`、`aria-modal="true"`、`aria-labelledby`;支持 **ESC**、遮罩点击、明确关闭按钮;**z-index** 须高于同页业务弹层(避免被详情/表单盖住),或与业务层分层约定一致。
|
|
119
|
+
- **禁止**:不要用标注弹框承载真实表单提交;不要与业务弹窗共用同一 DOM id。
|
|
120
|
+
|
|
121
|
+
### 输出路径
|
|
122
|
+
|
|
123
|
+
- 与 PRD 同目录:`src/prototypes/<page-name>/prototype.html`(默认文件名,避免与业务入口 `index.html` 混淆)。
|
|
124
|
+
- 若页面拆成多屏且单文件过长,可拆为 `prototype-list.html`、`prototype-detail.html` 等,并在各文件注释中写明导航关系。
|
|
125
|
+
|
|
126
|
+
## Workflow
|
|
127
|
+
|
|
128
|
+
### Step 1: 页面分析
|
|
129
|
+
|
|
130
|
+
1. 读取目标页面的 `index.tsx`(或主要实现文件)
|
|
131
|
+
2. 读取 `spec.md` 规格文档(如果存在)
|
|
132
|
+
3. 读取 `content.md` 或其他相关文档
|
|
133
|
+
4. 查看 `screenshot.png` 了解页面视觉
|
|
134
|
+
|
|
135
|
+
### Step 2: 类型识别
|
|
136
|
+
|
|
137
|
+
基于页面内容自动识别类型:
|
|
138
|
+
|
|
139
|
+
- 包含大量图表、指标 → 数据看板类
|
|
140
|
+
- 包含列表、筛选、分页 → 后台列表类
|
|
141
|
+
- 包含表单输入、提交 → 后台表单编辑类
|
|
142
|
+
- 只有展示、无输入 → 后台表单预览类
|
|
143
|
+
- C 端用户界面 → 用户前台类
|
|
144
|
+
|
|
145
|
+
### Step 3: 需求确认(按需,避免无效追问)
|
|
146
|
+
|
|
147
|
+
仅在**无法自动识别页面类型**、**功能范围严重不明**或**用户指令自相矛盾**时,做**最小必要**的一两句确认。
|
|
148
|
+
|
|
149
|
+
**原型(prototype.html)边界(默认遵守,禁止违背)**:
|
|
150
|
+
|
|
151
|
+
- 用户仅说「生成 PRD / 写 PRD / PRD 文档」等:**只交付 `prd.md`**,**不**生成 `prototype.html`,也**禁止**在回复末尾追问「要不要带原型 / HTML / Tailwind」。
|
|
152
|
+
- 用户话里已出现 **原型、HTML、Tailwind、高保真、可交互 demo、prototype** 等且与 PRD 一并提出:**直接执行 Step 4 + Step 4b**,无需再确认是否要做原型。
|
|
153
|
+
|
|
154
|
+
### Step 4: PRD 生成
|
|
155
|
+
|
|
156
|
+
1. 应用对应模板
|
|
157
|
+
2. 从页面实现和 spec.md 中提取信息
|
|
158
|
+
3. 填充模板内容
|
|
159
|
+
4. 保存到 `<project-dir>/src/prototypes/<page-name>/prd.md`
|
|
160
|
+
|
|
161
|
+
### Step 4b: 高保真原型生成(可选)
|
|
162
|
+
|
|
163
|
+
在用户**已明确要求**原型(见 Step 3 关键词)时执行;未出现上述要求则跳过本步。
|
|
164
|
+
|
|
165
|
+
1. 以 PRD 与视觉参考(截图/实现)为清单,划分布局区块与交互点。
|
|
166
|
+
2. 编写 `prototype.html`:Tailwind CDN + 结构 + 样式类 + 演示用 JS;**必须包含 PRD 标注弹框**(见上文「技术约定」第 7 条:分区触发器、独立弹层、章节对照与 z-index)。
|
|
167
|
+
3. 保证主要路径可点通(例如列表 → 详情弹层 → 返回)。
|
|
168
|
+
4. 保存到 `src/prototypes/<page-name>/prototype.html`(或多文件时同目录)。
|
|
169
|
+
|
|
170
|
+
### Step 5: 一致性核对
|
|
171
|
+
|
|
172
|
+
核对以下维度:
|
|
173
|
+
|
|
174
|
+
- ✅ 功能点与页面实现一致
|
|
175
|
+
- ✅ 技术约定与 spec.md 一致
|
|
176
|
+
- ✅ 范围与用户要求一致
|
|
177
|
+
- ✅ 无遗漏核心内容
|
|
178
|
+
- ✅(若含原型)**原型页面信息与 `prd.md` 一致**;已承诺的交互在原型中可演示;文案/字段与 spec 不冲突;**标注弹框**与 `prd.md` 章节一一对应、无误导性描述
|
|
179
|
+
|
|
180
|
+
如有不一致,返回 Step 4(及 4b)重新生成。
|
|
181
|
+
|
|
182
|
+
## Rules
|
|
183
|
+
|
|
184
|
+
1. **路径规范**:PRD 必须保存到 `src/prototypes/<page-name>/prd.md`
|
|
185
|
+
2. **命名规范**:文件名必须为 `prd.md`(小写);默认可交互原型文件名为 `prototype.html`
|
|
186
|
+
3. **术语规范**:使用研发/测试通用术语
|
|
187
|
+
4. **范围约束**:用户指定范围时,不超出范围
|
|
188
|
+
5. **必须核对**:生成后必须进行一致性核对
|
|
189
|
+
6. **原型约束**:优先单文件 + Tailwind CDN,避免引入未声明的 npm 依赖;交互逻辑保持可读、可删改,不写死真实密钥或内网地址;**高保真 `prototype.html` 必须包含 PRD 标注弹框**(分区触发 + 独立弹层 + 章节对照,见上文「技术约定」第 7 条)
|
|
190
|
+
7. **禁止无效追问**:仅请求 PRD 时不得主动询问是否补充原型;需要原型须由用户在指令中写明(见 Step 3)
|
|
191
|
+
|
|
192
|
+
## Example Usage
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
用户:帮我生成 data-search 页面的PRD
|
|
196
|
+
→ 执行:
|
|
197
|
+
1. 分析 index.tsx 和 spec.md
|
|
198
|
+
2. 识别为数据看板类
|
|
199
|
+
3. 应用 data-prd-template.md
|
|
200
|
+
4. 生成 src/prototypes/data-search/prd.md
|
|
201
|
+
5. 核对一致性
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
用户:生成合同详情页的 PRD,并给一个 HTML+Tailwind 可点的原型
|
|
206
|
+
→ 执行:
|
|
207
|
+
1. 同上演示 PRD 流程至 prd.md
|
|
208
|
+
2. Step 4b:生成 src/prototypes/contract-detail/prototype.html(Tailwind CDN + 分区布局 + Tab/弹层等 mock 交互 + PRD 标注弹框)
|
|
209
|
+
3. 核对 PRD、原型、spec/实现 一致
|
|
210
|
+
```
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# deppon-prd-generator 快速参考指南
|
|
2
|
+
|
|
3
|
+
## 🚀 快速开始
|
|
4
|
+
|
|
5
|
+
### 一句话命令
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
帮我生成 [页面路径] 的PRD
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### 示例
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
帮我生成 data-search 页面的PRD
|
|
15
|
+
帮我生成 src/prototypes/xyop-ciku-list 的PRD
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📋 页面类型速查表
|
|
21
|
+
|
|
22
|
+
| 图标 | 类型 | 适用场景 | 模板 |
|
|
23
|
+
| ---- | -------------- | --------------------------------- | ------------------------------------ |
|
|
24
|
+
| 📊 | 数据看板类 | 统计看板、报表分析、指标监控 | data-prd-template.md |
|
|
25
|
+
| 📋 | 后台列表类 | 数据列表、查询列表、台账管理 | backend-list-prd-template.md |
|
|
26
|
+
| ✏️ | 后台表单编辑类 | 新增/编辑表单、配置管理、数据录入 | backend-form-edit-prd-template.md |
|
|
27
|
+
| 👁️ | 后台表单预览类 | 详情查看、预览页面、只读页面 | backend-form-preview-prd-template.md |
|
|
28
|
+
| 🎨 | 用户前台类 | C 端页面、营销活动、产品展示 | user-frontend-prd-template.md |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 🎯 指定页面类型
|
|
33
|
+
|
|
34
|
+
如果需要强制使用某种类型,可以这样说:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
帮我生成 [页面路径] 的PRD,使用数据看板类模板
|
|
38
|
+
帮我生成 [页面路径] 的PRD,使用后台列表类模板
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 🔍 指定功能范围
|
|
44
|
+
|
|
45
|
+
如果只需要生成部分功能的 PRD:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
帮我生成 [页面路径] 的PRD,只包含筛选和列表部分
|
|
49
|
+
帮我生成 [页面路径] 的PRD,重点关注表单编辑功能
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 📁 文件结构
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
skills/deppon-prd-generator/
|
|
58
|
+
├── SKILL.md # 主技能文档
|
|
59
|
+
├── workflow.md # 详细工作流程
|
|
60
|
+
├── quick-reference.md # 本文件 - 快速参考
|
|
61
|
+
└── template/
|
|
62
|
+
├── data-prd-template.md # 数据看板模板
|
|
63
|
+
├── backend-list-prd-template.md # 后台列表模板
|
|
64
|
+
├── backend-form-edit-prd-template.md # 表单编辑模板
|
|
65
|
+
├── backend-form-preview-prd-template.md # 表单预览模板
|
|
66
|
+
└── user-frontend-prd-template.md # 用户前台模板
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## ✅ 输出检查清单
|
|
72
|
+
|
|
73
|
+
生成 PRD 后,请确认:
|
|
74
|
+
|
|
75
|
+
- [ ] 文件保存在正确位置:`src/prototypes/<page-name>/prd.md`
|
|
76
|
+
- [ ] 文件名正确:`prd.md`(小写)
|
|
77
|
+
- [ ] 内容与页面实现一致
|
|
78
|
+
- [ ] 内容与 spec.md 一致(如果有)
|
|
79
|
+
- [ ] 没有遗漏核心功能
|
|
80
|
+
- [ ] 使用了研发/测试通用术语
|
|
81
|
+
- [ ] 结构清晰、层次分明
|
|
82
|
+
|
|
83
|
+
若同时生成高保真可交互原型:
|
|
84
|
+
|
|
85
|
+
- [ ] `src/prototypes/<page-name>/prototype.html` 可用浏览器直接打开(默认 Tailwind Play CDN)
|
|
86
|
+
- [ ] 主要交互可演示;与 `prd.md` 描述一致
|
|
87
|
+
- [ ] **含 PRD 标注弹框**:分区触发、弹层内章节号与要点、与业务弹窗区分、可 ESC/遮罩关闭
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 💡 常用提示词
|
|
92
|
+
|
|
93
|
+
### 基础使用
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
帮我生成 data-search 页面的PRD
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 指定类型
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
帮我生成 data-search 页面的PRD,使用数据看板类模板
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 指定范围
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
帮我生成 data-search 页面的PRD,重点关注找供应商看板
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 详细要求
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
帮我生成 data-search 页面的PRD,需要详细描述数据口径和指标定义
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### PRD + HTML + Tailwind 可交互原型
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
帮我生成 xxx 页面的PRD,并输出同目录 prototype.html:Tailwind CDN、高保真布局、Tab 和弹层可点;主区块须带 PRD 标注弹框(琥珀顶栏、章节对照、Esc 关闭)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 🆘 常见问题
|
|
126
|
+
|
|
127
|
+
### Q: 生成的 PRD 保存在哪里?
|
|
128
|
+
|
|
129
|
+
A: 保存在 `src/prototypes/<page-name>/prd.md`。若生成可交互原型,默认同目录 `prototype.html`。
|
|
130
|
+
|
|
131
|
+
### Q: 可以修改已生成的 PRD 吗?
|
|
132
|
+
|
|
133
|
+
A: 可以,直接告诉需要修改的内容即可。如果修改了页面实现,建议重新生成 PRD。
|
|
134
|
+
|
|
135
|
+
### Q: 页面同时有列表和表单怎么办?
|
|
136
|
+
|
|
137
|
+
A: 选择主要功能类型,其他功能在对应模块详细描述
|
|
138
|
+
|
|
139
|
+
### Q: spec.md 不存在怎么办?
|
|
140
|
+
|
|
141
|
+
A: 只基于页面实现生成 PRD,不依赖 spec.md
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 📞 获取帮助
|
|
146
|
+
|
|
147
|
+
如果遇到问题,可以这样问:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
这个页面应该用哪种模板?
|
|
151
|
+
帮我看看这个页面属于什么类型?
|
|
152
|
+
生成PRD时需要注意什么?
|
|
153
|
+
```
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# [页面名称] PRD (产品需求文档)
|
|
2
|
+
|
|
3
|
+
## 1. 引言
|
|
4
|
+
|
|
5
|
+
### 1.1 背景
|
|
6
|
+
|
|
7
|
+
> 简要说明该元素/页面的核心定位、解决的问题、用户价值(控制在50字左右)。
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
[需求背景内容]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### 1.2 功能清单
|
|
14
|
+
|
|
15
|
+
> 以表格形式梳理出所有模块、功能点及功能描述。
|
|
16
|
+
>
|
|
17
|
+
> 功能清单不包含:页面顶栏、左侧菜单栏的样式、交互需求内容!
|
|
18
|
+
|
|
19
|
+
| 模块 | 功能点 | 功能描述 |
|
|
20
|
+
| ---------------- | -------------- | -------------- |
|
|
21
|
+
| `[功能模块标题]` | `[功能点标题]` | `[功能点描述]` |
|
|
22
|
+
|
|
23
|
+
## 2. 页面菜单与权限规划
|
|
24
|
+
|
|
25
|
+
### 2.1 页面菜单
|
|
26
|
+
|
|
27
|
+
> 参考菜单栏,描述页面菜单路径。仅描述菜单路径即可!不要做其他内容说明。
|
|
28
|
+
|
|
29
|
+
**菜单路径**:[一级菜单名称] / [二级菜单名称]
|
|
30
|
+
|
|
31
|
+
### 2.2 权限规划
|
|
32
|
+
|
|
33
|
+
> 表格呈现权限点规划,仅定义权限点、可执行操作范围、数据范围(如:个人数据/全量数据),不定义具体角色;
|
|
34
|
+
>
|
|
35
|
+
> **权限点规划的基本原则:**查看类操作归集在【查看】一个权限点;编辑类操作归集在【编辑】一个权限点;导出类操作归集在【导出】一个权限点。
|
|
36
|
+
|
|
37
|
+
| 权限点 | 操作范围 | 数据范围 |
|
|
38
|
+
| -------------- | ------------------ | ------------- |
|
|
39
|
+
| `[权限点名称]` | `[支持的操作名称]` | `[个人/全量]` |
|
|
40
|
+
|
|
41
|
+
## 3. [模块名称]需求说明
|
|
42
|
+
|
|
43
|
+
### 3.1 表单字段说明
|
|
44
|
+
|
|
45
|
+
> 按表单字段逐一描述,包含字段名称、类型、必填性、校验规则、默认值、说明等
|
|
46
|
+
|
|
47
|
+
| 字段名称 | 字段类型 | 必填 | 默认值 | 校验规则 | 说明 |
|
|
48
|
+
|---------|---------|------|--------|---------|------|
|
|
49
|
+
| `[字段名]` | `[文本/下拉/日期/数字等]` | 是/否 | `[默认值]` | `[校验规则,如:长度1-50,手机号格式等]` | `[字段说明]` |
|
|
50
|
+
|
|
51
|
+
### 3.2 字段详细说明
|
|
52
|
+
|
|
53
|
+
> 对每个字段进行更详细的说明,特别是有特殊逻辑的字段
|
|
54
|
+
|
|
55
|
+
#### 3.2.1 [字段名称]
|
|
56
|
+
|
|
57
|
+
- **字段说明**:[详细说明]
|
|
58
|
+
- **输入限制**:[具体限制]
|
|
59
|
+
- **校验规则**:
|
|
60
|
+
- 规则1:[描述]
|
|
61
|
+
- 规则2:[描述]
|
|
62
|
+
- **错误提示**:[校验失败时的提示信息]
|
|
63
|
+
|
|
64
|
+
### 3.3 字段联动逻辑
|
|
65
|
+
|
|
66
|
+
> 描述字段之间的联动关系,如:选择A后,B字段显示/隐藏、变为必填等
|
|
67
|
+
|
|
68
|
+
| 触发字段 | 触发条件 | 影响字段 | 影响效果 |
|
|
69
|
+
|---------|---------|---------|---------|
|
|
70
|
+
| `[字段A]` | `[选择某个值]` | `[字段B]` | `[显示/隐藏/必填/可选等]` |
|
|
71
|
+
|
|
72
|
+
### 3.4 操作按钮
|
|
73
|
+
|
|
74
|
+
#### 3.4.1 保存/提交
|
|
75
|
+
|
|
76
|
+
- **按钮位置**:表单底部
|
|
77
|
+
- **点击逻辑**:
|
|
78
|
+
1. 前端校验所有必填字段和格式校验
|
|
79
|
+
2. 校验失败:显示错误提示,光标定位到第一个错误字段
|
|
80
|
+
3. 校验通过:调用后端接口提交数据
|
|
81
|
+
4. 提交成功:显示成功提示,跳转至列表页
|
|
82
|
+
5. 提交失败:显示失败提示,保留表单数据
|
|
83
|
+
|
|
84
|
+
#### 3.4.2 取消
|
|
85
|
+
|
|
86
|
+
- **按钮位置**:保存按钮旁边
|
|
87
|
+
- **点击逻辑**:
|
|
88
|
+
1. 若表单有修改,弹出二次确认:"您有未保存的修改,确定要离开吗?"
|
|
89
|
+
2. 确认:跳转至列表页
|
|
90
|
+
3. 取消:停留在当前页面
|
|
91
|
+
|
|
92
|
+
#### 3.4.3 重置
|
|
93
|
+
|
|
94
|
+
- **按钮位置**:表单底部(可选)
|
|
95
|
+
- **点击逻辑**:
|
|
96
|
+
1. 弹出二次确认:"确定要重置表单吗?"
|
|
97
|
+
2. 确认:恢复所有字段为默认值
|
|
98
|
+
3. 取消:不做操作
|
|
99
|
+
|
|
100
|
+
## 4. 交互设计
|
|
101
|
+
|
|
102
|
+
### 4.1 全局交互
|
|
103
|
+
|
|
104
|
+
- **加载状态**:数据请求过程中需展示 Loading 状态。
|
|
105
|
+
- **空状态**:无数据时需展示统一的 Empty 状态图。
|
|
106
|
+
- **响应式**:页面需适配不同分辨率屏幕,保证内容不遮挡、不错位。
|
|
107
|
+
|
|
108
|
+
### 4.2 表单交互
|
|
109
|
+
|
|
110
|
+
- **实时校验**:字段失焦时进行校验,即时显示错误提示
|
|
111
|
+
- **必填标识**:必填字段前显示红色星号(*)
|
|
112
|
+
- **Tab键导航**:支持Tab键在字段间顺序切换
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# [页面名称] PRD (产品需求文档)
|
|
2
|
+
|
|
3
|
+
## 1. 引言
|
|
4
|
+
|
|
5
|
+
### 1.1 背景
|
|
6
|
+
|
|
7
|
+
> 简要说明该元素/页面的核心定位、解决的问题、用户价值(控制在50字左右)。
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
[需求背景内容]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### 1.2 功能清单
|
|
14
|
+
|
|
15
|
+
> 以表格形式梳理出所有模块、功能点及功能描述。
|
|
16
|
+
>
|
|
17
|
+
> 功能清单不包含:页面顶栏、左侧菜单栏的样式、交互需求内容!
|
|
18
|
+
|
|
19
|
+
| 模块 | 功能点 | 功能描述 |
|
|
20
|
+
| ---------------- | -------------- | -------------- |
|
|
21
|
+
| `[功能模块标题]` | `[功能点标题]` | `[功能点描述]` |
|
|
22
|
+
|
|
23
|
+
## 2. 页面菜单与权限规划
|
|
24
|
+
|
|
25
|
+
### 2.1 页面菜单
|
|
26
|
+
|
|
27
|
+
> 参考菜单栏,描述页面菜单路径。仅描述菜单路径即可!不要做其他内容说明。
|
|
28
|
+
|
|
29
|
+
**菜单路径**:[一级菜单名称] / [二级菜单名称]
|
|
30
|
+
|
|
31
|
+
### 2.2 权限规划
|
|
32
|
+
|
|
33
|
+
> 表格呈现权限点规划,仅定义权限点、可执行操作范围、数据范围(如:个人数据/全量数据),不定义具体角色;
|
|
34
|
+
>
|
|
35
|
+
> **权限点规划的基本原则:**查看类操作归集在【查看】一个权限点;编辑类操作归集在【编辑】一个权限点;导出类操作归集在【导出】一个权限点。
|
|
36
|
+
|
|
37
|
+
| 权限点 | 操作范围 | 数据范围 |
|
|
38
|
+
| -------------- | ------------------ | ------------- |
|
|
39
|
+
| `[权限点名称]` | `[支持的操作名称]` | `[个人/全量]` |
|
|
40
|
+
|
|
41
|
+
## 3. [模块名称]需求说明
|
|
42
|
+
|
|
43
|
+
### 3.1 信息展示区域
|
|
44
|
+
|
|
45
|
+
> 描述页面展示的所有信息字段
|
|
46
|
+
|
|
47
|
+
| 字段名称 | 展示格式 | 说明 |
|
|
48
|
+
|---------|---------|------|
|
|
49
|
+
| `[字段名]` | `[文本/日期/金额/状态标签等]` | `[字段说明]` |
|
|
50
|
+
|
|
51
|
+
### 3.2 字段详细说明
|
|
52
|
+
|
|
53
|
+
> 对重要字段进行详细说明
|
|
54
|
+
|
|
55
|
+
#### 3.2.1 [字段名称]
|
|
56
|
+
|
|
57
|
+
- **字段说明**:[详细说明]
|
|
58
|
+
- **展示格式**:[具体格式,如:YYYY-MM-DD、¥#,##0.00等]
|
|
59
|
+
- **空值展示**:[空值时显示的内容,如:-、暂无等]
|
|
60
|
+
- **特殊规则**:[特殊展示规则,如:状态颜色、超长省略等]
|
|
61
|
+
|
|
62
|
+
### 3.3 操作按钮
|
|
63
|
+
|
|
64
|
+
> 描述页面上的操作按钮
|
|
65
|
+
|
|
66
|
+
| 按钮名称 | 按钮位置 | 点击逻辑 | 权限要求 |
|
|
67
|
+
|---------|---------|---------|---------|
|
|
68
|
+
| `[编辑]` | `[页面右上角/底部等]` | `[跳转至编辑页面]` | `[需要编辑权限]` |
|
|
69
|
+
| `[删除]` | `[页面右上角/底部等]` | `[弹出二次确认,确认后删除]` | `[需要删除权限]` |
|
|
70
|
+
| `[返回]` | `[页面左上角/底部等]` | `[返回上一页/列表页]` | `[无权限要求]` |
|
|
71
|
+
|
|
72
|
+
#### 3.3.1 编辑按钮
|
|
73
|
+
|
|
74
|
+
- **按钮样式**:主按钮样式
|
|
75
|
+
- **点击逻辑**:
|
|
76
|
+
1. 校验编辑权限
|
|
77
|
+
2. 有权限:跳转至编辑页面,携带当前记录ID
|
|
78
|
+
3. 无权限:显示无权限提示
|
|
79
|
+
|
|
80
|
+
#### 3.3.2 删除按钮
|
|
81
|
+
|
|
82
|
+
- **按钮样式**:危险按钮样式
|
|
83
|
+
- **点击逻辑**:
|
|
84
|
+
1. 校验删除权限
|
|
85
|
+
2. 弹出二次确认:"确定要删除该记录吗?删除后不可恢复。"
|
|
86
|
+
3. 确认:调用删除接口
|
|
87
|
+
4. 删除成功:显示成功提示,跳转至列表页
|
|
88
|
+
5. 删除失败:显示失败提示
|
|
89
|
+
|
|
90
|
+
#### 3.3.3 返回按钮
|
|
91
|
+
|
|
92
|
+
- **按钮样式**:次要按钮样式
|
|
93
|
+
- **点击逻辑**:
|
|
94
|
+
1. 跳转至上一页或列表页
|
|
95
|
+
|
|
96
|
+
## 4. 交互设计
|
|
97
|
+
|
|
98
|
+
### 4.1 全局交互
|
|
99
|
+
|
|
100
|
+
- **加载状态**:数据请求过程中需展示 Loading 状态。
|
|
101
|
+
- **空状态**:无数据时需展示统一的 Empty 状态图。
|
|
102
|
+
- **响应式**:页面需适配不同分辨率屏幕,保证内容不遮挡、不错位。
|
|
103
|
+
|
|
104
|
+
### 4.2 页面交互
|
|
105
|
+
|
|
106
|
+
- **数据加载**:进入页面时,根据ID加载详情数据
|
|
107
|
+
- **权限控制**:根据用户权限控制操作按钮的显示/隐藏
|
|
108
|
+
- **复制功能**:(可选)支持一键复制某些字段内容
|