intention-coding 0.3.0 → 0.3.1

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/index.js CHANGED
@@ -1911,7 +1911,12 @@ flowchart TD
1911
1911
  });
1912
1912
  var config = __webpack_require__("./src/config.ts");
1913
1913
  var external_path_ = __webpack_require__("path");
1914
- const logDir = (0, config.WR)() + '/logs';
1914
+ let logDir;
1915
+ try {
1916
+ logDir = (0, config.WR)() + '/logs';
1917
+ } catch (error) {
1918
+ logDir = './.aico/logs';
1919
+ }
1915
1920
  const levels = {
1916
1921
  error: 0,
1917
1922
  warn: 1,
@@ -2127,7 +2132,7 @@ flowchart TD
2127
2132
  Authorization: "Bearer sk-fp8wJSigZBEP3x8y6MAZWGPuVIHJ5PDZtX9lMQQk8hjP2R0u"
2128
2133
  },
2129
2134
  body: JSON.stringify({
2130
- model: 'moonshot-v1-128k-vision-preview',
2135
+ model: 'kimi-latest',
2131
2136
  messages: [
2132
2137
  ...system_prompt ? [
2133
2138
  {
@@ -6227,7 +6232,6 @@ const projectRulesPromptTemplate = `
6227
6232
 
6228
6233
  ## \u{9879}\u{76EE}\u{4FE1}\u{606F}
6229
6234
  - **\u{9879}\u{76EE}\u{540D}\u{79F0}**: {{projectName}}
6230
- - **\u{5206}\u{6790}\u{6DF1}\u{5EA6}**: {{analysisDepth}}
6231
6235
  - **\u{5305}\u{542B}\u{793A}\u{4F8B}**: {{includeExamples}}
6232
6236
 
6233
6237
  ## \u{9879}\u{76EE}\u{67B6}\u{6784}\u{5206}\u{6790}
@@ -6240,6 +6244,12 @@ const projectRulesPromptTemplate = `
6240
6244
  ## \u{4EFB}\u{52A1}\u{8981}\u{6C42}
6241
6245
  \u{8BF7}\u{57FA}\u{4E8E}\u{9879}\u{76EE}\u{67B6}\u{6784}\u{5206}\u{6790}\u{FF0C}\u{667A}\u{80FD}\u{8BC6}\u{522B}\u{9879}\u{76EE}\u{7684}\u{6280}\u{672F}\u{6808}\u{548C}\u{8BED}\u{8A00}\u{7279}\u{5F81}\u{FF0C}\u{7136}\u{540E}\u{751F}\u{6210}\u{4E00}\u{4EFD}\u{5B8C}\u{6574}\u{7684}project_rules.md\u{6587}\u{4EF6}\u{5185}\u{5BB9}\u{3002}
6242
6246
 
6247
+ ### \u{5904}\u{7406}\u{957F}\u{5185}\u{5BB9}\u{7684}\u{7279}\u{6B8A}\u{8BF4}\u{660E}
6248
+ \u{5F53}\u{9879}\u{76EE}\u{67B6}\u{6784}\u{5206}\u{6790}\u{5185}\u{5BB9}\u{8F83}\u{957F}\u{65F6}\u{FF0C}\u{8BF7}\u{91C7}\u{7528}\u{5206}\u{6BB5}\u{5904}\u{7406}\u{7684}\u{65B9}\u{5F0F}\u{FF1A}
6249
+ 1. \u{9996}\u{5148}\u{901A}\u{8BFB}\u{5168}\u{90E8}\u{5185}\u{5BB9}\u{FF0C}\u{7406}\u{89E3}\u{6574}\u{4F53}\u{67B6}\u{6784}
6250
+ 2. \u{7136}\u{540E}\u{9010}\u{6BB5}\u{5206}\u{6790}\u{FF0C}\u{6BCF}\u{6BB5}\u{5904}\u{7406}\u{5B8C}\u{6210}\u{540E}\u{8FDB}\u{884C}\u{603B}\u{7ED3}
6251
+ 3. \u{6700}\u{7EC8}\u{6574}\u{5408}\u{6240}\u{6709}\u{5206}\u{6790}\u{7ED3}\u{679C}\u{751F}\u{6210}\u{5B8C}\u{6574}\u{7684}\u{89C4}\u{5219}\u{6587}\u{4EF6}
6252
+
6243
6253
  ### \u{6280}\u{672F}\u{6808}\u{8BC6}\u{522B}\u{548C}\u{5206}\u{6790}\u{89C4}\u{5219}
6244
6254
  \u{8BF7}\u{5148}\u{4ED4}\u{7EC6}\u{5206}\u{6790}\u{9879}\u{76EE}\u{7ED3}\u{6784}\u{FF0C}\u{8BC6}\u{522B}\u{51FA}\u{9879}\u{76EE}\u{7684}\u{6280}\u{672F}\u{6808}\u{548C}\u{67B6}\u{6784}\u{6A21}\u{5F0F}\u{FF1A}
6245
6255
 
@@ -6291,8 +6301,10 @@ const projectRulesPromptTemplate = `
6291
6301
 
6292
6302
  #### 6. \u{5F00}\u{53D1}\u{6700}\u{4F73}\u{5B9E}\u{8DF5}
6293
6303
  \u{9488}\u{5BF9}\u{9879}\u{76EE}\u{6280}\u{672F}\u{6808}\u{7684}\u{5177}\u{4F53}\u{5B9E}\u{8DF5}\u{FF1A}
6294
- - \u{4EE3}\u{7801}\u{590D}\u{7528}\u{539F}\u{5219}
6304
+ - \u{7EC4}\u{4EF6}\u{5316}\u{8BBE}\u{8BA1}\u{89C4}\u{5219}
6305
+ - \u{5DE5}\u{5177}\u{548C}\u{5E93}\u{7684}\u{4F7F}\u{7528}\u{89C4}\u{8303}
6295
6306
  - \u{7B2C}\u{4E09}\u{65B9}\u{5E93}\u{4F7F}\u{7528}\u{89C4}\u{8303}
6307
+ - \u{5355}\u{5143}\u{6D4B}\u{8BD5}\u{65B9}\u{6CD5}
6296
6308
 
6297
6309
  #### 7. \u{4EE3}\u{7801}\u{793A}\u{4F8B}\u{548C}\u{6A21}\u{677F}
6298
6310
  \u{5305}\u{542B}\u{9879}\u{76EE}\u{4E2D}\u{5E38}\u{7528}\u{7684}\u{4EE3}\u{7801}\u{6A21}\u{5F0F}\u{FF1A}
@@ -6313,12 +6325,6 @@ const projectRulesPromptTemplate = `
6313
6325
  const ProjectTemplateParams = esm.z.object({
6314
6326
  project_name: esm.z.string().optional().describe("\u9879\u76EE\u540D\u79F0\uFF0C\u7528\u4E8E\u751F\u6210\u6587\u4EF6\u540D"),
6315
6327
  project_path: esm.z.string().optional().describe("\u9879\u76EE\u7EDD\u5BF9\u8DEF\u5F84\uFF0C\u7528\u4E8E\u6307\u5B9A\u8981\u5206\u6790\u7684\u9879\u76EE\u76EE\u5F55"),
6316
- analysis_depth: esm.z["enum"]([
6317
- 'basic',
6318
- 'detailed',
6319
- 'comprehensive'
6320
- ]).optional().default('detailed').describe("\u5206\u6790\u6DF1\u5EA6"),
6321
- include_examples: esm.z.boolean().optional().default(true).describe("\u662F\u5426\u5305\u542B\u4EE3\u7801\u793A\u4F8B"),
6322
6328
  custom_rules: esm.z.string().optional().describe("\u81EA\u5B9A\u4E49\u89C4\u5219\u5185\u5BB9")
6323
6329
  });
6324
6330
  const initProjectStandard = {
@@ -6326,32 +6332,48 @@ const initProjectStandard = {
6326
6332
  description: "\u5206\u6790\u9879\u76EE\u67B6\u6784\u5E76\u751F\u6210\u5F00\u53D1\u89C4\u8303",
6327
6333
  parameters: ProjectTemplateParams,
6328
6334
  execute: async (args)=>{
6329
- const { project_name = 'current-project', project_path, analysis_depth = 'detailed', include_examples = true, custom_rules } = args;
6335
+ const { project_name = 'current-project', project_path, custom_rules } = args;
6330
6336
  try {
6331
6337
  utils_logger.k.info("\u5F00\u59CB\u751F\u6210\u9879\u76EE\u67B6\u6784\u5206\u6790\u6587\u6863");
6332
6338
  const projectAnalysisPath = await packProject(project_path);
6333
6339
  const projectAnalysis = await promises_["default"].readFile(projectAnalysisPath, 'utf-8');
6334
- utils_logger.k.info("\u9879\u76EE\u67B6\u6784\u5206\u6790\u6587\u6863\u8BFB\u53D6\u6210\u529F", {
6335
- path: projectAnalysisPath,
6336
- contentLength: projectAnalysis.length
6340
+ const projectRulesPromptData = generateProjectRulesPrompt(projectAnalysis, project_name, custom_rules);
6341
+ const aicoDir = (0, src_config.WR)();
6342
+ utils_logger.k.info("\u786E\u4FDD.aico\u76EE\u5F55\u5B58\u5728", {
6343
+ aicoDir
6344
+ });
6345
+ await promises_["default"].mkdir(aicoDir, {
6346
+ recursive: true
6347
+ });
6348
+ const projectRulesPath = external_path_["default"].join(aicoDir, 'project_rules.md');
6349
+ const initialContent = `# ${project_name} - \u{9879}\u{76EE}\u{5F00}\u{53D1}\u{89C4}\u{8303}
6350
+ ## \u{9879}\u{76EE}\u{4FE1}\u{606F}
6351
+ - **\u{9879}\u{76EE}\u{540D}\u{79F0}**: ${project_name}
6352
+ - **\u{5206}\u{6790}\u{6587}\u{4EF6}**: ${external_path_["default"].relative(process.cwd(), projectAnalysisPath)}
6353
+
6354
+ ## \u{4E0B}\u{4E00}\u{6B65}\u{64CD}\u{4F5C}
6355
+ \u{8BF7}\u{4F7F}\u{7528}\u{4EE5}\u{4E0B}\u{63D0}\u{793A}\u{8BCD}\u{8C03}\u{7528}AI\u{670D}\u{52A1}\u{751F}\u{6210}\u{9879}\u{76EE}\u{89C4}\u{5219}\u{5185}\u{5BB9}\u{FF1A}
6356
+ \`\`\`json
6357
+ ${JSON.stringify(projectRulesPromptData, null, 2)}
6358
+ \`\`\`
6359
+ `;
6360
+ await promises_["default"].writeFile(projectRulesPath, initialContent, 'utf-8');
6361
+ utils_logger.k.info("\u9879\u76EE\u89C4\u5219\u6587\u4EF6\u521B\u5EFA\u6210\u529F", {
6362
+ path: projectRulesPath
6337
6363
  });
6338
- const projectRulesPromptData = generateProjectRulesPrompt(projectAnalysis, project_name, analysis_depth, include_examples, custom_rules);
6339
6364
  const result = {
6340
6365
  success: true,
6341
6366
  message: "\u9879\u76EE\u5F00\u53D1\u89C4\u8303\u5185\u5BB9\u751F\u6210\u5B8C\u6210",
6342
6367
  project_info: {
6343
6368
  name: project_name,
6344
- analysis_depth: analysis_depth,
6345
- include_examples: include_examples,
6346
6369
  analysis_file: external_path_["default"].resolve(projectAnalysisPath)
6347
6370
  },
6348
6371
  generated_rules: {
6349
6372
  projectrules: {
6350
6373
  filename: 'project_rules.md',
6351
- content: '',
6374
+ content: initialContent,
6352
6375
  description: "\u9879\u76EE\u5F00\u53D1\u89C4\u5219\u6587\u4EF6",
6353
- suggested_path: '.aico/project_rules.md',
6354
- prompt_data: projectRulesPromptData
6376
+ suggested_path: '.aico/project_rules.md'
6355
6377
  }
6356
6378
  },
6357
6379
  instructions: {
@@ -6367,8 +6389,7 @@ const initProjectStandard = {
6367
6389
  file: '.aico/project_rules.md',
6368
6390
  description: "\u9879\u76EE\u5F00\u53D1\u89C4\u5219\u6587\u4EF6",
6369
6391
  has_prompt_data: true,
6370
- prompt_task: 'generate_project_rules',
6371
- generation_config: projectRulesPromptData.config
6392
+ prompt_task: 'generate_project_rules'
6372
6393
  }
6373
6394
  ]
6374
6395
  }
@@ -6380,7 +6401,6 @@ const initProjectStandard = {
6380
6401
  tool: "initialize-project-standard",
6381
6402
  project_name,
6382
6403
  project_path,
6383
- analysis_depth,
6384
6404
  error: errorMsg
6385
6405
  });
6386
6406
  const errorResult = {
@@ -6388,31 +6408,23 @@ const initProjectStandard = {
6388
6408
  message: "\u9879\u76EE\u89C4\u8303\u5185\u5BB9\u751F\u6210\u5931\u8D25",
6389
6409
  error: errorMsg,
6390
6410
  project_info: {
6391
- name: project_name,
6392
- analysis_depth: analysis_depth
6411
+ name: project_name
6393
6412
  }
6394
6413
  };
6395
6414
  return JSON.stringify(errorResult, null, 2);
6396
6415
  }
6397
6416
  }
6398
6417
  };
6399
- function generateProjectRulesPrompt(projectAnalysis, projectName, analysisDepth, includeExamples, customRules) {
6418
+ function generateProjectRulesPrompt(projectAnalysis, projectName, customRules) {
6400
6419
  utils_logger.k.info("\u751F\u6210\u9879\u76EE\u89C4\u5219\u6587\u4EF6\u63D0\u793A\u8BCD\u6570\u636E", {
6401
- projectName,
6402
- analysisDepth
6420
+ projectName
6403
6421
  });
6404
6422
  const customRulesSection = customRules ? `## \u{81EA}\u{5B9A}\u{4E49}\u{89C4}\u{5219}\u{8981}\u{6C42}
6405
6423
  ${customRules}` : '';
6406
- let prompt = projectRulesPromptTemplate.replace('{{projectName}}', projectName).replace('{{analysisDepth}}', analysisDepth).replace('{{includeExamples}}', includeExamples ? "\u662F" : "\u5426").replace('{{projectAnalysis}}', projectAnalysis).replace('{{customRulesSection}}', customRulesSection);
6424
+ let prompt = projectRulesPromptTemplate.replace('{{projectName}}', projectName).replace('{{projectAnalysis}}', projectAnalysis).replace('{{customRulesSection}}', customRulesSection);
6407
6425
  return {
6408
6426
  task: 'generate_project_rules',
6409
- prompt: prompt,
6410
- systemPrompt: "",
6411
- config: {
6412
- model: "default",
6413
- maxTokens: 4000,
6414
- temperature: 0.7
6415
- }
6427
+ prompt: prompt
6416
6428
  };
6417
6429
  }
6418
6430
  var openai = __webpack_require__("./src/utils/openai.ts");
@@ -7478,7 +7490,7 @@ sequenceDiagram
7478
7490
  \u{524D}\u{7AEF}\u{9875}\u{9762}->>\u{7528}\u{6237}: \u{6E32}\u{67D3}\u{9875}\u{9762}\u{5185}\u{5BB9}
7479
7491
  \`\`\`
7480
7492
 
7481
- ### 9.2 \u{66FF}\u{4EE3}\u{6D41}\u{7A0B}\u{FF08}\u{4E0D}\u{540C}\u{6709}\u{6548}\u{8DEF}\u{5F84}\u{FF09}
7493
+ ### 9.2 \u{65B9}\u{6848}\u{4E8C}\u{FF1A}\u{66FF}\u{4EE3}\u{6D41}\u{7A0B}\u{FF08}\u{4E0D}\u{540C}\u{6709}\u{6548}\u{8DEF}\u{5F84}\u{FF09}
7482
7494
 
7483
7495
  #### 9.2.1 \u{7EC4}\u{4EF6}\u{8BBE}\u{8BA1}\u{89C4}\u{8303}\u{6D41}\u{7A0B}
7484
7496
  \`\`\`mermaid
@@ -8029,26 +8041,6 @@ const appTemplatePrompt = `\u{4F60}\u{662F}\u{4E00}\u{4F4D}\u{4E13}\u{4E1A}\u{76
8029
8041
  ### 9.3 \u{7CFB}\u{7EDF}\u{6743}\u{9650}\u{8981}\u{6C42}
8030
8042
  [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}APP\u{9700}\u{8981}\u{7533}\u{8BF7}\u{7684}\u{7CFB}\u{7EDF}\u{6743}\u{9650}\u{53CA}\u{5176}\u{4F7F}\u{7528}\u{573A}\u{666F}]
8031
8043
 
8032
- ### 9.4 \u{8BBE}\u{5907}\u{7279}\u{6027}\u{9002}\u{914D}
8033
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{5BF9}\u{4E0D}\u{540C}\u{8BBE}\u{5907}\u{7279}\u{6027}\u{FF08}\u{5982}\u{5218}\u{6D77}\u{5C4F}\u{3001}\u{5168}\u{9762}\u{5C4F}\u{7B49}\u{FF09}\u{7684}\u{9002}\u{914D}\u{8981}\u{6C42}]
8034
-
8035
- ## 10. \u{6027}\u{80FD}\u{4F18}\u{5316}\u{8981}\u{6C42}
8036
-
8037
- ### 10.1 \u{5185}\u{5B58}\u{4F18}\u{5316}
8038
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{5185}\u{5B58}\u{4F7F}\u{7528}\u{4F18}\u{5316}\u{8981}\u{6C42}]
8039
-
8040
- ### 10.2 \u{7F51}\u{7EDC}\u{4F18}\u{5316}
8041
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{7F51}\u{7EDC}\u{8BF7}\u{6C42}\u{4F18}\u{5316}\u{8981}\u{6C42}]
8042
-
8043
- ### 10.3 \u{6E32}\u{67D3}\u{4F18}\u{5316}
8044
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{9875}\u{9762}\u{6E32}\u{67D3}\u{4F18}\u{5316}\u{8981}\u{6C42}]
8045
-
8046
- ### 10.4 \u{542F}\u{52A8}\u{4F18}\u{5316}
8047
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{5E94}\u{7528}\u{542F}\u{52A8}\u{901F}\u{5EA6}\u{4F18}\u{5316}\u{8981}\u{6C42}]
8048
-
8049
- ### 10.5 \u{7535}\u{91CF}\u{4F18}\u{5316}
8050
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{5E94}\u{7528}\u{7535}\u{91CF}\u{6D88}\u{8017}\u{4F18}\u{5316}\u{8981}\u{6C42}]
8051
-
8052
8044
  ## 11. \u{4E1A}\u{52A1}\u{5BF9}\u{8C61}\u{65F6}\u{5E8F}\u{56FE}
8053
8045
 
8054
8046
  \`\`\`mermaid
@@ -8102,34 +8094,9 @@ sequenceDiagram
8102
8094
  \u{79FB}\u{52A8}\u{7AEF}APP->>\u{65E5}\u{5FD7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{9875}\u{9762}\u{8BBF}\u{95EE}\u{65E5}\u{5FD7}
8103
8095
  \`\`\`
8104
8096
 
8105
- ### 11.2 \u{66FF}\u{4EE3}\u{6D41}\u{7A0B}\u{FF08}\u{4E0D}\u{540C}\u{6709}\u{6548}\u{8DEF}\u{5F84}\u{FF09}
8097
+ ### 11.2 \u{65B9}\u{6848}\u{4E8C}\u{FF1A}\u{66FF}\u{4EE3}\u{6D41}\u{7A0B}\u{FF08}\u{4E0D}\u{540C}\u{6709}\u{6548}\u{8DEF}\u{5F84}\u{FF09}
8106
8098
 
8107
- #### 11.2.1 \u{5E73}\u{53F0}\u{7279}\u{6027}\u{9002}\u{914D}\u{6D41}\u{7A0B}
8108
- \`\`\`mermaid
8109
- sequenceDiagram
8110
- participant \u{7528}\u{6237}
8111
- participant \u{79FB}\u{52A8}\u{7AEF}APP
8112
- participant \u{8BBE}\u{5907}\u{4FE1}\u{606F}\u{68C0}\u{6D4B}\u{5668}
8113
- participant \u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}
8114
- participant UI\u{6E32}\u{67D3}\u{5F15}\u{64CE}
8115
-
8116
- \u{7528}\u{6237}->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{542F}\u{52A8}\u{5E94}\u{7528}
8117
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{8BBE}\u{5907}\u{4FE1}\u{606F}\u{68C0}\u{6D4B}\u{5668}: \u{68C0}\u{6D4B}\u{8BBE}\u{5907}\u{4FE1}\u{606F}
8118
- \u{8BBE}\u{5907}\u{4FE1}\u{606F}\u{68C0}\u{6D4B}\u{5668}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}\u{8BBE}\u{5907}\u{4FE1}\u{606F}
8119
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}: \u{8BF7}\u{6C42}\u{5E73}\u{53F0}\u{9002}\u{914D}
8120
- alt iOS\u{8BBE}\u{5907}
8121
- \u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}->>\u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}: \u{5E94}\u{7528}iOS\u{8BBE}\u{8BA1}\u{89C4}\u{8303}
8122
- \u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}iOS\u{9002}\u{914D}\u{914D}\u{7F6E}
8123
- else Android\u{8BBE}\u{5907}
8124
- \u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}->>\u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}: \u{5E94}\u{7528}Android\u{8BBE}\u{8BA1}\u{89C4}\u{8303}
8125
- \u{5E73}\u{53F0}\u{9002}\u{914D}\u{5668}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}Android\u{9002}\u{914D}\u{914D}\u{7F6E}
8126
- end
8127
- \u{79FB}\u{52A8}\u{7AEF}APP->>UI\u{6E32}\u{67D3}\u{5F15}\u{64CE}: \u{5E94}\u{7528}\u{9002}\u{914D}\u{914D}\u{7F6E}
8128
- UI\u{6E32}\u{67D3}\u{5F15}\u{64CE}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}\u{6E32}\u{67D3}\u{7ED3}\u{679C}
8129
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7528}\u{6237}: \u{663E}\u{793A}\u{9002}\u{914D}\u{540E}\u{7684}\u{754C}\u{9762}
8130
- \`\`\`
8131
-
8132
- #### 11.2.2 \u{624B}\u{52BF}\u{4EA4}\u{4E92}\u{8BBE}\u{8BA1}\u{6D41}\u{7A0B}
8099
+ #### 11.2.1 \u{624B}\u{52BF}\u{4EA4}\u{4E92}\u{8BBE}\u{8BA1}\u{6D41}\u{7A0B}
8133
8100
  \`\`\`mermaid
8134
8101
  sequenceDiagram
8135
8102
  participant \u{7528}\u{6237}
@@ -8148,7 +8115,7 @@ sequenceDiagram
8148
8115
  \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7528}\u{6237}: \u{53CD}\u{9988}\u{624B}\u{52BF}\u{64CD}\u{4F5C}\u{7ED3}\u{679C}
8149
8116
  \`\`\`
8150
8117
 
8151
- #### 11.2.3 \u{7EC4}\u{4EF6}\u{8BBE}\u{8BA1}\u{89C4}\u{8303}\u{6D41}\u{7A0B}
8118
+ #### 11.2.2 \u{7EC4}\u{4EF6}\u{8BBE}\u{8BA1}\u{89C4}\u{8303}\u{6D41}\u{7A0B}
8152
8119
  \`\`\`mermaid
8153
8120
  sequenceDiagram
8154
8121
  participant \u{79FB}\u{52A8}\u{7AEF}APP
@@ -8210,25 +8177,6 @@ sequenceDiagram
8210
8177
  \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7528}\u{6237}: \u{663E}\u{793A}\u{6743}\u{9650}\u{8BF7}\u{6C42}\u{63D0}\u{793A}
8211
8178
  \`\`\`
8212
8179
 
8213
- #### 11.3.3 \u{65E0}\u{6548}UI\u{7EC4}\u{4EF6}\u{9519}\u{8BEF}
8214
- \`\`\`mermaid
8215
- sequenceDiagram
8216
- participant \u{79FB}\u{52A8}\u{7AEF}APP
8217
- participant \u{7EC4}\u{4EF6}\u{5E93}
8218
- participant \u{8BBE}\u{8BA1}\u{7CFB}\u{7EDF}
8219
- participant \u{65E5}\u{5FD7}\u{670D}\u{52A1}
8220
- participant \u{76D1}\u{63A7}\u{670D}\u{52A1}
8221
-
8222
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7EC4}\u{4EF6}\u{5E93}: \u{8BF7}\u{6C42}\u{672A}\u{77E5}\u{7EC4}\u{4EF6}
8223
- \u{7EC4}\u{4EF6}\u{5E93}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}\u{7EC4}\u{4EF6}\u{4E0D}\u{5B58}\u{5728}\u{9519}\u{8BEF}
8224
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{8BBE}\u{8BA1}\u{7CFB}\u{7EDF}: \u{83B7}\u{53D6}\u{9ED8}\u{8BA4}\u{7EC4}\u{4EF6}\u{89C4}\u{8303}
8225
- \u{8BBE}\u{8BA1}\u{7CFB}\u{7EDF}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}\u{9ED8}\u{8BA4}\u{7EC4}\u{4EF6}\u{5B9E}\u{73B0}
8226
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{4F7F}\u{7528}\u{9ED8}\u{8BA4}\u{7EC4}\u{4EF6}\u{66FF}\u{4EE3}
8227
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{65E5}\u{5FD7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{7EC4}\u{4EF6}\u{9519}\u{8BEF}\u{65E5}\u{5FD7}
8228
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{76D1}\u{63A7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{9519}\u{8BEF}\u{6307}\u{6807}
8229
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7528}\u{6237}: \u{5C55}\u{793A}\u{9ED8}\u{8BA4}\u{7EC4}\u{4EF6}
8230
- \`\`\`
8231
-
8232
8180
  ### 11.4 \u{8FB9}\u{7F18}\u{60C5}\u{51B5}\u{6D41}\u{7A0B}\u{FF08}\u{5E76}\u{53D1}\u{3001}\u{8D85}\u{65F6}\u{7B49}\u{FF09}
8233
8181
 
8234
8182
  #### 11.4.1 \u{79BB}\u{7EBF}\u{529F}\u{80FD}\u{5904}\u{7406}
@@ -8250,30 +8198,7 @@ sequenceDiagram
8250
8198
  \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7528}\u{6237}: \u{663E}\u{793A}\u{79BB}\u{7EBF}\u{64CD}\u{4F5C}\u{6210}\u{529F}\u{63D0}\u{793A}
8251
8199
  \`\`\`
8252
8200
 
8253
- #### 11.4.2 \u{7535}\u{6C60}\u{4F18}\u{5316}\u{5904}\u{7406}
8254
- \`\`\`mermaid
8255
- sequenceDiagram
8256
- participant \u{7528}\u{6237}
8257
- participant \u{79FB}\u{52A8}\u{7AEF}APP
8258
- participant \u{7535}\u{6C60}\u{4F18}\u{5316}\u{68C0}\u{6D4B}\u{5668}
8259
- participant \u{6027}\u{80FD}\u{4F18}\u{5316}\u{5668}
8260
- participant \u{540E}\u{53F0}\u{4EFB}\u{52A1}\u{7BA1}\u{7406}\u{5668}
8261
-
8262
- \u{7528}\u{6237}->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{542F}\u{52A8}\u{5E94}\u{7528}
8263
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7535}\u{6C60}\u{4F18}\u{5316}\u{68C0}\u{6D4B}\u{5668}: \u{68C0}\u{67E5}\u{7535}\u{6C60}\u{4F18}\u{5316}\u{8BBE}\u{7F6E}
8264
- \u{7535}\u{6C60}\u{4F18}\u{5316}\u{68C0}\u{6D4B}\u{5668}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}\u{7535}\u{6C60}\u{4F18}\u{5316}\u{72B6}\u{6001}
8265
- alt \u{7535}\u{6C60}\u{4F18}\u{5316}\u{5DF2}\u{542F}\u{7528}
8266
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{6027}\u{80FD}\u{4F18}\u{5316}\u{5668}: \u{5E94}\u{7528}\u{7535}\u{6C60}\u{4F18}\u{5316}\u{7B56}\u{7565}
8267
- \u{6027}\u{80FD}\u{4F18}\u{5316}\u{5668}->>\u{540E}\u{53F0}\u{4EFB}\u{52A1}\u{7BA1}\u{7406}\u{5668}: \u{9650}\u{5236}\u{540E}\u{53F0}\u{4EFB}\u{52A1}
8268
- \u{540E}\u{53F0}\u{4EFB}\u{52A1}\u{7BA1}\u{7406}\u{5668}-->>\u{6027}\u{80FD}\u{4F18}\u{5316}\u{5668}: \u{8FD4}\u{56DE}\u{9650}\u{5236}\u{7ED3}\u{679C}
8269
- \u{6027}\u{80FD}\u{4F18}\u{5316}\u{5668}-->>\u{79FB}\u{52A8}\u{7AEF}APP: \u{8FD4}\u{56DE}\u{4F18}\u{5316}\u{914D}\u{7F6E}
8270
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7528}\u{6237}: \u{5E94}\u{7528}\u{4F18}\u{5316}\u{914D}\u{7F6E}
8271
- else \u{7535}\u{6C60}\u{4F18}\u{5316}\u{672A}\u{542F}\u{7528}
8272
- \u{79FB}\u{52A8}\u{7AEF}APP->>\u{7528}\u{6237}: \u{6B63}\u{5E38}\u{8FD0}\u{884C}\u{5E94}\u{7528}
8273
- end
8274
- \`\`\`
8275
-
8276
- #### 11.4.3 \u{590D}\u{6742}\u{5E03}\u{5C40}\u{5904}\u{7406}
8201
+ #### 11.4.2 \u{590D}\u{6742}\u{5E03}\u{5C40}\u{5904}\u{7406}
8277
8202
  \`\`\`mermaid
8278
8203
  sequenceDiagram
8279
8204
  participant \u{79FB}\u{52A8}\u{7AEF}APP
@@ -9034,36 +8959,32 @@ const apiTemplatePrompt = `\u{4F60}\u{662F}\u{4E00}\u{4F4D}\u{4E13}\u{4E1A}\u{76
9034
8959
  |**\u{529F}\u{80FD}\u{63CF}\u{8FF0}**|[\u{8BE6}\u{7EC6}\u{7684}\u{529F}\u{80FD}\u{63CF}\u{8FF0}]|
9035
8960
  |**\u{8C03}\u{7528}\u{80FD}\u{529B}\u{57DF}/\u{4E2D}\u{5FC3}**|[\u{5982}\u{9002}\u{7528}\u{7684}\u{5176}\u{4ED6}\u{7CFB}\u{7EDF}\u{63A5}\u{53E3}]|
9036
8961
 
9037
- ## 3. API\u{63A5}\u{53E3}\u{8BBE}\u{8BA1}
8962
+ ## 3. ER\u{903B}\u{8F91}\u{56FE}\u{8BBE}\u{8BA1}
9038
8963
 
9039
- ### 3.1 \u{63A5}\u{53E3}\u{6982}\u{8FF0}
9040
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{63A5}\u{53E3}\u{7684}\u{6574}\u{4F53}\u{8BBE}\u{8BA1}\u{601D}\u{8DEF}\u{548C}\u{67B6}\u{6784}]
8964
+ [\u{63CF}\u{8FF0}\u{6570}\u{636E}\u{5E93}\u{8868}\u{4E4B}\u{95F4}\u{7684}\u{5173}\u{7CFB}\u{548C}ER\u{56FE}\u{8BBE}\u{8BA1}]
9041
8965
 
9042
- ### 3.2 \u{63A5}\u{53E3}\u{5217}\u{8868}
9043
- [\u{5217}\u{51FA}\u{6240}\u{6709}\u{76F8}\u{5173}\u{7684}API\u{63A5}\u{53E3}]
8966
+ ## 4. \u{6570}\u{636E}\u{8868}\u{5B9E}\u{4F53}\u{8BBE}\u{8BA1}
9044
8967
 
9045
- ### 3.3 \u{63A5}\u{53E3}\u{7248}\u{672C}\u{7BA1}\u{7406}
9046
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{63A5}\u{53E3}\u{7684}\u{7248}\u{672C}\u{7BA1}\u{7406}\u{7B56}\u{7565}]
8968
+ [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{6D89}\u{53CA}\u{7684}\u{6570}\u{636E}\u{8868}\u{5B9E}\u{4F53}\u{7ED3}\u{6784}\u{FF0C}\u{5305}\u{62EC}\u{5B57}\u{6BB5}\u{540D}\u{3001}\u{7C7B}\u{578B}\u{3001}\u{7EA6}\u{675F}\u{6761}\u{4EF6}\u{7B49}]
9047
8969
 
9048
- ### 3.4 \u{63A5}\u{53E3}\u{547D}\u{540D}\u{89C4}\u{8303}
9049
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{63A5}\u{53E3}\u{7684}\u{547D}\u{540D}\u{89C4}\u{8303}\u{548C}\u{8BBE}\u{8BA1}\u{539F}\u{5219}]
8970
+ ## 5. API\u{63A5}\u{53E3}\u{8BBE}\u{8BA1}
9050
8971
 
9051
- ### 3.5 \u{63A5}\u{53E3}\u{5206}\u{7EC4}\u{7B56}\u{7565}
9052
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{63A5}\u{53E3}\u{7684}\u{5206}\u{7EC4}\u{7B56}\u{7565}\u{548C}\u{7EC4}\u{7EC7}\u{7ED3}\u{6784}]
8972
+ ### 5.1 \u{63A5}\u{53E3}\u{6982}\u{8FF0}
8973
+ [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{63A5}\u{53E3}\u{7684}\u{6574}\u{4F53}\u{8BBE}\u{8BA1}\u{601D}\u{8DEF}\u{548C}\u{67B6}\u{6784}]
8974
+
8975
+ ### 5.2 \u{63A5}\u{53E3}\u{5217}\u{8868}
8976
+ [\u{5217}\u{51FA}\u{6240}\u{6709}\u{76F8}\u{5173}\u{7684}API\u{63A5}\u{53E3}]
9053
8977
 
9054
- ## 4. \u{63A5}\u{53E3}\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}
8978
+ ## 5. \u{63A5}\u{53E3}\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}
9055
8979
 
9056
- ### 4.1 \u{63A5}\u{53E3}1 - [\u{63A5}\u{53E3}\u{540D}\u{79F0}]
9057
- #### 4.1.1 \u{57FA}\u{672C}\u{4FE1}\u{606F}
8980
+ ### 5.1 \u{63A5}\u{53E3}1 - [\u{63A5}\u{53E3}\u{540D}\u{79F0}]
8981
+ #### 5.1.1 \u{57FA}\u{672C}\u{4FE1}\u{606F}
9058
8982
  - **\u{63A5}\u{53E3}\u{5730}\u{5740}**: [URL\u{8DEF}\u{5F84}]
9059
- - **\u{8BF7}\u{6C42}\u{65B9}\u{6CD5}**: [GET/POST/PUT/DELETE\u{7B49}]
9060
- - **\u{534F}\u{8BAE}**: [HTTP/HTTPS]
8983
+ - **\u{8BF7}\u{6C42}\u{65B9}\u{6CD5}**: [\u{53EA}\u{5141}\u{8BB8}\u{4F7F}\u{7528}POST\u{8BF7}\u{6C42}]
8984
+ - **\u{534F}\u{8BAE}**: [\u{53EA}\u{5141}\u{8BB8}\u{4F7F}\u{7528}HTTPS]
9061
8985
  - **\u{5185}\u{5BB9}\u{7C7B}\u{578B}**: [application/json\u{7B49}]
9062
8986
 
9063
- #### 4.1.2 \u{529F}\u{80FD}\u{63CF}\u{8FF0}
9064
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{8BE5}\u{63A5}\u{53E3}\u{7684}\u{529F}\u{80FD}]
9065
-
9066
- #### 4.1.3 \u{8BF7}\u{6C42}\u{53C2}\u{6570}
8987
+ #### 5.1.2 \u{8BF7}\u{6C42}\u{53C2}\u{6570}
9067
8988
  [\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{8BF7}\u{6C42}\u{53C2}\u{6570}]
9068
8989
 
9069
8990
  |\u{53C2}\u{6570}\u{540D}|\u{7C7B}\u{578B}|\u{662F}\u{5426}\u{5FC5}\u{586B}|\u{4F4D}\u{7F6E}|\u{8BF4}\u{660E}|
@@ -9071,12 +8992,7 @@ const apiTemplatePrompt = `\u{4F60}\u{662F}\u{4E00}\u{4F4D}\u{4E13}\u{4E1A}\u{76
9071
8992
  |[\u{53C2}\u{6570}1]|[string/int\u{7B49}]|[\u{662F}/\u{5426}]|[query/body/path]|[\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}]|
9072
8993
  |[\u{53C2}\u{6570}2]|[string/int\u{7B49}]|[\u{662F}/\u{5426}]|[query/body/path]|[\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}]|
9073
8994
 
9074
- #### 4.1.4 \u{8BF7}\u{6C42}\u{793A}\u{4F8B}
9075
- \`\`\`json
9076
- [\u{8BF7}\u{6C42}\u{793A}\u{4F8B}JSON]
9077
- \`\`\`
9078
-
9079
- #### 4.1.5 \u{54CD}\u{5E94}\u{53C2}\u{6570}
8995
+ #### 5.1.3 \u{54CD}\u{5E94}\u{53C2}\u{6570}
9080
8996
  [\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{54CD}\u{5E94}\u{53C2}\u{6570}]
9081
8997
 
9082
8998
  |\u{53C2}\u{6570}\u{540D}|\u{7C7B}\u{578B}|\u{8BF4}\u{660E}|
@@ -9084,17 +9000,7 @@ const apiTemplatePrompt = `\u{4F60}\u{662F}\u{4E00}\u{4F4D}\u{4E13}\u{4E1A}\u{76
9084
9000
  |[\u{53C2}\u{6570}1]|[string/object\u{7B49}]|[\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}]|
9085
9001
  |[\u{53C2}\u{6570}2]|[string/object\u{7B49}]|[\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}]|
9086
9002
 
9087
- #### 4.1.6 \u{54CD}\u{5E94}\u{793A}\u{4F8B}
9088
- \`\`\`json
9089
- [\u{6210}\u{529F}\u{54CD}\u{5E94}\u{793A}\u{4F8B}JSON]
9090
- \`\`\`
9091
-
9092
- #### 4.1.7 \u{9519}\u{8BEF}\u{54CD}\u{5E94}\u{793A}\u{4F8B}
9093
- \`\`\`json
9094
- [\u{9519}\u{8BEF}\u{54CD}\u{5E94}\u{793A}\u{4F8B}JSON]
9095
- \`\`\`
9096
-
9097
- #### 4.1.8 \u{9519}\u{8BEF}\u{7801}\u{8BF4}\u{660E}
9003
+ #### 5.1.4 \u{9519}\u{8BEF}\u{7801}\u{8BF4}\u{660E}
9098
9004
  [\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{8BE5}\u{63A5}\u{53E3}\u{7684}\u{9519}\u{8BEF}\u{7801}]
9099
9005
 
9100
9006
  |\u{9519}\u{8BEF}\u{7801}|\u{8BF4}\u{660E}|
@@ -9102,93 +9008,10 @@ const apiTemplatePrompt = `\u{4F60}\u{662F}\u{4E00}\u{4F4D}\u{4E13}\u{4E1A}\u{76
9102
9008
  |[\u{9519}\u{8BEF}\u{7801}1]|[\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}]|
9103
9009
  |[\u{9519}\u{8BEF}\u{7801}2]|[\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}]|
9104
9010
 
9105
- ### 4.2 \u{63A5}\u{53E3}2 - [\u{63A5}\u{53E3}\u{540D}\u{79F0}]
9106
- [\u{6309}\u{7167}\u{4E0A}\u{8FF0}\u{683C}\u{5F0F}\u{7EE7}\u{7EED}\u{63CF}\u{8FF0}\u{5176}\u{4ED6}\u{63A5}\u{53E3}]
9107
-
9108
- ## 5. \u{6570}\u{636E}\u{7ED3}\u{6784}\u{5B9A}\u{4E49}
9109
-
9110
- ### 5.1 \u{8BF7}\u{6C42}\u{6570}\u{636E}\u{7ED3}\u{6784}
9111
- [\u{8BE6}\u{7EC6}\u{5B9A}\u{4E49}\u{8BF7}\u{6C42}\u{6570}\u{636E}\u{7684}\u{7ED3}\u{6784}]
9112
-
9113
- ### 5.2 \u{54CD}\u{5E94}\u{6570}\u{636E}\u{7ED3}\u{6784}
9114
- [\u{8BE6}\u{7EC6}\u{5B9A}\u{4E49}\u{54CD}\u{5E94}\u{6570}\u{636E}\u{7684}\u{7ED3}\u{6784}]
9115
-
9116
- ### 5.3 \u{6570}\u{636E}\u{6A21}\u{578B}\u{8BF4}\u{660E}
9117
- [\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{5404}\u{6570}\u{636E}\u{6A21}\u{578B}\u{7684}\u{5B57}\u{6BB5}\u{542B}\u{4E49}\u{548C}\u{7EA6}\u{675F}]
9118
-
9119
- ### 5.4 \u{6570}\u{636E}\u{9A8C}\u{8BC1}\u{89C4}\u{5219}
9120
- [\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{6570}\u{636E}\u{7684}\u{9A8C}\u{8BC1}\u{89C4}\u{5219}\u{548C}\u{7EA6}\u{675F}\u{6761}\u{4EF6}]
9121
-
9122
- ### 5.5 \u{6570}\u{636E}\u{8F6C}\u{6362}\u{89C4}\u{8303}
9123
- [\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{6570}\u{636E}\u{5728}\u{4E0D}\u{540C}\u{7CFB}\u{7EDF}\u{95F4}\u{7684}\u{8F6C}\u{6362}\u{89C4}\u{8303}]
9124
-
9125
- ### 5.6 \u{654F}\u{611F}\u{6570}\u{636E}\u{5904}\u{7406}
9126
- [\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{654F}\u{611F}\u{6570}\u{636E}\u{7684}\u{52A0}\u{5BC6}\u{548C}\u{5904}\u{7406}\u{8981}\u{6C42}]
9127
-
9128
- ## 6. \u{4EA4}\u{4E92}\u{903B}\u{8F91}\u{8BF4}\u{660E}
9129
-
9130
- ### 6.1 \u{8C03}\u{7528}\u{65F6}\u{5E8F}
9131
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{8C03}\u{7528}\u{7684}\u{65F6}\u{5E8F}\u{903B}\u{8F91}]
9132
-
9133
- ### 6.2 \u{4E1A}\u{52A1}\u{6D41}\u{7A0B}
9134
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{6D89}\u{53CA}\u{7684}\u{4E1A}\u{52A1}\u{6D41}\u{7A0B}]
9135
-
9136
- ### 6.3 \u{5F02}\u{5E38}\u{5904}\u{7406}
9137
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{8C03}\u{7528}\u{5F02}\u{5E38}\u{7684}\u{5904}\u{7406}\u{903B}\u{8F91}]
9138
-
9139
- ### 6.4 \u{91CD}\u{8BD5}\u{673A}\u{5236}
9140
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{8C03}\u{7528}\u{5931}\u{8D25}\u{65F6}\u{7684}\u{91CD}\u{8BD5}\u{673A}\u{5236}]
9141
-
9142
- ### 6.5 \u{72B6}\u{6001}\u{7BA1}\u{7406}
9143
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{8C03}\u{7528}\u{8FC7}\u{7A0B}\u{4E2D}\u{7684}\u{72B6}\u{6001}\u{7BA1}\u{7406}]
9011
+ #### 5.1.5 \u{8BE6}\u{7EC6}\u{903B}\u{8F91}
9012
+ [\u{5206}\u{6B65}\u{9AA4}\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{8BE5}\u{63A5}\u{53E3}\u{7684}\u{8BE6}\u{7EC6}\u{903B}\u{8F91}]
9144
9013
 
9145
- ### 6.6 \u{8D85}\u{65F6}\u{5904}\u{7406}
9146
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{8C03}\u{7528}\u{7684}\u{8D85}\u{65F6}\u{5904}\u{7406}\u{673A}\u{5236}]
9147
-
9148
- ### 6.7 \u{5E76}\u{53D1}\u{5904}\u{7406}
9149
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{5E76}\u{53D1}\u{8C03}\u{7528}\u{5904}\u{7406}\u{673A}\u{5236}]
9150
-
9151
- ## 7. \u{8BA4}\u{8BC1}\u{4E0E}\u{6388}\u{6743}
9152
-
9153
- ### 7.1 \u{8BA4}\u{8BC1}\u{65B9}\u{5F0F}
9154
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{8BA4}\u{8BC1}\u{65B9}\u{5F0F}\u{FF0C}\u{5982}Token\u{3001}OAuth\u{7B49}]
9155
-
9156
- ### 7.2 \u{6388}\u{6743}\u{673A}\u{5236}
9157
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{6388}\u{6743}\u{673A}\u{5236}]
9158
-
9159
- ### 7.3 \u{5B89}\u{5168}\u{8981}\u{6C42}
9160
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{5B89}\u{5168}\u{8981}\u{6C42}]
9161
-
9162
- ### 7.4 \u{4F1A}\u{8BDD}\u{7BA1}\u{7406}
9163
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{4F1A}\u{8BDD}\u{7BA1}\u{7406}\u{673A}\u{5236}]
9164
-
9165
- ### 7.5 \u{8BBF}\u{95EE}\u{63A7}\u{5236}
9166
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{8BBF}\u{95EE}\u{63A7}\u{5236}\u{7B56}\u{7565}]
9167
-
9168
- ### 7.6 \u{5BA1}\u{8BA1}\u{65E5}\u{5FD7}
9169
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{5BA1}\u{8BA1}\u{65E5}\u{5FD7}\u{8981}\u{6C42}]
9170
-
9171
- ## 8. \u{6027}\u{80FD}\u{8981}\u{6C42}
9172
-
9173
- ### 8.1 \u{54CD}\u{5E94}\u{65F6}\u{95F4}
9174
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{54CD}\u{5E94}\u{65F6}\u{95F4}\u{8981}\u{6C42}]
9175
-
9176
- ### 8.2 \u{5E76}\u{53D1}\u{5904}\u{7406}
9177
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{5E76}\u{53D1}\u{5904}\u{7406}\u{80FD}\u{529B}\u{8981}\u{6C42}]
9178
-
9179
- ### 8.3 \u{9650}\u{6D41}\u{7B56}\u{7565}
9180
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{9650}\u{6D41}\u{7B56}\u{7565}]
9181
-
9182
- ### 8.4 \u{7F13}\u{5B58}\u{7B56}\u{7565}
9183
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{7F13}\u{5B58}\u{4F7F}\u{7528}\u{7B56}\u{7565}]
9184
-
9185
- ### 8.5 \u{8D1F}\u{8F7D}\u{5747}\u{8861}
9186
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{8D1F}\u{8F7D}\u{5747}\u{8861}\u{7B56}\u{7565}]
9187
-
9188
- ### 8.6 \u{76D1}\u{63A7}\u{6307}\u{6807}
9189
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{76D1}\u{63A7}\u{6307}\u{6807}\u{8981}\u{6C42}]
9190
-
9191
- ## 9. \u{4E1A}\u{52A1}\u{5BF9}\u{8C61}\u{65F6}\u{5E8F}\u{56FE}
9014
+ ## 6. \u{4E1A}\u{52A1}\u{5BF9}\u{8C61}\u{65F6}\u{5E8F}\u{56FE}
9192
9015
 
9193
9016
  \`\`\`mermaid
9194
9017
  sequenceDiagram
@@ -9226,9 +9049,9 @@ sequenceDiagram
9226
9049
  API\u{7F51}\u{5173}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9227
9050
  \`\`\`
9228
9051
 
9229
- ### 9.2 \u{66FF}\u{4EE3}\u{6D41}\u{7A0B}\u{FF08}\u{4E0D}\u{540C}\u{6709}\u{6548}\u{8DEF}\u{5F84}\u{FF09}
9052
+ ### 6.2 \u{65B9}\u{6848}\u{4E8C}\u{FF1A}\u{66FF}\u{4EE3}\u{6D41}\u{7A0B}\u{FF08}\u{4E0D}\u{540C}\u{6709}\u{6548}\u{8DEF}\u{5F84}\u{FF09}
9230
9053
 
9231
- #### 9.2.1 \u{8BA4}\u{8BC1}/\u{6388}\u{6743}\u{6D41}\u{7A0B}
9054
+ #### 6.2.1 \u{8BA4}\u{8BC1}/\u{6388}\u{6743}\u{6D41}\u{7A0B}
9232
9055
  \`\`\`mermaid
9233
9056
  sequenceDiagram
9234
9057
  participant \u{5BA2}\u{6237}\u{7AEF}
@@ -9254,59 +9077,9 @@ sequenceDiagram
9254
9077
  end
9255
9078
  \`\`\`
9256
9079
 
9257
- #### 9.2.2 \u{9519}\u{8BEF}\u{5904}\u{7406}\u{6D41}\u{7A0B}
9258
- \`\`\`mermaid
9259
- sequenceDiagram
9260
- participant \u{5BA2}\u{6237}\u{7AEF}
9261
- participant API\u{7F51}\u{5173}
9262
- participant \u{4E1A}\u{52A1}\u{670D}\u{52A1}
9263
- participant \u{6570}\u{636E}\u{5E93}
9264
- participant \u{65E5}\u{5FD7}\u{670D}\u{52A1}
9265
- participant \u{76D1}\u{63A7}\u{670D}\u{52A1}
9266
-
9267
- \u{5BA2}\u{6237}\u{7AEF}->>API\u{7F51}\u{5173}: \u{53D1}\u{9001}API\u{8BF7}\u{6C42}
9268
- API\u{7F51}\u{5173}->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{8F6C}\u{53D1}\u{8BF7}\u{6C42}
9269
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{6570}\u{636E}\u{5E93}: \u{67E5}\u{8BE2}\u{6570}\u{636E}
9270
- \u{6570}\u{636E}\u{5E93}-->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{8FD4}\u{56DE}\u{6570}\u{636E}\u{5E93}\u{9519}\u{8BEF}
9271
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{65E5}\u{5FD7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{9519}\u{8BEF}\u{65E5}\u{5FD7}
9272
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{76D1}\u{63A7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{9519}\u{8BEF}\u{6307}\u{6807}
9273
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{6267}\u{884C}\u{9519}\u{8BEF}\u{6062}\u{590D}\u{903B}\u{8F91}
9274
- alt \u{9519}\u{8BEF}\u{53EF}\u{6062}\u{590D}
9275
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{6570}\u{636E}\u{5E93}: \u{91CD}\u{8BD5}\u{67E5}\u{8BE2}
9276
- \u{6570}\u{636E}\u{5E93}-->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{8FD4}\u{56DE}\u{67E5}\u{8BE2}\u{7ED3}\u{679C}
9277
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}\u{6570}\u{636E}
9278
- API\u{7F51}\u{5173}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9279
- else \u{9519}\u{8BEF}\u{4E0D}\u{53EF}\u{6062}\u{590D}
9280
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{9519}\u{8BEF}\u{54CD}\u{5E94}
9281
- API\u{7F51}\u{5173}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}500\u{9519}\u{8BEF}
9282
- end
9283
- \`\`\`
9284
-
9285
- #### 9.2.3 API\u{6587}\u{6863}\u{81EA}\u{52A8}\u{751F}\u{6210}\u{6D41}\u{7A0B}
9286
- \`\`\`mermaid
9287
- sequenceDiagram
9288
- participant \u{5F00}\u{53D1}\u{8005}
9289
- participant API\u{7F51}\u{5173}
9290
- participant \u{6587}\u{6863}\u{751F}\u{6210}\u{5668}
9291
- participant \u{7248}\u{672C}\u{7BA1}\u{7406}\u{5668}
9292
- participant \u{5B58}\u{50A8}\u{670D}\u{52A1}
9293
- participant \u{65E5}\u{5FD7}\u{670D}\u{52A1}
9294
-
9295
- \u{5F00}\u{53D1}\u{8005}->>API\u{7F51}\u{5173}: \u{90E8}\u{7F72}\u{65B0}API\u{7248}\u{672C}
9296
- API\u{7F51}\u{5173}->>\u{6587}\u{6863}\u{751F}\u{6210}\u{5668}: \u{89E6}\u{53D1}\u{6587}\u{6863}\u{751F}\u{6210}
9297
- \u{6587}\u{6863}\u{751F}\u{6210}\u{5668}->>\u{7248}\u{672C}\u{7BA1}\u{7406}\u{5668}: \u{83B7}\u{53D6}API\u{89C4}\u{8303}
9298
- \u{7248}\u{672C}\u{7BA1}\u{7406}\u{5668}-->>\u{6587}\u{6863}\u{751F}\u{6210}\u{5668}: \u{8FD4}\u{56DE}API\u{5B9A}\u{4E49}
9299
- \u{6587}\u{6863}\u{751F}\u{6210}\u{5668}->>\u{6587}\u{6863}\u{751F}\u{6210}\u{5668}: \u{89E3}\u{6790}API\u{7ED3}\u{6784}
9300
- \u{6587}\u{6863}\u{751F}\u{6210}\u{5668}->>\u{5B58}\u{50A8}\u{670D}\u{52A1}: \u{4FDD}\u{5B58}\u{6587}\u{6863}\u{7248}\u{672C}
9301
- \u{5B58}\u{50A8}\u{670D}\u{52A1}-->>\u{6587}\u{6863}\u{751F}\u{6210}\u{5668}: \u{786E}\u{8BA4}\u{4FDD}\u{5B58}\u{6210}\u{529F}
9302
- \u{6587}\u{6863}\u{751F}\u{6210}\u{5668}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{6587}\u{6863}\u{751F}\u{6210}\u{7ED3}\u{679C}
9303
- API\u{7F51}\u{5173}->>\u{5F00}\u{53D1}\u{8005}: \u{901A}\u{77E5}\u{6587}\u{6863}\u{751F}\u{6210}\u{5B8C}\u{6210}
9304
- API\u{7F51}\u{5173}->>\u{65E5}\u{5FD7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{6587}\u{6863}\u{751F}\u{6210}\u{65E5}\u{5FD7}
9305
- \`\`\`
9306
-
9307
- ### 9.3 \u{5F02}\u{5E38}\u{6D41}\u{7A0B}\u{FF08}\u{9519}\u{8BEF}\u{5904}\u{7406}\u{FF09}
9080
+ ### 6.3 \u{5F02}\u{5E38}\u{6D41}\u{7A0B}\u{FF08}\u{9519}\u{8BEF}\u{5904}\u{7406}\u{FF09}
9308
9081
 
9309
- #### 9.3.1 \u{9650}\u{6D41}\u{5904}\u{7406}
9082
+ #### 6.3.1 \u{9650}\u{6D41}\u{5904}\u{7406}
9310
9083
  \`\`\`mermaid
9311
9084
  sequenceDiagram
9312
9085
  participant \u{5BA2}\u{6237}\u{7AEF}
@@ -9325,7 +9098,7 @@ sequenceDiagram
9325
9098
  end
9326
9099
  \`\`\`
9327
9100
 
9328
- #### 9.3.2 \u{6570}\u{636E}\u{9A8C}\u{8BC1}\u{51B2}\u{7A81}
9101
+ #### 6.3.2 \u{6570}\u{636E}\u{9A8C}\u{8BC1}\u{51B2}\u{7A81}
9329
9102
  \`\`\`mermaid
9330
9103
  sequenceDiagram
9331
9104
  participant \u{5BA2}\u{6237}\u{7AEF}
@@ -9343,7 +9116,7 @@ sequenceDiagram
9343
9116
  API\u{7F51}\u{5173}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}400\u{9519}\u{8BEF}\u{53CA}\u{9519}\u{8BEF}\u{8BE6}\u{60C5}
9344
9117
  \`\`\`
9345
9118
 
9346
- #### 9.3.3 API Schema\u{9A8C}\u{8BC1}\u{9519}\u{8BEF}
9119
+ #### 6.3.3 API Schema\u{9A8C}\u{8BC1}\u{9519}\u{8BEF}
9347
9120
  \`\`\`mermaid
9348
9121
  sequenceDiagram
9349
9122
  participant \u{5F00}\u{53D1}\u{8005}
@@ -9369,60 +9142,54 @@ sequenceDiagram
9369
9142
  end
9370
9143
  \`\`\`
9371
9144
 
9372
- ### 9.4 \u{8FB9}\u{7F18}\u{60C5}\u{51B5}\u{6D41}\u{7A0B}\u{FF08}\u{5E76}\u{53D1}\u{3001}\u{8D85}\u{65F6}\u{7B49}\u{FF09}
9145
+ ### 6.4 \u{8FB9}\u{7F18}\u{60C5}\u{51B5}\u{6D41}\u{7A0B}\u{FF08}\u{5E76}\u{53D1}\u{3001}\u{8D85}\u{65F6}\u{7B49}\u{FF09}
9373
9146
 
9374
- #### 9.4.1 API\u{7248}\u{672C}\u{7BA1}\u{7406}
9147
+ #### 6.4.1 \u{5E76}\u{53D1}\u{51B2}\u{7A81}\u{5904}\u{7406}
9375
9148
  \`\`\`mermaid
9376
9149
  sequenceDiagram
9377
9150
  participant \u{5BA2}\u{6237}\u{7AEF}
9378
9151
  participant API\u{7F51}\u{5173}
9379
- participant \u{7248}\u{672C}\u{7BA1}\u{7406}\u{5668}
9380
- participant \u{4E1A}\u{52A1}\u{670D}\u{52A1}v1
9381
- participant \u{4E1A}\u{52A1}\u{670D}\u{52A1}v2
9152
+ participant \u{6570}\u{636E}\u{5E93}
9153
+ participant \u{65E5}\u{5FD7}\u{670D}\u{52A1}
9154
+ participant \u{7F13}\u{5B58}\u{670D}\u{52A1}
9382
9155
 
9383
- \u{5BA2}\u{6237}\u{7AEF}->>API\u{7F51}\u{5173}: \u{53D1}\u{9001}\u{5E26}\u{7248}\u{672C}\u{53F7}\u{7684}API\u{8BF7}\u{6C42}
9384
- API\u{7F51}\u{5173}->>\u{7248}\u{672C}\u{7BA1}\u{7406}\u{5668}: \u{89E3}\u{6790}API\u{7248}\u{672C}
9385
- \u{7248}\u{672C}\u{7BA1}\u{7406}\u{5668}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{7248}\u{672C}\u{4FE1}\u{606F}
9386
- alt \u{8BF7}\u{6C42}v1\u{7248}\u{672C}
9387
- API\u{7F51}\u{5173}->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}v1: \u{8F6C}\u{53D1}\u{8BF7}\u{6C42}
9388
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}v1-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9389
- else \u{8BF7}\u{6C42}v2\u{7248}\u{672C}
9390
- API\u{7F51}\u{5173}->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}v2: \u{8F6C}\u{53D1}\u{8BF7}\u{6C42}
9391
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}v2-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9156
+ alt \u{9AD8}\u{5E76}\u{53D1}\u{573A}\u{666F}
9157
+ \u{5BA2}\u{6237}\u{7AEF}->>API\u{7F51}\u{5173}: \u{5E76}\u{53D1}\u{8BF7}\u{6C42}
9158
+ API\u{7F51}\u{5173}->>\u{6570}\u{636E}\u{5E93}: \u{6267}\u{884C}\u{6570}\u{636E}\u{64CD}\u{4F5C}
9159
+ \u{6570}\u{636E}\u{5E93}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{7ED3}\u{679C}
9160
+ API\u{7F51}\u{5173}->>\u{7F13}\u{5B58}\u{670D}\u{52A1}: \u{7F13}\u{5B58}\u{54CD}\u{5E94}\u{6570}\u{636E}
9161
+ API\u{7F51}\u{5173}->>\u{65E5}\u{5FD7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{5E76}\u{53D1}\u{51B2}\u{7A81}
9162
+ else \u{975E}\u{9AD8}\u{5E76}\u{53D1}\u{573A}\u{666F}
9163
+ API\u{7F51}\u{5173}->>\u{6570}\u{636E}\u{5E93}: \u{6267}\u{884C}\u{6570}\u{636E}\u{64CD}\u{4F5C}
9164
+ \u{6570}\u{636E}\u{5E93}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{7ED3}\u{679C}
9165
+ API\u{7F51}\u{5173}->>\u{7F13}\u{5B58}\u{670D}\u{52A1}: \u{7F13}\u{5B58}\u{54CD}\u{5E94}\u{6570}\u{636E}
9392
9166
  end
9393
9167
  API\u{7F51}\u{5173}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9394
9168
  \`\`\`
9395
-
9396
- #### 9.4.2 \u{6027}\u{80FD}/\u{53EF}\u{6269}\u{5C55}\u{6027}\u{8981}\u{6C42}
9169
+ #### 6.4.2 \u{8D85}\u{65F6}\u{5904}\u{7406}
9397
9170
  \`\`\`mermaid
9398
9171
  sequenceDiagram
9399
9172
  participant \u{5BA2}\u{6237}\u{7AEF}
9400
- participant \u{8D1F}\u{8F7D}\u{5747}\u{8861}\u{5668}
9401
- participant API\u{7F51}\u{5173}1
9402
- participant API\u{7F51}\u{5173}2
9173
+ participant API\u{7F51}\u{5173}
9403
9174
  participant \u{4E1A}\u{52A1}\u{670D}\u{52A1}
9404
- participant \u{6570}\u{636E}\u{5E93}
9405
- participant \u{7F13}\u{5B58}\u{670D}\u{52A1}
9175
+ participant \u{65E5}\u{5FD7}\u{670D}\u{52A1}
9406
9176
  participant \u{76D1}\u{63A7}\u{670D}\u{52A1}
9177
+ participant \u{5907}\u{7528}\u{670D}\u{52A1}
9407
9178
 
9408
- \u{5BA2}\u{6237}\u{7AEF}->>\u{8D1F}\u{8F7D}\u{5747}\u{8861}\u{5668}: \u{53D1}\u{9001}API\u{8BF7}\u{6C42}
9409
- \u{8D1F}\u{8F7D}\u{5747}\u{8861}\u{5668}->>API\u{7F51}\u{5173}1: \u{5206}\u{53D1}\u{8BF7}\u{6C42}(\u{8F6E}\u{8BE2}\u{7B56}\u{7565})
9410
- API\u{7F51}\u{5173}1->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{8F6C}\u{53D1}\u{8BF7}\u{6C42}
9411
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{7F13}\u{5B58}\u{670D}\u{52A1}: \u{67E5}\u{8BE2}\u{7F13}\u{5B58}
9412
- alt \u{7F13}\u{5B58}\u{547D}\u{4E2D}
9413
- \u{7F13}\u{5B58}\u{670D}\u{52A1}-->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{8FD4}\u{56DE}\u{7F13}\u{5B58}\u{6570}\u{636E}
9414
- else \u{7F13}\u{5B58}\u{672A}\u{547D}\u{4E2D}
9415
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{6570}\u{636E}\u{5E93}: \u{67E5}\u{8BE2}\u{6570}\u{636E}
9416
- \u{6570}\u{636E}\u{5E93}-->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{8FD4}\u{56DE}\u{67E5}\u{8BE2}\u{7ED3}\u{679C}
9417
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{7F13}\u{5B58}\u{670D}\u{52A1}: \u{5B58}\u{50A8}\u{5230}\u{7F13}\u{5B58}
9418
- end
9419
- \u{4E1A}\u{52A1}\u{670D}\u{52A1}-->>API\u{7F51}\u{5173}1: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}\u{6570}\u{636E}
9420
- API\u{7F51}\u{5173}1->>\u{76D1}\u{63A7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{6027}\u{80FD}\u{6307}\u{6807}
9421
- API\u{7F51}\u{5173}1->>\u{8D1F}\u{8F7D}\u{5747}\u{8861}\u{5668}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9422
- \u{8D1F}\u{8F7D}\u{5747}\u{8861}\u{5668}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9179
+ \u{5BA2}\u{6237}\u{7AEF}->>API\u{7F51}\u{5173}: \u{53D1}\u{9001}\u{5305}\u{542B}\u{65E0}\u{6548}\u{6570}\u{636E}\u{7684}\u{8BF7}\u{6C42}
9180
+ API\u{7F51}\u{5173}->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{8F6C}\u{53D1}\u{8BF7}\u{6C42}
9181
+ \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{65E5}\u{5FD7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{8D85}\u{65F6}\u{4E8B}\u{4EF6}
9182
+ \u{4E1A}\u{52A1}\u{670D}\u{52A1}->>\u{76D1}\u{63A7}\u{670D}\u{52A1}: \u{4E0A}\u{62A5}\u{8D85}\u{65F6}\u{6307}\u{6807}
9183
+ \u{4E1A}\u{52A1}\u{670D}\u{52A1}-->>\u{4E1A}\u{52A1}\u{670D}\u{52A1}: \u{91CD}\u{8BD5}\u{8BF7}\u{6C42}
9184
+ \u{4E1A}\u{52A1}\u{670D}\u{52A1}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}408\u{9519}\u{8BEF}(\u{8BF7}\u{6C42}\u{8D85}\u{65F6})
9185
+ API\u{7F51}\u{5173}->>\u{5907}\u{7528}\u{670D}\u{52A1}: \u{8F6C}\u{53D1}\u{8BF7}\u{6C42}
9186
+ \u{5907}\u{7528}\u{670D}\u{52A1}-->>API\u{7F51}\u{5173}: \u{8FD4}\u{56DE}\u{9519}\u{8BEF}\u{54CD}\u{5E94}
9187
+ API\u{7F51}\u{5173}->>\u{65E5}\u{5FD7}\u{670D}\u{52A1}: \u{65E5}\u{5FD7}\u{8BB0}\u{5F55}\u{5907}\u{7528}\u{670D}\u{52A1}\u{54CD}\u{5E94}
9188
+ API\u{7F51}\u{5173}->>\u{76D1}\u{63A7}\u{670D}\u{52A1}: \u{8BB0}\u{5F55}\u{5907}\u{7528}\u{670D}\u{52A1}\u{5931}\u{8D25}
9189
+ API\u{7F51}\u{5173}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}\u{5907}\u{7528}\u{670D}\u{52A1}\u{54CD}\u{5E94}
9423
9190
  \`\`\`
9424
9191
 
9425
- #### 9.4.3 API\u{6027}\u{80FD}\u{964D}\u{7EA7}\u{5904}\u{7406}
9192
+ #### 6.4.3 API\u{6027}\u{80FD}\u{964D}\u{7EA7}\u{5904}\u{7406}
9426
9193
  \`\`\`mermaid
9427
9194
  sequenceDiagram
9428
9195
  participant \u{5BA2}\u{6237}\u{7AEF}
@@ -9448,7 +9215,7 @@ sequenceDiagram
9448
9215
  API\u{7F51}\u{5173}->>\u{5BA2}\u{6237}\u{7AEF}: \u{8FD4}\u{56DE}\u{54CD}\u{5E94}
9449
9216
  \`\`\`
9450
9217
 
9451
- ## 10. \u{4E1A}\u{52A1}\u{72B6}\u{6001}\u{63CF}\u{8FF0}
9218
+ ## 7. \u{4E1A}\u{52A1}\u{72B6}\u{6001}\u{63CF}\u{8FF0}
9452
9219
 
9453
9220
  | | | |
9454
9221
  |---|---|---|
@@ -9461,75 +9228,12 @@ sequenceDiagram
9461
9228
  |06|\u{5904}\u{7406}\u{5B8C}\u{6210}|\u{8BF7}\u{6C42}\u{5904}\u{7406}\u{5B8C}\u{6210}|
9462
9229
  |[\u{6DFB}\u{52A0}\u{66F4}\u{591A}\u{72B6}\u{6001}...]||
9463
9230
 
9464
- ## 11. \u{5904}\u{7406}\u{903B}\u{8F91}\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}
9465
-
9466
- ### 11.1 \u{8BF7}\u{6C42}\u{5904}\u{7406}\u{903B}\u{8F91}
9467
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{8BF7}\u{6C42}\u{7684}\u{5904}\u{7406}\u{903B}\u{8F91}]
9468
-
9469
- ### 11.2 \u{53C2}\u{6570}\u{9A8C}\u{8BC1}\u{903B}\u{8F91}
9470
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{8BF7}\u{6C42}\u{53C2}\u{6570}\u{7684}\u{9A8C}\u{8BC1}\u{903B}\u{8F91}]
9471
-
9472
- ### 11.3 \u{4E1A}\u{52A1}\u{5904}\u{7406}\u{903B}\u{8F91}
9473
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{4E1A}\u{52A1}\u{903B}\u{8F91}\u{7684}\u{5904}\u{7406}\u{8FC7}\u{7A0B}]
9474
-
9475
- ### 11.4 \u{6570}\u{636E}\u{64CD}\u{4F5C}\u{903B}\u{8F91}
9476
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{6570}\u{636E}\u{64CD}\u{4F5C}\u{7684}\u{5904}\u{7406}\u{903B}\u{8F91}]
9477
-
9478
- ### 11.5 \u{54CD}\u{5E94}\u{751F}\u{6210}\u{903B}\u{8F91}
9479
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{54CD}\u{5E94}\u{6570}\u{636E}\u{7684}\u{751F}\u{6210}\u{903B}\u{8F91}]
9480
-
9481
- ### 11.6 \u{9519}\u{8BEF}\u{5904}\u{7406}\u{903B}\u{8F91}
9482
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}\u{9519}\u{8BEF}\u{60C5}\u{51B5}\u{7684}\u{5904}\u{7406}\u{903B}\u{8F91}]
9483
-
9484
- ### 11.7 \u{4E8B}\u{52A1}\u{7BA1}\u{7406}\u{903B}\u{8F91}
9485
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{8C03}\u{7528}\u{4E2D}\u{7684}\u{4E8B}\u{52A1}\u{7BA1}\u{7406}\u{903B}\u{8F91}]
9486
-
9487
- ## 12. \u{76D1}\u{63A7}\u{4E0E}\u{65E5}\u{5FD7}
9488
-
9489
- ### 12.1 \u{76D1}\u{63A7}\u{6307}\u{6807}
9490
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{76D1}\u{63A7}\u{6307}\u{6807}]
9491
-
9492
- ### 12.2 \u{65E5}\u{5FD7}\u{8BB0}\u{5F55}
9493
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{65E5}\u{5FD7}\u{8BB0}\u{5F55}\u{8981}\u{6C42}]
9494
-
9495
- ### 12.3 \u{544A}\u{8B66}\u{673A}\u{5236}
9496
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{544A}\u{8B66}\u{673A}\u{5236}]
9497
-
9498
- ### 12.4 \u{6027}\u{80FD}\u{5206}\u{6790}
9499
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{6027}\u{80FD}\u{5206}\u{6790}\u{8981}\u{6C42}]
9500
-
9501
- ### 12.5 \u{9519}\u{8BEF}\u{8FFD}\u{8E2A}
9502
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{9519}\u{8BEF}\u{8FFD}\u{8E2A}\u{8981}\u{6C42}]
9503
-
9504
- ### 12.6 \u{8BBF}\u{95EE}\u{7EDF}\u{8BA1}
9505
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{7684}\u{8BBF}\u{95EE}\u{7EDF}\u{8BA1}\u{8981}\u{6C42}]
9506
-
9507
- ## 13. \u{6D4B}\u{8BD5}\u{8981}\u{6C42}
9508
-
9509
- ### 13.1 \u{529F}\u{80FD}\u{6D4B}\u{8BD5}
9510
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{529F}\u{80FD}\u{7684}\u{6D4B}\u{8BD5}\u{8981}\u{6C42}]
9511
-
9512
- ### 13.2 \u{6027}\u{80FD}\u{6D4B}\u{8BD5}
9513
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{6027}\u{80FD}\u{7684}\u{6D4B}\u{8BD5}\u{8981}\u{6C42}]
9514
-
9515
- ### 13.3 \u{5B89}\u{5168}\u{6D4B}\u{8BD5}
9516
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{5B89}\u{5168}\u{6027}\u{7684}\u{6D4B}\u{8BD5}\u{8981}\u{6C42}]
9517
-
9518
- ### 13.4 \u{517C}\u{5BB9}\u{6027}\u{6D4B}\u{8BD5}
9519
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{517C}\u{5BB9}\u{6027}\u{7684}\u{6D4B}\u{8BD5}\u{8981}\u{6C42}]
9520
-
9521
- ### 13.5 \u{538B}\u{529B}\u{6D4B}\u{8BD5}
9522
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{538B}\u{529B}\u{6D4B}\u{8BD5}\u{7684}\u{8981}\u{6C42}]
9523
-
9524
- ### 13.6 \u{56DE}\u{5F52}\u{6D4B}\u{8BD5}
9525
- [\u{8BE6}\u{7EC6}\u{63CF}\u{8FF0}API\u{56DE}\u{5F52}\u{6D4B}\u{8BD5}\u{7684}\u{8981}\u{6C42}]
9526
-
9527
- ## 14. \u{4F2A}\u{4EE3}\u{7801}\u{793A}\u{4F8B}
9231
+ ## 8. \u{4F2A}\u{4EE3}\u{7801}\u{793A}\u{4F8B}
9528
9232
 
9529
9233
  \`\`\`gherkin
9530
9234
  Scenario Outline: \u{7528}\u{6237}\u{901A}\u{8FC7}API\u{67E5}\u{8BE2}\u{8BA2}\u{5355}\u{4FE1}\u{606F}
9531
9235
  Given \u{7528}\u{6237}\u{5DF2}\u{901A}\u{8FC7}\u{8BA4}\u{8BC1}\u{5E76}\u{62E5}\u{6709}\u{67E5}\u{8BE2}\u{6743}\u{9650}
9532
- When \u{7528}\u{6237}\u{5411}/orders/<order_id>\u{63A5}\u{53E3}\u{53D1}\u{9001}GET\u{8BF7}\u{6C42}
9236
+ When \u{7528}\u{6237}\u{5411}/orders/<order_id>\u{63A5}\u{53E3}\u{53D1}\u{9001}POST\u{8BF7}\u{6C42}
9533
9237
  Then \u{7CFB}\u{7EDF}\u{5E94}\u{8FD4}\u{56DE}\u{8BA2}\u{5355}\u{4FE1}\u{606F}\u{6216} <error_message>
9534
9238
 
9535
9239
  Examples:
@@ -9566,8 +9270,8 @@ Scenario Outline: API\u{8C03}\u{7528}\u{4E0E}\u{6570}\u{636E}\u{5904}\u{7406}\u{
9566
9270
  | /users | POST | \u{7F3A}\u{5931}\u{5FC5}\u{586B}\u{9879} | \u{8FD4}\u{56DE}400\u{9519}\u{8BEF}\u{FF0C}\u{8BE6}\u{7EC6}\u{8BF4}\u{660E}\u{7F3A}\u{5931}\u{5B57}\u{6BB5} |
9567
9271
  | /users/123 | PUT | \u{66F4}\u{65B0}\u{6570}\u{636E} | \u{66F4}\u{65B0}\u{7528}\u{6237}\u{4FE1}\u{606F}\u{FF0C}\u{8FD4}\u{56DE}\u{66F4}\u{65B0}\u{540E}\u{7684}\u{5B8C}\u{6574}\u{7528}\u{6237}\u{4FE1}\u{606F} |
9568
9272
  | /users/123 | DELETE | \u{5B58}\u{5728}\u{8D44}\u{6E90} | \u{5220}\u{9664}\u{7528}\u{6237}\u{FF0C}\u{8FD4}\u{56DE}204\u{72B6}\u{6001}\u{7801} |
9569
- | /users/999 | GET | \u{4E0D}\u{5B58}\u{5728}\u{8D44}\u{6E90} | \u{8FD4}\u{56DE}404\u{9519}\u{8BEF}\u{FF0C}\u{8BF4}\u{660E}\u{8D44}\u{6E90}\u{672A}\u{627E}\u{5230} |
9570
- | /users | GET | \u{5927}\u{91CF}\u{6570}\u{636E} | \u{5206}\u{9875}\u{8FD4}\u{56DE}\u{7528}\u{6237}\u{5217}\u{8868}\u{FF0C}\u{5305}\u{542B}\u{603B}\u{6570}\u{548C}\u{5206}\u{9875}\u{4FE1}\u{606F} |
9273
+ | /users/999 | POST | \u{4E0D}\u{5B58}\u{5728}\u{8D44}\u{6E90} | \u{8FD4}\u{56DE}404\u{9519}\u{8BEF}\u{FF0C}\u{8BF4}\u{660E}\u{8D44}\u{6E90}\u{672A}\u{627E}\u{5230} |
9274
+ | /users | POST | \u{5927}\u{91CF}\u{6570}\u{636E} | \u{5206}\u{9875}\u{8FD4}\u{56DE}\u{7528}\u{6237}\u{5217}\u{8868}\u{FF0C}\u{5305}\u{542B}\u{603B}\u{6570}\u{548C}\u{5206}\u{9875}\u{4FE1}\u{606F} |
9571
9275
 
9572
9276
  Scenario Outline: API\u{9650}\u{6D41}\u{4E0E}\u{9519}\u{8BEF}\u{6062}\u{590D}\u{5904}\u{7406}
9573
9277
  Given \u{5BA2}\u{6237}\u{7AEF}\u{5728}<time_window>\u{5185}\u{53D1}\u{9001}<request_count>\u{4E2A}\u{8BF7}\u{6C42}