intention-coding 0.4.0 → 0.4.3

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 (51) hide show
  1. package/package.json +2 -3
  2. package/dist/db/file-storage.js +0 -638
  3. package/dist/index.js +0 -26
  4. package/dist/server/index.js +0 -88
  5. package/dist/services/bug-fix-agent/index.js +0 -320
  6. package/dist/services/change-summarizer/index.js +0 -123
  7. package/dist/services/change-summarizer/prompt/change-analysis.js +0 -56
  8. package/dist/services/code-generator/index.js +0 -403
  9. package/dist/services/code-generator/stages/execution-stage.js +0 -549
  10. package/dist/services/code-generator/stages/ideation-stage.js +0 -267
  11. package/dist/services/code-generator/stages/optimization-stage.js +0 -334
  12. package/dist/services/code-generator/stages/planning-stage.js +0 -295
  13. package/dist/services/code-generator/stages/research-stage.js +0 -283
  14. package/dist/services/code-generator/stages/review-stage.js +0 -270
  15. package/dist/services/code-generator/types.js +0 -37
  16. package/dist/services/code-generator/utils/instruction-executor.js +0 -207
  17. package/dist/services/code-generator/workflow-manager.js +0 -252
  18. package/dist/services/image-analysis/analyzer.js +0 -530
  19. package/dist/services/image-analysis/index.js +0 -406
  20. package/dist/services/image-analysis/types.js +0 -46
  21. package/dist/services/image-converter/converter.js +0 -310
  22. package/dist/services/image-converter/index.js +0 -262
  23. package/dist/services/image-converter/types.js +0 -31
  24. package/dist/services/integrated-generator/index.js +0 -1297
  25. package/dist/services/pdf2md/index.js +0 -180
  26. package/dist/services/project-template/index.js +0 -83
  27. package/dist/services/project-template/prompt/project-rules.js +0 -98
  28. package/dist/services/requirement-analyzer/chunk-reader.js +0 -218
  29. package/dist/services/requirement-analyzer/core/document-generator.js +0 -254
  30. package/dist/services/requirement-analyzer/core/intelligent-analyzer.js +0 -169
  31. package/dist/services/requirement-analyzer/core/project-analyzer.js +0 -199
  32. package/dist/services/requirement-analyzer/core/requirement-analyzer-service.js +0 -191
  33. package/dist/services/requirement-analyzer/core/template-selector.js +0 -124
  34. package/dist/services/requirement-analyzer/core/types.js +0 -23
  35. package/dist/services/requirement-analyzer/index.js +0 -177
  36. package/dist/services/requirement-analyzer/prompt/api-template.js +0 -302
  37. package/dist/services/requirement-analyzer/prompt/app-template.js +0 -455
  38. package/dist/services/requirement-analyzer/prompt/intelligent-requirement-analysis.js +0 -92
  39. package/dist/services/requirement-analyzer/prompt/pc-page-template.js +0 -582
  40. package/dist/services/requirement-analyzer/prompt/requirement-analysis.js +0 -664
  41. package/dist/services/requirement-analyzer/prompt/sdk-template.js +0 -582
  42. package/dist/services/requirement-analyzer/utils/file-reader.js +0 -169
  43. package/dist/services/world2md/index.js +0 -157
  44. package/dist/types/index.js +0 -2
  45. package/dist/utils/common.js +0 -72
  46. package/dist/utils/config.js +0 -163
  47. package/dist/utils/context-manager.js +0 -114
  48. package/dist/utils/dify.js +0 -243
  49. package/dist/utils/logger.js +0 -129
  50. package/dist/utils/openai.js +0 -225
  51. package/dist/utils/pack.js +0 -75
@@ -1,582 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sdkTemplatePrompt = void 0;
4
- exports.sdkTemplatePrompt = `你是一位专业的后端技术文档编写专家。请基于用户提供的输入内容,生成一份完整、详细的三方SDK集成技术需求文档。
5
-
6
- ## 任务要求
7
- - 必须输出完整的Markdown格式技术需求文档
8
- - 不要只给出总结,要输出完整的文档内容
9
- - 每个章节都要有详细的内容,不能省略
10
- - 文档长度应该在3000字以上
11
- - 重点描述SDK接入流程、接口调用、数据结构等后端相关内容
12
-
13
- ## 输入信息
14
- - **功能名称**: {featureName}
15
- - **业务领域**: {businessDomain}
16
- - **生成时序图**: {generateSequenceDiagram}
17
-
18
- ## 原始需求内容
19
- \`\`\`
20
- {inputContent}
21
- \`\`\`
22
-
23
- ## 文档结构要求
24
- 请严格按照以下结构输出完整的需求文档,每个章节都要有详实的内容:
25
-
26
- # {featureName} - 三方SDK集成技术需求文档
27
-
28
- > **生成时间**: {currentTime}
29
- > **业务领域**: {businessDomain}
30
- > **集成类型**: 三方SDK集成
31
-
32
- ---
33
-
34
- ## 1. 需求背景
35
-
36
- **背景**: [详细描述SDK集成的背景、业务需求和目标]
37
-
38
- **关键功能**: [列出SDK集成的主要功能点]
39
-
40
- **涉及角色**: [列出所有相关系统角色]
41
-
42
- ## 2. {featureName}功能设计说明
43
-
44
- | | | | | |
45
- |---|---|---|---|---|
46
- |**流程编号**|F001|**流程名称**|{featureName}|
47
- |**业务功能编号**|BF001|**业务功能名称**|{featureName}|
48
- |**功能设计编号**|FD001|**系统功能名称**|{featureName}|
49
- |**前置条件**|[详细描述SDK集成的前置条件]|
50
- |**角色(岗位)**|[详细描述系统角色及其权限]|
51
- |**入口渠道**|[描述SDK调用入口]|
52
- |**功能描述**|[详细的功能描述]|
53
- |**调用能力域/中心**|[如适用的其他系统接口]|
54
-
55
- ## 3. SDK接入流程
56
-
57
- ### 3.1 接入准备工作
58
- [详细描述SDK接入前的准备工作,包括环境准备、依赖安装等]
59
-
60
- ### 3.2 SDK初始化配置
61
- [详细描述SDK的初始化配置过程,包括配置参数、密钥设置等]
62
-
63
- ### 3.3 SDK注册与认证
64
- [详细描述SDK的注册和认证流程]
65
-
66
- ### 3.4 功能集成步骤
67
- [详细描述SDK各项功能的集成步骤]
68
-
69
- ### 3.5 安全配置
70
- [详细描述SDK的安全配置要求,如证书、加密等]
71
-
72
- ### 3.6 测试环境配置
73
- [详细描述SDK在测试环境中的配置要求]
74
-
75
- ## 4. 接口调用说明
76
-
77
- ### 4.1 主要API接口
78
- [列出SDK提供的主要API接口]
79
-
80
- ### 4.2 接口调用示例
81
- [提供详细的接口调用示例代码]
82
-
83
- ### 4.3 请求参数说明
84
- [详细说明各接口的请求参数]
85
-
86
- ### 4.4 响应数据结构
87
- [详细说明各接口的响应数据结构]
88
-
89
- ### 4.5 错误码说明
90
- [详细说明SDK返回的错误码及其含义]
91
-
92
- ### 4.6 接口调用限制
93
- [详细说明SDK接口的调用频率限制和配额管理]
94
-
95
- ### 4.7 异步回调处理
96
- [详细说明SDK异步回调的处理机制]
97
-
98
- ## 5. 数据结构定义
99
-
100
- ### 5.1 请求数据结构
101
- [详细定义请求数据的结构]
102
-
103
- ### 5.2 响应数据结构
104
- [详细定义响应数据的结构]
105
-
106
- ### 5.3 数据类型说明
107
- [详细说明各数据字段的类型和含义]
108
-
109
- ### 5.4 数据验证规则
110
- [详细说明数据的验证规则和约束条件]
111
-
112
- ### 5.5 数据转换规范
113
- [详细说明数据在不同系统间的转换规范]
114
-
115
- ### 5.6 敏感数据处理
116
- [详细说明敏感数据的加密和处理要求]
117
-
118
- ## 6. 交互逻辑说明
119
-
120
- ### 6.1 调用时序
121
- [详细描述SDK调用的时序逻辑]
122
-
123
- ### 6.2 回调处理
124
- [详细描述SDK回调的处理逻辑]
125
-
126
- ### 6.3 异常处理
127
- [详细描述SDK调用异常的处理逻辑]
128
-
129
- ### 6.4 重试机制
130
- [详细描述SDK调用失败时的重试机制]
131
-
132
- ### 6.5 状态管理
133
- [详细描述SDK调用过程中的状态管理]
134
-
135
- ### 6.6 超时处理
136
- [详细描述SDK调用的超时处理机制]
137
-
138
- ### 6.7 并发处理
139
- [详细描述SDK的并发调用处理机制]
140
-
141
- ## 7. 配置参数说明
142
-
143
- | | | | |
144
- |---|---|---|---|
145
- |**参数名称**|**参数类型**|**是否必填**|**说明**|
146
- |[参数1]|[字符串/数字等]|[是/否]|[详细说明]|
147
- |[参数2]|[字符串/数字等]|[是/否]|[详细说明]|
148
- |[添加更多参数...]|||
149
-
150
- ### 7.1 环境配置参数
151
- [详细说明不同环境下的配置参数差异]
152
-
153
- ### 7.2 性能配置参数
154
- [详细说明影响SDK性能的配置参数]
155
-
156
- ### 7.3 安全配置参数
157
- [详细说明安全相关的配置参数]
158
-
159
- ## 8. 安全性考虑
160
-
161
- ### 8.1 数据加密
162
- [详细描述数据传输和存储的加密要求]
163
-
164
- ### 8.2 访问控制
165
- [详细描述SDK访问的权限控制机制]
166
-
167
- ### 8.3 密钥管理
168
- [详细描述密钥的管理方式]
169
-
170
- ### 8.4 日志记录
171
- [详细描述SDK调用的日志记录要求]
172
-
173
- ### 8.5 安全审计
174
- [详细描述SDK调用的安全审计要求]
175
-
176
- ### 8.6 防御机制
177
- [详细描述针对SDK调用的安全防御机制]
178
-
179
- ## 9. 性能优化要求
180
-
181
- ### 9.1 调用性能
182
- [详细描述SDK调用的性能要求]
183
-
184
- ### 9.2 资源占用
185
- [详细描述SDK对系统资源的占用要求]
186
-
187
- ### 9.3 缓存策略
188
- [详细描述SDK的缓存使用策略]
189
-
190
- ### 9.4 连接池管理
191
- [详细描述SDK连接池的管理策略]
192
-
193
- ### 9.5 负载均衡
194
- [详细描述SDK调用的负载均衡策略]
195
-
196
- ### 9.6 监控指标
197
- [详细描述SDK调用的监控指标要求]
198
-
199
- ## 10. 业务对象时序图
200
-
201
- \`\`\`mermaid
202
- sequenceDiagram
203
- participant 应用系统
204
- participant SDK
205
- participant 认证服务
206
- participant 权限服务
207
- participant 第三方服务
208
- participant 数据库
209
- participant 缓存服务
210
- participant 消息队列
211
- participant 日志服务
212
- participant 监控服务
213
-
214
- 应用系统->>SDK: 初始化请求
215
- SDK->>认证服务: 验证应用凭证
216
- 认证服务-->>SDK: 返回认证结果
217
- SDK->>权限服务: 检查应用权限
218
- 权限服务-->>SDK: 返回权限信息
219
- SDK->>第三方服务: 发送初始化请求
220
- 第三方服务-->>SDK: 返回初始化响应
221
- SDK->>缓存服务: 存储初始化状态
222
- SDK-->>应用系统: 返回初始化成功
223
-
224
- %% SDK业务调用流程
225
- 应用系统->>SDK: 发送业务请求
226
- SDK->>缓存服务: 查询缓存数据
227
- alt 缓存中有数据
228
- 缓存服务-->>SDK: 返回缓存数据
229
- SDK->>监控服务: 记录缓存命中
230
- else 缓存中无数据
231
- SDK->>第三方服务: 发送API调用
232
- 第三方服务-->>SDK: 返回API响应
233
- SDK->>缓存服务: 存储到缓存
234
- SDK->>监控服务: 记录API调用
235
- end
236
- SDK->>消息队列: 发送异步消息
237
- SDK->>日志服务: 记录调用日志
238
- SDK-->>应用系统: 返回业务响应
239
- \`\`\`
240
-
241
- ### 10.2 替代流程(不同有效路径)
242
-
243
- #### 10.2.1 安全规范流程
244
- \`\`\`mermaid
245
- sequenceDiagram
246
- participant 应用系统
247
- participant SDK
248
- participant 安全服务
249
- participant 加密服务
250
- participant 第三方服务
251
- participant 日志服务
252
-
253
- 应用系统->>SDK: 发送包含敏感数据的请求
254
- SDK->>安全服务: 检查数据安全性
255
- 安全服务-->>SDK: 返回安全检查结果
256
- alt 数据安全合规
257
- SDK->>加密服务: 加密敏感数据
258
- 加密服务-->>SDK: 返回加密数据
259
- SDK->>第三方服务: 发送加密请求
260
- 第三方服务-->>SDK: 返回响应
261
- SDK-->>应用系统: 返回处理结果
262
- else 数据存在安全风险
263
- SDK->>日志服务: 记录安全风险
264
- SDK-->>应用系统: 返回安全错误
265
- end
266
- \`\`\`
267
-
268
- #### 10.2.2 回调处理流程
269
- \`\`\`mermaid
270
- sequenceDiagram
271
- participant 应用系统
272
- participant SDK
273
- participant 第三方服务
274
- participant 回调处理器
275
- participant 状态管理器
276
- participant 日志服务
277
-
278
- 应用系统->>SDK: 发起异步操作请求
279
- SDK->>第三方服务: 发送异步请求
280
- 第三方服务-->>SDK: 返回接收确认
281
- 第三方服务->>回调处理器: 发送处理结果
282
- 回调处理器->>状态管理器: 更新操作状态
283
- 状态管理器-->>回调处理器: 返回状态更新结果
284
- 回调处理器->>日志服务: 记录回调日志
285
- 回调处理器->>应用系统: 发送回调通知
286
- \`\`\`
287
-
288
- #### 10.2.3 SDK安全规范流程
289
- \`\`\`mermaid
290
- sequenceDiagram
291
- participant 应用系统
292
- participant SDK
293
- participant 安全服务
294
- participant 加密模块
295
- participant 证书管理器
296
- participant 日志服务
297
-
298
- 应用系统->>SDK: 发送敏感数据请求
299
- SDK->>安全服务: 验证请求安全性
300
- 安全服务-->>SDK: 返回安全检查结果
301
- alt 请求安全合规
302
- SDK->>加密模块: 加密敏感数据
303
- 加密模块-->>SDK: 返回加密数据
304
- SDK->>证书管理器: 验证证书有效性
305
- 证书管理器-->>SDK: 返回证书验证结果
306
- SDK->>第三方服务: 发送安全请求
307
- 第三方服务-->>SDK: 返回响应
308
- SDK-->>应用系统: 返回处理结果
309
- else 存在安全风险
310
- SDK->>日志服务: 记录安全违规事件
311
- SDK->>应用系统: 返回安全错误提示
312
- end
313
- \`\`\`
314
-
315
- ### 10.3 异常流程(错误处理)
316
-
317
- #### 10.3.1 SDK兼容性错误
318
- \`\`\`mermaid
319
- sequenceDiagram
320
- participant 应用系统
321
- participant SDK
322
- participant 兼容性检查器
323
- participant 错误处理器
324
- participant 日志服务
325
-
326
- 应用系统->>SDK: 初始化请求
327
- SDK->>兼容性检查器: 检查SDK版本兼容性
328
- 兼容性检查器-->>SDK: 返回兼容性错误
329
- SDK->>错误处理器: 处理兼容性错误
330
- 错误处理器->>日志服务: 记录兼容性错误
331
- 错误处理器-->>SDK: 返回错误处理结果
332
- SDK-->>应用系统: 返回兼容性错误提示
333
- \`\`\`
334
-
335
- #### 10.3.2 配置冲突错误
336
- \`\`\`mermaid
337
- sequenceDiagram
338
- participant 应用系统
339
- participant SDK
340
- participant 配置管理器
341
- participant 错误处理器
342
- participant 日志服务
343
-
344
- 应用系统->>SDK: 发送配置参数
345
- SDK->>配置管理器: 验证配置参数
346
- 配置管理器-->>SDK: 返回配置冲突
347
- SDK->>错误处理器: 处理配置错误
348
- 错误处理器->>日志服务: 记录配置错误
349
- 错误处理器->>SDK: 应用默认配置
350
- SDK-->>应用系统: 返回配置警告及默认配置结果
351
- \`\`\`
352
-
353
- #### 10.3.3 SDK初始化冲突
354
- \`\`\`mermaid
355
- sequenceDiagram
356
- participant 应用系统
357
- participant SDK
358
- participant 初始化检查器
359
- participant 依赖管理器
360
- participant 错误处理器
361
- participant 日志服务
362
-
363
- 应用系统->>SDK: 发起初始化请求
364
- SDK->>初始化检查器: 检查初始化状态
365
- 初始化检查器-->>SDK: 返回初始化状态
366
- alt 未初始化
367
- SDK->>依赖管理器: 检查依赖项
368
- 依赖管理器-->>SDK: 返回依赖检查结果
369
- SDK->>SDK: 执行初始化逻辑
370
- SDK-->>应用系统: 返回初始化成功
371
- else 已初始化
372
- SDK->>日志服务: 记录重复初始化
373
- SDK-->>应用系统: 返回已初始化状态
374
- else 依赖缺失
375
- SDK->>错误处理器: 处理依赖错误
376
- 错误处理器->>日志服务: 记录依赖缺失
377
- 错误处理器-->>SDK: 返回错误处理结果
378
- SDK-->>应用系统: 返回依赖缺失错误
379
- end
380
- \`\`\`
381
-
382
- ### 10.4 边缘情况流程(并发、超时等)
383
-
384
- #### 10.4.1 离线SDK功能处理
385
- \`\`\`mermaid
386
- sequenceDiagram
387
- participant 应用系统
388
- participant SDK
389
- participant 网络状态检测器
390
- participant 离线数据管理器
391
- participant 本地数据库
392
- participant 状态管理器
393
-
394
- 应用系统->>SDK: 发送数据操作请求
395
- SDK->>网络状态检测器: 检查网络状态
396
- 网络状态检测器-->>SDK: 返回无网络连接
397
- SDK->>离线数据管理器: 处理离线操作
398
- 离线数据管理器->>本地数据库: 存储离线数据
399
- 本地数据库-->>离线数据管理器: 返回存储结果
400
- 离线数据管理器->>状态管理器: 更新离线状态
401
- 状态管理器-->>离线数据管理器: 返回状态更新结果
402
- 离线数据管理器-->>SDK: 返回离线处理结果
403
- SDK-->>应用系统: 返回离线操作成功提示
404
- \`\`\`
405
-
406
- #### 10.4.2 性能优化要求
407
- \`\`\`mermaid
408
- sequenceDiagram
409
- participant 应用系统
410
- participant SDK
411
- participant 性能优化器
412
- participant 连接池管理器
413
- participant 缓存管理器
414
- participant 监控服务
415
-
416
- 应用系统->>SDK: 发起高并发请求
417
- SDK->>性能优化器: 分析性能需求
418
- 性能优化器-->>SDK: 返回优化策略
419
- SDK->>连接池管理器: 应用连接池策略
420
- 连接池管理器-->>SDK: 返回连接池配置
421
- SDK->>缓存管理器: 配置缓存策略
422
- 缓存管理器-->>SDK: 返回缓存配置
423
- SDK->>监控服务: 记录性能指标
424
- SDK-->>应用系统: 返回优化后响应
425
- \`\`\`
426
-
427
- #### 10.4.3 SDK资源泄漏检测
428
- \`\`\`mermaid
429
- sequenceDiagram
430
- participant 应用系统
431
- participant SDK
432
- participant 资源管理器
433
- participant 内存监控器
434
- participant 日志服务
435
- participant 监控服务
436
-
437
- 应用系统->>SDK: 长时间使用SDK
438
- SDK->>资源管理器: 定期检查资源状态
439
- 资源管理器->>内存监控器: 检查内存使用情况
440
- 内存监控器-->>资源管理器: 返回内存状态
441
- alt 内存使用正常
442
- 资源管理器->>SDK: 继续正常运行
443
- else 发现内存泄漏
444
- 资源管理器->>日志服务: 记录资源泄漏事件
445
- 资源管理器->>监控服务: 发送告警通知
446
- 资源管理器->>资源管理器: 执行资源回收
447
- 资源管理器-->>SDK: 返回资源回收结果
448
- end
449
- SDK-->>应用系统: 返回运行状态
450
- \`\`\`
451
-
452
- ## 11. 业务状态描述
453
-
454
- | | | |
455
- |---|---|---|
456
- |**状态编号**|**状态名称**|**描述**|
457
- |01|未初始化|SDK未初始化状态|
458
- |02|初始化中|SDK初始化进行中|
459
- |03|已初始化|SDK初始化完成|
460
- |04|调用中|SDK接口调用中|
461
- |05|调用成功|SDK接口调用成功|
462
- |06|调用失败|SDK接口调用失败|
463
- |[添加更多状态...]
464
-
465
- ## 12. 处理逻辑详细说明
466
-
467
- ### 12.1 SDK初始化逻辑
468
- [详细描述SDK初始化的处理逻辑]
469
-
470
- ### 12.2 接口调用逻辑
471
- [详细描述SDK接口调用的处理逻辑]
472
-
473
- ### 12.3 回调处理逻辑
474
- [详细描述SDK回调的处理逻辑]
475
-
476
- ### 12.4 错误处理逻辑
477
- [详细描述SDK调用错误的处理逻辑]
478
-
479
- ### 12.5 资源释放逻辑
480
- [详细描述SDK资源释放的处理逻辑]
481
-
482
- ### 12.6 重试逻辑
483
- [详细描述SDK调用失败时的重试处理逻辑]
484
-
485
- ### 12.7 缓存逻辑
486
- [详细描述SDK调用中的缓存处理逻辑]
487
-
488
- ## 13. 测试验证要求
489
-
490
- ### 13.1 功能测试
491
- [详细描述SDK功能的测试要求]
492
-
493
- ### 13.2 性能测试
494
- [详细描述SDK性能的测试要求]
495
-
496
- ### 13.3 安全测试
497
- [详细描述SDK安全性的测试要求]
498
-
499
- ### 13.4 兼容性测试
500
- [详细描述SDK兼容性的测试要求]
501
-
502
- ### 13.5 异常测试
503
- [详细描述SDK异常情况的测试要求]
504
-
505
- ### 13.6 回归测试
506
- [详细描述SDK回归测试的要求]
507
-
508
- ## 14. 伪代码示例
509
-
510
- \`\`\`gherkin
511
- Scenario Outline: 用户通过SDK进行支付操作
512
- Given 系统已初始化<sdk_name>SDK
513
- When 用户发起支付请求,金额为<amount>,订单号为<order_id>
514
- Then SDK应返回支付结果<result>
515
-
516
- Examples:
517
- | sdk_name | amount | order_id | result |
518
- | 支付宝 | 100.00 | ORD001 | 支付成功 |
519
- | 微信支付 | 200.00 | ORD002 | 支付失败-余额不足 |
520
-
521
- Scenario Outline: SDK初始化与认证流程
522
- Given 应用系统使用<sdk_type>类型的SDK
523
- When 系统启动SDK初始化过程时
524
- Then SDK应:
525
- 1. 验证应用凭证的有效性
526
- 2. 检查应用权限
527
- 3. 连接第三方服务
528
- 4. 返回初始化结果
529
-
530
- Examples:
531
- | sdk_type | 预期行为 |
532
- | 支付SDK | 验证商户ID和密钥,连接支付网关 |
533
- | 地图SDK | 验证API Key,连接地图服务 |
534
- | 推送SDK | 验证应用标识,连接推送服务 |
535
- | 无效凭证 | 返回初始化失败,记录错误日志 |
536
-
537
- Scenario Outline: SDK接口调用与回调处理
538
- Given 应用系统已初始化<sdk_name>SDK
539
- When 调用<api_method>接口并传入<parameter_status>参数时
540
- Then SDK应:
541
- 1. 验证参数有效性
542
- 2. 执行API调用
543
- 3. 处理异步回调
544
- 4. 返回调用结果
545
-
546
- Examples:
547
- | sdk_name | api_method | parameter_status | 处理逻辑 |
548
- | 支付宝 | pay | 有效参数 | 发起支付请求,监听支付结果回调 |
549
- | 微信支付 | refund | 缺失必填参数 | 返回参数错误,详细说明缺失字段 |
550
- | 地图SDK | getLocation| 网络异常 | 重试3次后返回网络错误,提供离线定位方案 |
551
- | 推送SDK | sendMessage| 超时参数 | 设置5秒超时,超时后返回失败并记录日志 |
552
- | 存储SDK | uploadFile | 大文件 | 分块上传,支持断点续传和进度回调 |
553
-
554
- Scenario Outline: SDK错误处理与恢复机制
555
- Given SDK在执行<operation_type>操作时遇到<error_type>错误
556
- When 系统检测到错误并启动恢复流程时
557
- Then SDK应:
558
- 1. 记录详细的错误日志
559
- 2. 根据错误类型执行恢复策略
560
- 3. 通知应用系统处理结果
561
- 4. 更新内部状态管理
562
-
563
- Examples:
564
- | operation_type | error_type | 恢复策略 |
565
- | 支付操作 | 网络超时 | 指数退避重试,最多重试3次,失败后返回错误码 |
566
- | 文件上传 | 服务器错误 | 暂停上传,等待5分钟后自动恢复,支持手动重试 |
567
- | 位置获取 | 权限拒绝 | 引导用户开启权限,提供降级方案(如IP定位) |
568
- | 消息推送 | 证书过期 | 自动更新证书,重新建立安全连接 |
569
- | 数据同步 | 数据冲突 | 冲突检测与合并策略,记录冲突详情供人工处理 |
570
- \`\`\`
571
-
572
- ---
573
-
574
- **重要提醒**:
575
- 1. 请输出完整的Markdown文档,不要省略任何章节
576
- 2. 每个章节都要有实质性的内容,不能只是模板
577
- 3. 根据输入的原始内容进行具体分析,不要使用通用模板
578
- 4. 文档总长度应该在3000字以上
579
- 5. 表格中的内容要填写具体信息,不要保留占位符
580
- 6. 重点关注SDK接入流程、接口调用、数据结构等技术细节
581
-
582
- 现在请开始生成完整的三方SDK集成技术需求文档:`;