@guru-ai-product/ai-product-kit 0.1.251112172507

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.
Files changed (64) hide show
  1. package/README.md +107 -0
  2. package/bin/setup.js +89 -0
  3. package/package.json +24 -0
  4. package/skills/aipk_design/GURU_AI.md +10 -0
  5. package/skills/aipk_design/SKILL.md +33 -0
  6. package/skills/aipk_design/auto_panel_splitter/SKILL.md +360 -0
  7. package/skills/aipk_design/auto_panel_splitter/scripts/auto_panel_splitter.js +399 -0
  8. package/skills/aipk_design/auto_panel_splitter/scripts/panel_asset_mapper.js +445 -0
  9. package/skills/aipk_development/GURU_AI.md +8 -0
  10. package/skills/aipk_development/SKILL.md +20 -0
  11. package/skills/aipk_development/templates//345/256/236/346/226/275/350/256/241/345/210/222/346/226/207/346/241/243.md +302 -0
  12. package/skills/aipk_init_project/SKILL.md +188 -0
  13. package/skills/aipk_init_project/scripts/check_agents.sh +55 -0
  14. package/skills/aipk_init_project/template/AGENTS_TEMPLATE.md +138 -0
  15. package/skills/aipk_operations/GURU_AI.md +10 -0
  16. package/skills/aipk_operations/SKILL.md +37 -0
  17. package/skills/aipk_operations/aso_new_release/SKILL.md +84 -0
  18. package/skills/aipk_operations/aso_new_release/references/aso-update-notes-prompt.md +196 -0
  19. package/skills/aipk_operations/aso_new_release/references/aso-update-notes-template.md +162 -0
  20. package/skills/aipk_requirements/GURU_AI.md +39 -0
  21. package/skills/aipk_requirements/SKILL.md +243 -0
  22. package/skills/aipk_requirements/changes/SKILL.md +196 -0
  23. package/skills/aipk_requirements/changes/template/index.md +30 -0
  24. package/skills/aipk_requirements/changes/template//351/234/200/346/261/202/345/217/230/345/212/250/350/257/264/346/230/216/346/226/207/346/241/243/346/250/241/346/235/277.md +576 -0
  25. package/skills/aipk_requirements/changes/template//351/234/200/346/261/202/345/217/230/345/212/250/350/257/264/346/230/216/347/224/237/346/210/220Prompt.md +349 -0
  26. package/skills/aipk_requirements/changes/template//351/234/200/346/261/202/345/217/230/345/212/250/350/257/264/346/230/216/347/224/237/346/210/220/346/214/207/345/215/227.md +292 -0
  27. package/skills/aipk_requirements/documentation/SKILL.md +930 -0
  28. package/skills/aipk_requirements/documentation/template/1_/344/272/247/345/223/201/345/256/232/344/275/215/344/270/216/345/210/206/346/236/220.md +86 -0
  29. package/skills/aipk_requirements/documentation/template/2_/345/212/237/350/203/275/351/234/200/346/261/202.md +67 -0
  30. package/skills/aipk_requirements/documentation/template/3_/345/225/206/344/270/232/345/214/226/347/255/226/347/225/245.md +131 -0
  31. package/skills/aipk_requirements/documentation/template/4_/347/224/250/346/210/267/347/225/214/351/235/242/344/270/216/344/275/223/351/252/214.md +665 -0
  32. package/skills/aipk_requirements/documentation/template/AI /345/272/224/347/224/250/347/261/273APP/351/200/232/347/224/250/345/237/213/347/202/271/346/226/207/346/241/243.xlsx +0 -0
  33. package/skills/aipk_requirements/documentation/template/Draft_/344/272/247/345/223/201/351/234/200/346/261/202/350/215/211/347/250/277.md +60 -0
  34. package/skills/aipk_requirements/documentation/template/Draft_/347/224/250/346/210/267/346/227/205/347/250/213/350/215/211/347/250/277.md +84 -0
  35. package/skills/aipk_requirements/documentation/template/index.md +83 -0
  36. package/skills/aipk_requirements/documentation/template//345/237/213/347/202/271/350/247/204/350/214/203/346/226/207/346/241/243.md +372 -0
  37. package/skills/aipk_requirements/documentation/template//351/234/200/346/261/202/350/277/255/344/273/243/346/250/241/346/235/277.md +821 -0
  38. package/skills/aipk_requirements/documentation/template//351/234/200/346/261/202/350/277/255/344/273/243/347/264/242/345/274/225.md +30 -0
  39. package/skills/aipk_requirements/initiative_planning/SKILL.md +407 -0
  40. package/skills/aipk_requirements/initiative_planning/template/SWOT/345/210/206/346/236/220/346/250/241/346/235/277.md +381 -0
  41. package/skills/aipk_requirements/initiative_planning/template//344/272/247/345/223/201/350/247/204/345/210/222/346/250/241/346/235/277.md +322 -0
  42. package/skills/aipk_requirements/initiative_planning/template//345/225/206/344/270/232/345/214/226/350/247/204/345/210/222/346/250/241/346/235/277.md +201 -0
  43. package/skills/aipk_requirements/initiative_planning/template//345/270/202/345/234/272/344/270/216/345/225/206/344/270/232/345/210/206/346/236/220/346/250/241/346/235/277.md +176 -0
  44. package/skills/aipk_requirements/initiative_planning/template//346/212/200/346/234/257/350/247/204/345/210/222/346/250/241/346/235/277.md +314 -0
  45. package/skills/aipk_requirements/intake/SKILL.md +260 -0
  46. package/skills/aipk_requirements/intake/examples/K12/346/225/260/345/255/246/345/255/246/344/271/240/345/272/224/347/224/250/346/241/210/344/276/213.md +371 -0
  47. package/skills/aipk_requirements/intake/examples//347/224/265/345/225/206/345/271/263/345/217/260/344/274/230/345/214/226/346/241/210/344/276/213.md +426 -0
  48. package/skills/aipk_requirements/intake/references/Gemini_DeepResearch_/345/267/245/345/205/267/351/223/276/346/225/264/345/220/210/346/236/266/346/236/204/350/256/276/350/256/241.md +1272 -0
  49. package/skills/aipk_requirements/intake/template//344/272/247/345/223/201/351/234/200/346/261/202/345/217/221/347/216/260/344/270/216/351/252/214/350/257/201/346/250/241/346/235/277.md +53 -0
  50. package/skills/aipk_requirements/intake/template//345/270/202/345/234/272/346/234/272/344/274/232/350/257/204/344/274/260/344/270/216/347/253/236/344/272/211/345/210/206/346/236/220/346/250/241/346/235/277.md +53 -0
  51. package/skills/aipk_requirements/intake/template//346/212/200/346/234/257/346/226/271/346/241/210/350/257/204/344/274/260/344/270/216/345/217/257/350/241/214/346/200/247/345/210/206/346/236/220/346/250/241/346/235/277.md +72 -0
  52. package/skills/aipk_requirements/intake/template//346/267/261/345/272/246/347/224/250/346/210/267/350/241/214/344/270/272/344/270/216/351/234/200/346/261/202/346/264/236/345/257/237/346/250/241/346/235/277.md +59 -0
  53. package/skills/aipk_requirements/review/SKILL.md +218 -0
  54. package/skills/aipk_skill_generate/GURU_AI.md +8 -0
  55. package/skills/aipk_skill_generate/SKILL.md +259 -0
  56. package/skills/aipk_skill_generate/agent_skills_spec.md +79 -0
  57. package/skills/aipk_tool_prompts/AI/344/275/223/351/252/214/350/256/276/350/256/241/346/214/207/345/215/227.md +93 -0
  58. package/skills/aipk_tool_prompts/GURU_AI.md +13 -0
  59. package/skills/aipk_tool_prompts/Prompt/347/224/237/346/210/220.md +20 -0
  60. package/skills/aipk_tool_prompts/SKILL.md +55 -0
  61. package/skills/aipk_tool_prompts/images/20250710200701.png +0 -0
  62. package/skills/aipk_tool_prompts/images/20250710200802.png +0 -0
  63. package/skills/aipk_tool_prompts//346/240/207/350/256/260/346/226/207/346/241/243/346/233/264/346/226/260.md +33 -0
  64. package/skills/aipk_tool_prompts//347/224/237/346/210/220DrawIO/346/226/207/346/241/243.md +45 -0
@@ -0,0 +1,821 @@
1
+ # [功能名称] - [功能描述]
2
+
3
+ ## 1. 需求背景
4
+
5
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
6
+ **重要说明**:在填写需求背景前,必须先完成历史需求文档检查:
7
+
8
+ 1. **查找历史文档**:在项目的 `requirements/` 或 `../../` 目录下查找相关的历史需求文档
9
+ 2. **分析现有设计**:仔细阅读历史文档中的相关功能描述、设计思路和实现方案
10
+ 3. **保持一致性**:尽量参考现有的设计(除了用户明确要调整的部分),保持统一和一致
11
+ 4. **明确变更**:清晰说明本次迭代与历史文档的关系,哪些是继承,哪些是修改
12
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
13
+
14
+ **问题描述**:[描述当前存在的问题,用户痛点]
15
+
16
+ **业务目标**:[描述通过此功能要达成的业务目标]
17
+
18
+ **用户影响**:[描述影响的目标用户群体]
19
+
20
+ **历史文档参考**(可选):
21
+
22
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
23
+ **重要说明**:如果本次迭代基于历史需求文档,应在此处引用相关文档,说明继承和修改的关系。如果没有相关历史文档,可省略此部分。
24
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
25
+
26
+ * [相关历史需求文档](文档链接) - [说明与本次迭代的关系,如:继承设计思路、修改交互流程、扩展功能范围等]
27
+
28
+ ## 2. 整体修改逻辑
29
+
30
+ ### 2.1 整体设计
31
+
32
+ [用简单清晰的语言,完整介绍整体设计思路和设计内容]
33
+
34
+ **设计思路**:
35
+
36
+ [描述在现有基础上如何设计新功能,解决什么问题]
37
+
38
+ **核心功能**:
39
+
40
+ * **[功能1]**:[功能描述]
41
+ * **[功能2]**:[功能描述]
42
+ * **[功能3]**:[功能描述]
43
+ * **[功能4]**:[功能描述]
44
+ * **[功能5]**:[功能描述]
45
+
46
+ **需求要点**:
47
+
48
+ * **[要点1]**:[需求要点描述]
49
+ * **[要点2]**:[需求要点描述]
50
+ * **[要点3]**:[需求要点描述]
51
+
52
+ ### 2.2 交互流程设计
53
+
54
+ #### 2.2.1 完整交互流程
55
+
56
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
57
+ **重要说明**:以下情况可以省略流程图,直接使用 `*略*` 标记:
58
+
59
+ * **简单功能场景**:单一操作、无分支判断、无复杂交互
60
+ * 场景举例:修改按钮颜色、调整文案内容、添加简单设置选项
61
+ * **无流程变更场景**:在现有流程基础上增加功能,不改变原有交互逻辑
62
+ * 场景举例:在现有页面添加新按钮、在现有表单增加字段
63
+ * **纯展示功能场景**:只展示信息,无用户交互操作
64
+ * 场景举例:新增数据展示页面、添加统计图表
65
+ * **后端功能场景**:纯服务端功能,无前端交互流程
66
+ * 场景举例:新增API接口、优化数据库查询、添加缓存机制
67
+
68
+ **需要流程图的情况**:
69
+
70
+ * 新增复杂交互流程
71
+ * 修改现有流程逻辑
72
+ * 多步骤操作流程
73
+ * 有分支判断的交互
74
+ * 涉及多页面跳转的功能
75
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
76
+
77
+ [使用Mermaid流程图展示完整的用户交互流程]
78
+
79
+ ```mermaid
80
+ graph TD
81
+ A[起始节点] --> B[用户操作]
82
+ B --> C{判断条件}
83
+ C -->|条件1| D[操作1]
84
+ C -->|条件2| E[操作2]
85
+ D --> F[结果1]
86
+ E --> G[结果2]
87
+
88
+ %% 样式定义
89
+ style A fill:#e8f5e8
90
+ style B fill:#e3f2fd
91
+ style C fill:#e3f2fd
92
+ style D fill:#e8f5e8
93
+ style E fill:#e8f5e8
94
+ style F fill:#c8e6c9
95
+ style G fill:#c8e6c9
96
+ ```
97
+
98
+ **图例说明**(可选):
99
+
100
+ * 🟢 **绿色节点**:起始/结束节点
101
+ * 🔵 **蓝色节点**:用户操作/判断节点
102
+ * 🟢 **浅绿色节点**:操作结果节点
103
+
104
+ #### 2.2.2 关键交互节点
105
+
106
+ **用户主动触发点**:
107
+
108
+ * **[触发点1]**:[触发点描述]
109
+ * **[触发点2]**:[触发点描述]
110
+ * **[触发点3]**:[触发点描述]
111
+
112
+ **视觉反馈机制**:
113
+
114
+ * **[反馈机制1]**:[具体表现]
115
+ * **[反馈机制2]**:[具体表现]
116
+ * **[反馈机制3]**:[具体表现]
117
+
118
+ **个性化策略**:(可选)
119
+
120
+ * **[用户特征1]**:[针对该特征的优化策略]
121
+ * **[用户特征2]**:[针对该特征的优化策略]
122
+ * **[用户特征3]**:[针对该特征的优化策略]
123
+
124
+ ## 3. 客户端需求
125
+
126
+ ### 3.1 页面设计
127
+
128
+ #### 3.1.1 [页面1名称]
129
+
130
+ **页面功能**:[页面功能描述]
131
+ **页面布局**:[页面整体布局描述]
132
+
133
+ **线框示意图**(可选):
134
+
135
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
136
+ *当页面布局复杂或包含多个组件时,提供线框示意图*
137
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
138
+
139
+ ```
140
+ ┌─────────────────────────────────────┐
141
+ │ [页面标题] [返回] │
142
+ ├─────────────────────────────────────┤
143
+ │ ┌─────────────────────────────────┐ │
144
+ │ │ [组件1标题] │ │
145
+ │ │ [文字内容] [图片] │ │
146
+ │ │ [按钮1] [按钮2] │ │
147
+ │ └─────────────────────────────────┘ │
148
+ ├─────────────────────────────────────┤
149
+ │ ┌─────────────────────────────────┐ │
150
+ │ │ [组件2标题] │ │
151
+ │ │ [文字内容] │ │
152
+ │ │ [按钮3] │ │
153
+ │ └─────────────────────────────────┘ │
154
+ └─────────────────────────────────────┘
155
+ ```
156
+
157
+ **页面组件**:
158
+
159
+ ##### 3.1.1.1 [组件1名称]
160
+
161
+ **功能**:[组件功能描述]
162
+ **UI布局**:[组件UI布局描述]
163
+
164
+ **线框示意图**(可选):
165
+
166
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
167
+ *当组件结构复杂时,提供组件线框示意图*
168
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
169
+
170
+ ```
171
+ ┌─────────────────────────────────────┐
172
+ │ [组件标题] ●状态 │
173
+ ├─────────────────────────────────────┤
174
+ │ [文字内容] [图片] │
175
+ │ [数据展示区域] │
176
+ │ ┌─────┐ ┌─────┐ ┌─────┐ │
177
+ │ │数据1│ │数据2│ │数据3│ │
178
+ │ └─────┘ └─────┘ └─────┘ │
179
+ ├─────────────────────────────────────┤
180
+ │ [按钮1] [按钮2] [按钮3] │
181
+ └─────────────────────────────────────┘
182
+ ```
183
+
184
+ **显示内容**:
185
+
186
+ * **[显示内容1]**:[显示内容描述]
187
+ * **[显示内容2]**:[显示内容描述]
188
+ * **[显示内容3]**:[显示内容描述]
189
+
190
+ **交互逻辑**:
191
+
192
+ * **[交互逻辑1]**:[交互逻辑描述]
193
+ * **[交互逻辑2]**:[交互逻辑描述]
194
+ * **[交互逻辑3]**:[交互逻辑描述]
195
+
196
+ **文案**:
197
+
198
+ * **[文案标签1]**:**[文案内容]**
199
+ * **[文案标签2]**:**[文案内容]**
200
+ * **[文案标签3]**:**[文案内容]**
201
+
202
+ ##### 3.1.1.2 [组件2名称]
203
+
204
+ **功能**:[组件功能描述]
205
+ **UI布局**:[组件UI布局描述]
206
+
207
+ **线框示意图**(可选):
208
+
209
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
210
+ *当组件结构复杂时,提供组件线框示意图*
211
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
212
+
213
+ ```
214
+ ┌─────────────────────────────────────┐
215
+ │ [组件标题] │
216
+ ├─────────────────────────────────────┤
217
+ │ [文字内容] │
218
+ │ [数据展示] │
219
+ ├─────────────────────────────────────┤
220
+ │ [按钮1] [按钮2] │
221
+ └─────────────────────────────────────┘
222
+ ```
223
+
224
+ **显示内容**:
225
+
226
+ * **[显示内容1]**:[显示内容描述]
227
+ * **[显示内容2]**:[显示内容描述]
228
+ * **[显示内容3]**:[显示内容描述]
229
+
230
+ **交互逻辑**:
231
+
232
+ * **[交互逻辑1]**:[交互逻辑描述]
233
+ * **[交互逻辑2]**:[交互逻辑描述]
234
+ * **[交互逻辑3]**:[交互逻辑描述]
235
+
236
+ **文案**:
237
+
238
+ * **[文案标签1]**:**[文案内容]**
239
+ * **[文案标签2]**:**[文案内容]**
240
+ * **[文案标签3]**:**[文案内容]**
241
+
242
+ #### 3.1.2 [页面2名称]
243
+
244
+ **页面功能**:[页面功能描述]
245
+ **页面布局**:[页面整体布局描述]
246
+
247
+ **线框示意图**(可选):
248
+
249
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
250
+ *当页面布局复杂或包含多个组件时,提供线框示意图*
251
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
252
+
253
+ **页面组件**:
254
+
255
+ ##### 3.1.2.1 [组件3名称]
256
+
257
+ **功能**:[组件功能描述]
258
+ **UI布局**:[组件UI布局描述]
259
+
260
+ **线框示意图**(可选):
261
+
262
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
263
+ *当组件结构复杂时,提供组件线框示意图*
264
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
265
+
266
+ ```
267
+ ┌─────────────────────────────────────┐
268
+ │ [组件标题] │
269
+ ├─────────────────────────────────────┤
270
+ │ [文字内容] │
271
+ │ [数据展示] │
272
+ ├─────────────────────────────────────┤
273
+ │ [按钮1] [按钮2] │
274
+ └─────────────────────────────────────┘
275
+ ```
276
+
277
+ **显示内容**:
278
+
279
+ * **[显示内容1]**:[显示内容描述]
280
+ * **[显示内容2]**:[显示内容描述]
281
+ * **[显示内容3]**:[显示内容描述]
282
+
283
+ **交互逻辑**:
284
+
285
+ * **[交互逻辑1]**:[交互逻辑描述]
286
+ * **[交互逻辑2]**:[交互逻辑描述]
287
+ * **[交互逻辑3]**:[交互逻辑描述]
288
+
289
+ **文案**:
290
+
291
+ * **[文案标签1]**:**[文案内容]**
292
+ * **[文案标签2]**:**[文案内容]**
293
+ * **[文案标签3]**:**[文案内容]**
294
+
295
+ ##### 3.1.2.2 🆕 新增[组件4名称]
296
+
297
+ **功能**:[组件功能描述]
298
+ **UI布局**:[组件UI布局描述]
299
+
300
+ **线框示意图**(可选):
301
+
302
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
303
+ *当组件结构复杂时,提供组件线框示意图*
304
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
305
+
306
+ ```
307
+ ┌─────────────────────────────────────┐
308
+ │ [组件标题] │
309
+ ├─────────────────────────────────────┤
310
+ │ [文字内容] │
311
+ │ [数据展示] │
312
+ ├─────────────────────────────────────┤
313
+ │ [按钮1] [按钮2] │
314
+ └─────────────────────────────────────┘
315
+ ```
316
+
317
+ **显示内容**:
318
+
319
+ * **[显示内容1]**:[显示内容描述]
320
+ * **[显示内容2]**:[显示内容描述]
321
+ * **[显示内容3]**:[显示内容描述]
322
+
323
+ **交互逻辑**:
324
+
325
+ * **[交互逻辑1]**:[交互逻辑描述]
326
+ * **[交互逻辑2]**:[交互逻辑描述]
327
+ * **[交互逻辑3]**:[交互逻辑描述]
328
+
329
+ **文案**:
330
+
331
+ * **[文案标签1]**:**[文案内容]**
332
+ * **[文案标签2]**:**[文案内容]**
333
+ * **[文案标签3]**:**[文案内容]**
334
+
335
+ ### 3.4 技术需求要点(可选)
336
+
337
+ **跨组件交互逻辑**(可选)
338
+
339
+ * **[交互逻辑1]**:[跨组件交互逻辑描述]
340
+ * **[交互逻辑2]**:[跨组件交互逻辑描述]
341
+ * **[交互逻辑3]**:[跨组件交互逻辑描述]
342
+
343
+ **性能优化**(可选)
344
+
345
+ * **[优化点1]**:[性能优化描述]
346
+ * **[优化点2]**:[性能优化描述]
347
+ * **[优化点3]**:[性能优化描述]
348
+
349
+ **技术要求**(可选)
350
+
351
+ * **[性能要求]**:[性能相关的技术要求,如响应时间、内存使用等]
352
+ * **[兼容性要求]**:[兼容性相关的技术要求,如系统版本、浏览器支持等]
353
+ * **[安全要求]**:[安全性相关的技术要求,如数据加密、权限控制等]
354
+
355
+ ### 3.5 数据管理
356
+
357
+ #### 3.5.1 本地存储
358
+
359
+ * **[存储项1]**:[存储项描述]
360
+ * **[存储项2]**:[存储项描述]
361
+ * **[存储项3]**:[存储项描述]
362
+
363
+ #### 3.5.2 状态管理
364
+
365
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
366
+ **状态管理**:描述客户端需要管理的各种状态变量和状态变化逻辑
367
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
368
+
369
+ * **[全局状态]**:[描述应用级别的状态,如用户登录状态、网络连接状态等]
370
+ * **状态变量**:[具体的状态变量名称和类型]
371
+ * **状态变化**:[什么情况下状态会发生变化]
372
+ * **状态影响**:[状态变化会影响哪些功能或界面]
373
+
374
+ * **[页面状态]**:[描述特定页面的状态,如页面加载状态、表单填写状态等]
375
+ * **状态变量**:[具体的状态变量名称和类型]
376
+ * **状态变化**:[什么情况下状态会发生变化]
377
+ * **状态影响**:[状态变化会影响哪些UI元素或交互]
378
+
379
+ * **[组件状态]**:[描述特定组件的状态,如按钮禁用状态、列表展开状态等]
380
+ * **状态变量**:[具体的状态变量名称和类型]
381
+ * **状态变化**:[什么情况下状态会发生变化]
382
+ * **状态影响**:[状态变化会影响组件的哪些行为]
383
+
384
+ #### 3.5.3 数据流
385
+
386
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
387
+ **数据流**:描述数据在客户端各组件、页面之间的传递路径和方式
388
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
389
+
390
+ * **[数据流1]**:[描述具体的数据传递场景,如"用户输入数据到服务端"]
391
+ * **数据源**:[数据从哪里来,如用户输入、本地存储、网络请求等]
392
+ * **传递路径**:[数据经过哪些组件或页面]
393
+ * **传递方式**:[如何传递,如props、事件、状态管理等]
394
+ * **数据目标**:[数据最终到哪里,如服务端API、本地存储等]
395
+
396
+ * **[数据流2]**:[描述具体的数据传递场景,如"服务端响应数据到UI展示"]
397
+ * **数据源**:[数据从哪里来,如服务端API、本地缓存等]
398
+ * **传递路径**:[数据经过哪些组件或页面]
399
+ * **传递方式**:[如何传递,如props、事件、状态管理等]
400
+ * **数据目标**:[数据最终到哪里,如UI组件、本地存储等]
401
+
402
+ ### 3.6 埋点设计(可选)
403
+
404
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
405
+ **重要说明**:当客户端有较大调整或增加重要的新功能时,需要增加埋点设计说明。
406
+
407
+ **适用场景**:
408
+
409
+ * 新增重要功能模块
410
+ * 修改核心业务流程
411
+ * 增加用户行为追踪需求
412
+ * 需要数据分析支持的功能
413
+
414
+ **规范参考**:在编写埋点设计时,**必须优先参考埋点规范文档**,复用已有的事件和参数名:
415
+
416
+ * [埋点规范文档](埋点规范文档.md) - **必读**:包含已定义事件库和参数库
417
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
418
+
419
+ **埋点设计表格**:
420
+
421
+ | Event Name | Event Trigger | Params Key | Params Value |
422
+ |------------|---------------|------------|--------------|
423
+ | [事件名称1] | [触发时机描述] | [参数1名称] | [参数1值说明] |
424
+ | | | [参数2名称] | [参数2值说明] |
425
+ | | | [参数3名称] | [参数3值说明] |
426
+ | [事件名称2] | [触发时机描述] | [参数1名称] | [参数1值说明] |
427
+ | | | [参数2名称] | [参数2值说明] |
428
+ | [事件名称3] | [触发时机描述] | [参数1名称] | [参数1值说明] |
429
+ | | | [参数2名称] | [参数2值说明] |
430
+ | | | [参数3名称] | [参数3值说明] |
431
+ | | | [参数4名称] | [参数4值说明] |
432
+
433
+ ## 4. 服务端需求
434
+
435
+ ### 4.1 接口需求
436
+
437
+ #### 4.1.1 [接口1名称]
438
+
439
+ **接口功能**:[接口功能描述]
440
+
441
+ **接口输入参数**:
442
+
443
+ * **[参数1]**:[参数描述]
444
+ * **[参数2]**:[参数描述]
445
+ * **[参数3]**:[参数描述]
446
+
447
+ **接口输出内容**:
448
+
449
+ * **[输出1]**:[输出描述]
450
+ * **[输出2]**:[输出描述]
451
+ * **[输出3]**:[输出描述]
452
+
453
+ **异常处理**:
454
+
455
+ * **[异常类型1]**:
456
+ * **触发场景**:[异常触发场景]
457
+ * **具体表现**:[异常具体表现]
458
+ * **处理方式**:返回错误码 `[ERROR_CODE]`,[处理方式描述]
459
+
460
+ * **[异常类型2]**:
461
+ * **触发场景**:[异常触发场景]
462
+ * **具体表现**:[异常具体表现]
463
+ * **处理方式**:返回错误码 `[ERROR_CODE]`,[处理方式描述]
464
+
465
+ #### 4.1.2 [接口2名称]
466
+
467
+ **接口功能**:[接口功能描述]
468
+
469
+ **接口输入参数**:
470
+
471
+ * **[参数1]**:[参数描述]
472
+ * **[参数2]**:[参数描述]
473
+ * **[参数3]**:[参数描述]
474
+
475
+ **接口输出内容**:
476
+
477
+ * **[输出1]**:[输出描述]
478
+ * **[输出2]**:[输出描述]
479
+ * **[输出3]**:[输出描述]
480
+
481
+ **异常处理**:
482
+
483
+ * **[异常类型1]**:
484
+ * **触发场景**:[异常触发场景]
485
+ * **具体表现**:[异常具体表现]
486
+ * **处理方式**:返回错误码 `[ERROR_CODE]`,[处理方式描述]
487
+
488
+ * **[异常类型2]**:
489
+ * **触发场景**:[异常触发场景]
490
+ * **具体表现**:[异常具体表现]
491
+ * **处理方式**:返回错误码 `[ERROR_CODE]`,[处理方式描述]
492
+
493
+ ### 4.2 数据处理需求
494
+
495
+ #### 4.2.1 [数据处理模块1]
496
+
497
+ * [处理逻辑1]
498
+ * [处理逻辑2]
499
+ * [处理逻辑3]
500
+
501
+ #### 4.2.2 [数据处理模块2]
502
+
503
+ * [处理逻辑1]
504
+ * [处理逻辑2]
505
+ * [处理逻辑3]
506
+
507
+ ### 4.3 数据存储需求
508
+
509
+ #### 4.3.1 数据库需求
510
+
511
+ * **[数据表1]**:[数据表描述]
512
+ * **[数据表2]**:[数据表描述]
513
+ * **[数据表3]**:[数据表描述]
514
+
515
+ #### 4.3.2 缓存需求
516
+
517
+ * **[缓存1]**:[缓存策略描述]
518
+ * **[缓存2]**:[缓存策略描述]
519
+ * **[缓存3]**:[缓存策略描述]
520
+
521
+ ## 5. 附录
522
+
523
+ ### 5.1 相关文档
524
+
525
+ * [相关文档1](文档链接)
526
+ * [相关文档2](文档链接)
527
+
528
+ <!-- ⚠️ 以下为规范说明,请勿输出到最终文档 ⚠️ -->
529
+ **重要说明**:相关文档和参考资料必须按照 Markdown 链接格式填写:`[文档名称](文档链接)`。只列出实际存在的文档链接,如果没有具体的文档链接,请使用 `*略*` 标记,不要填写虚假或占位符链接。
530
+ <!-- ⚠️ 规范说明结束 ⚠️ -->
531
+
532
+ ### 5.2 参考资料
533
+
534
+ * [参考资料1](参考链接)
535
+ * [参考资料2](参考链接)
536
+
537
+ ---
538
+
539
+ <!-- ============================================
540
+ ⚠️ 模板规范说明区域 - 请勿输出到最终文档 ⚠️
541
+ ============================================
542
+ 以下内容为模板使用规范和说明,仅用于指导如何填写模板,
543
+ 在使用模板生成最终文档时,应完全删除或忽略此部分内容。
544
+ ============================================ -->
545
+
546
+ ## 模板使用说明
547
+
548
+ ### 文档格式规范与检查清单
549
+
550
+ #### 列表格式规范
551
+
552
+ **功能需求描述:使用破折号 `-` + 加粗标题**
553
+
554
+ ```markdown
555
+ - **功能名称**:功能描述
556
+ - **业务规则**:
557
+ * 具体规则1
558
+ * 具体规则2
559
+ ```
560
+
561
+ **技术需求内容:使用星号 `*`**
562
+
563
+ ```markdown
564
+ * 技术要点1
565
+ * 技术要点2
566
+ * 技术要点3
567
+ ```
568
+
569
+ **操作步骤:使用数字列表 `1. 2. 3.`**
570
+
571
+ ```markdown
572
+ 1. 第一步操作
573
+ 2. 第二步操作
574
+ 3. 第三步操作
575
+ ```
576
+
577
+ #### 加粗格式规范
578
+
579
+ **标题性内容:冒号前加粗**
580
+
581
+ ```markdown
582
+ - **功能名称**:功能描述
583
+ - **业务规则**:具体规则
584
+ ```
585
+
586
+ **普通描述:冒号前不加粗**
587
+
588
+ ```markdown
589
+ - 分析按钮:用户输入食物描述后点击分析
590
+ - 确认按钮:用户确认当前结果并返回
591
+ ```
592
+
593
+ **重要强调:整段加粗**
594
+
595
+ ```markdown
596
+ **重要说明**:这是需要特别注意的内容
597
+ **CRITICAL**:这是关键信息
598
+ ```
599
+
600
+ #### 代码格式规范
601
+
602
+ **行内代码:使用单个反引号**
603
+
604
+ ```markdown
605
+ 使用 `API接口` 进行数据交互
606
+ ```
607
+
608
+ **代码块:使用三个反引号**
609
+
610
+ ```markdown
611
+ ```json
612
+ {
613
+ "key": "value"
614
+ }
615
+ ```
616
+
617
+ ```
618
+
619
+ **占位符:使用中括号**
620
+ ```markdown
621
+ [功能名称]、[参数描述]、[返回值]
622
+ ```
623
+
624
+ #### 格式检查清单
625
+
626
+ **列表格式检查**
627
+
628
+ * [ ] 功能需求描述使用破折号 `-` + 加粗标题
629
+ * [ ] 技术需求内容使用星号 `*`
630
+ * [ ] 操作步骤使用数字列表 `1. 2. 3.`
631
+
632
+ **加粗格式检查**
633
+
634
+ * [ ] 标题性内容冒号前加粗(如:**功能名称**:)
635
+ * [ ] 普通描述冒号前不加粗(如:分析按钮:)
636
+ * [ ] 重要强调整段加粗(如:**重要说明**:)
637
+
638
+ **整体格式检查**
639
+
640
+ * [ ] 标题层级正确(# ## ### ####)
641
+ * [ ] 段落间有空行分隔
642
+ * [ ] 中括号占位符已替换为实际内容
643
+ * [ ] 文档结构完整,章节齐全
644
+
645
+ ### 中括号使用规则
646
+
647
+ **重要说明**:模板中的 `[内容]` 格式表示需要替换的占位符内容。在实际使用时:
648
+
649
+ 1. **替换原则**:将 `[内容]` 替换为具体的实际内容
650
+ 2. **格式要求**:替换后的内容**不要保留中括号**
651
+ 3. **示例对比**:
652
+ * ❌ 错误:`[功能名称]` → `[用户登录功能]`
653
+ * ✅ 正确:`功能名称` → `用户登录功能`
654
+ * ❌ 错误:`[功能描述]` → `[实现用户身份验证]`
655
+ * ✅ 正确:`功能描述` → `实现用户身份验证`
656
+
657
+ ### 线框图符号约定
658
+
659
+ **重要说明**:线框示意图使用ASCII艺术风格绘制,包含以下符号约定:
660
+
661
+ * **┌─┐** 表示界面边界
662
+ * **├─┤** 表示分隔线
663
+ * **│ │** 表示内容区域
664
+ * **[按钮]** 表示按钮元素
665
+ * **[图片]** 表示图片元素
666
+ * **[文字]** 表示文字内容
667
+ * **●** 表示状态指示器
668
+ * **→** 表示流程方向
669
+
670
+ **使用场景**:
671
+
672
+ * 当页面布局复杂或包含多个组件时,提供页面线框示意图
673
+ * 当组件结构复杂时,提供组件线框示意图
674
+ * 线框图应清晰展示UI元素的布局关系和层次结构
675
+
676
+ ### 状态管理与数据流概念说明
677
+
678
+ **状态管理**:关注的是"什么状态"和"什么时候变化"
679
+
680
+ * **状态**:描述应用、页面或组件当前的状态(如:加载中、已登录、表单有效等)
681
+ * **变化**:描述什么情况下状态会发生变化(如:网络请求完成、用户点击按钮等)
682
+ * **影响**:描述状态变化会影响什么(如:显示加载动画、启用提交按钮等)
683
+
684
+ **数据流**:关注的是"数据怎么传递"和"经过哪些路径"
685
+
686
+ * **数据源**:数据从哪里来(如:用户输入、API响应、本地存储等)
687
+ * **传递路径**:数据经过哪些组件或页面
688
+ * **传递方式**:如何传递数据(如:props、事件、状态管理等)
689
+ * **数据目标**:数据最终到哪里(如:服务端API、UI组件等)
690
+
691
+ **示例对比**:
692
+
693
+ **状态管理示例**(拍照功能):
694
+
695
+ ```markdown
696
+ * **拍照状态**:描述拍照组件的当前状态
697
+ * **状态变量**:isCameraReady: boolean, photoCount: number
698
+ * **状态变化**:相机初始化完成时isCameraReady变为true,拍照后photoCount增加
699
+ * **状态影响**:isCameraReady为true时显示拍照按钮,photoCount达到3时隐藏添加按钮
700
+ ```
701
+
702
+ **数据流示例**(拍照功能):
703
+
704
+ ```markdown
705
+ * **照片数据流**:描述照片数据从拍摄到上传的传递过程
706
+ * **数据源**:用户拍摄的照片文件
707
+ * **传递路径**:拍照组件 → 预览组件 → 编辑组件 → 上传服务
708
+ * **传递方式**:通过props传递照片对象,通过事件传递用户操作
709
+ * **数据目标**:最终上传到服务端API
710
+ ```
711
+
712
+ ### 文档结构说明
713
+
714
+ #### 必选章节(所有功能都需要)
715
+
716
+ * **1. 需求背景**:必须明确问题、目标和用户影响
717
+ * **2. 整体修改逻辑**:必须包含整体设计和交互流程
718
+
719
+ #### 可选章节(根据功能特点选择)
720
+
721
+ * **2.1 整体设计**:
722
+ * **设计思路**:必须包含,描述整体设计思路
723
+ * **核心功能**:必须包含,列出主要功能
724
+ * **需求要点**:当有重要的需求考虑时使用
725
+ * 场景举例:多端同步、离线功能、性能优化、安全考虑
726
+ * **2.2 交互流程设计**:
727
+ * **完整交互流程**:根据功能复杂度决定是否包含
728
+ * **需要流程图**:新增复杂交互流程、修改现有流程逻辑、多步骤操作、有分支判断、涉及多页面跳转
729
+ * **可省略流程图**:简单功能、无流程变更、纯展示功能、纯后端功能
730
+ * **关键交互节点**:必须包含,说明用户触发点和反馈机制
731
+ * **个性化策略**:当需要根据用户特征调整功能行为时使用
732
+ * 场景举例:新老用户引导差异、VIP用户特权、地域化适配
733
+ * **3. 客户端需求**:
734
+ * **3.1 页面设计**:当需要新增或修改页面时使用
735
+ * 场景举例:新增拍照页面、修改设置页面布局、重构整个功能流程
736
+ * **页面线框示意图**:当页面布局复杂或包含多个组件时使用
737
+ * **组件线框示意图**:当组件结构复杂时使用
738
+ * **页面组件**:在页面下组织相关组件,体现页面-组件的层级关系
739
+ * **3.4 技术需求要点**:当有跨组件交互、性能要求或特殊技术要求时使用
740
+ * 场景举例:组件间数据传递、动画性能优化、第三方SDK集成
741
+ * **3.3 数据管理**:当需要本地存储、状态管理或数据流设计时使用
742
+ * 场景举例:离线数据缓存、用户偏好设置、数据同步策略
743
+ * **状态管理示例**:
744
+ * 用户登录状态(isLoggedIn: boolean)
745
+ * 页面加载状态(isLoading: boolean)
746
+ * 表单验证状态(formValid: boolean)
747
+ * **数据流示例**:
748
+ * 用户输入 → 表单组件 → 验证逻辑 → 提交按钮
749
+ * 服务端响应 → 状态管理 → UI组件 → 用户界面
750
+ * **3.6 埋点设计**:当客户端有较大调整或增加重要的新功能时使用
751
+ * 场景举例:新增重要功能模块、修改核心业务流程、增加用户行为追踪需求
752
+ * **埋点设计表格**:包含Event Name、Event Trigger、Params Key、Params Value四个字段
753
+ * **4. 服务端需求**:
754
+ * **4.1 接口需求**:当需要新增或修改API接口时使用
755
+ * 场景举例:新增食物识别API、修改用户信息接口、批量数据处理接口
756
+ * **异常处理**:每个接口都应包含异常处理部分,说明各种错误场景和处理方式
757
+ * **4.2 数据处理需求**:当有复杂的数据处理逻辑时使用
758
+ * 场景举例:营养数据计算、用户行为分析、推荐算法需求
759
+ * **4.3 数据存储需求**:当需要数据库设计或缓存策略时使用
760
+ * 场景举例:用户数据表设计、Redis缓存策略、数据备份方案
761
+ * **5. 附录**:当有相关文档或参考资料时使用
762
+ * 场景举例:竞品分析报告、技术调研文档、设计规范参考
763
+
764
+ #### 省略规则举例
765
+
766
+ * **纯UI优化场景**:
767
+ * 修改按钮颜色、调整字体大小、优化页面布局
768
+ * 可以省略:2.2.1完整交互流程、4.2数据处理需求、4.3数据存储需求
769
+ * **纯后端功能场景**:
770
+ * 新增数据分析接口、优化数据库查询、添加缓存机制
771
+ * 可以省略:2.2.1完整交互流程、3.1组件设计、3.2页面集成、3.5数据管理
772
+ * **注意**:4.1接口需求中的异常处理部分不能省略
773
+ * **简单功能场景**:
774
+ * 添加一个简单的设置选项、修改文案内容、调整图标
775
+ * 可以省略:2.2.1完整交互流程、3.4技术需求要点、3.5数据管理、2.2.3个性化策略
776
+ * **无数据存储场景**:
777
+ * 纯展示功能、临时计算、第三方数据展示
778
+ * 可以省略:2.2.1完整交互流程、4.3数据存储需求、3.5数据管理
779
+ * **无个性化需求场景**:
780
+ * 通用功能、标准化流程、所有用户行为一致
781
+ * 可以省略:2.2.3个性化策略
782
+ * **无跨组件交互场景**:
783
+ * 独立组件、单页面功能、无数据传递需求
784
+ * 可以省略:3.4.1跨组件交互逻辑
785
+ * **无性能要求场景**:
786
+ * 简单展示、低频使用、无实时性要求
787
+ * 可以省略:3.4.2性能优化
788
+ * **无特殊技术要求场景**:
789
+ * 标准功能、无第三方集成、无特殊限制
790
+ * 可以省略:3.4.3技术要求
791
+ * **多页面调整场景**:
792
+ * 整个拍照流程重构、多页面UI统一调整、全流程优化
793
+ * 使用:3.3页面调整清单替代3.1和3.2,提供更详细的页面级别说明
794
+
795
+ ### 忽略章节处理规范
796
+
797
+ **重要说明**:当某个章节不适用于当前功能时,直接省略该章节,不要保留章节标题或添加任何标记。
798
+
799
+ **处理原则**:
800
+
801
+ * 不适用于当前功能的章节直接省略
802
+ * 不需要保留章节标题结构
803
+ * 保持文档简洁,只包含实际需要的内容
804
+
805
+ ### 关键要素
806
+
807
+ * **问题导向**:围绕用户问题和业务目标
808
+ * **流程清晰**:复杂功能用流程图展示交互逻辑,简单功能用文字描述
809
+ * **技术可行**:考虑需求难度和成本
810
+ * **用户体验**:注重交互细节和视觉反馈
811
+
812
+ ### 文档命名规范
813
+
814
+ 格式:`YYYYMMDD_功能名称_功能描述.md`
815
+
816
+ 示例:
817
+
818
+ * `20250818_PickForMe_菜单识别推荐功能.md`
819
+ * `20250818_健康指标_新增健康评分系统.md`
820
+ * `20250818_引导页_用户体验优化.md`
821
+ * `20250818_拍照识别_多张照片支持与食材编辑流程重构.md`