# API在线调试功能说明 ## 功能概述 API在线调试功能为用户提供了一个可视化的界面来测试已订阅的API接口,让用户能够: 1. **选择产品**:从已订阅的产品列表中选择要调试的API 2. **输入参数**:根据产品要求输入测试参数 3. **查看加密过程**:了解参数如何被加密处理 4. **获取响应**:查看API的实际响应结果 5. **分析结果**:了解API调用的完整过程 ## 功能特点 ### 1. 产品选择 - 自动加载用户已订阅的产品列表 - 显示产品名称、代码和价格信息 - 只显示有效的订阅产品 ### 2. 参数输入 - 统一的参数结构:姓名、身份证号、手机号 - 实时参数验证 - 参数示例和说明 ### 3. 加密处理 - 自动使用用户的Secret Key进行AES加密 - 显示原始参数和加密后的参数 - 确保参数安全性 ### 4. 调试结果 - 完整的请求信息(产品名称、API代码、交易ID等) - 请求时间和响应时间统计 - 成功/失败状态显示 - 原始响应数据展示 ## 技术实现 ### 后端接口 #### 1. 加密接口 ``` POST /api/v1/encrypt Content-Type: application/json Authorization: Bearer {token} { "data": { "name": "张三", "id_card": "110101199001011234", "mobile": "13800138000" } } ``` **响应**: ```json { "success": true, "data": { "encrypted_data": "加密后的Base64字符串" }, "message": "加密成功" } ``` #### 2. API调用接口 ``` POST /api/v1/{api_code} Content-Type: application/json Access-Id: {access_id} { "data": "加密后的参数" } ``` ### 前端实现 #### 1. 页面结构 - **调试配置区域**:产品选择、参数输入 - **调试结果区域**:请求信息、响应数据 - **使用说明区域**:操作指南和注意事项 #### 2. 核心功能 - 自动加载用户订阅产品 - 参数验证和格式化 - 加密参数调用 - 结果展示和分析 ## 使用流程 ### 1. 访问调试页面 - 登录系统后,进入"开发者中心" → "在线调试" - 页面会自动加载用户的API密钥和订阅产品 ### 2. 选择产品 - 从下拉列表中选择要调试的产品 - 系统会显示产品的详细信息 ### 3. 输入参数 - 填写姓名(必填) - 填写身份证号(必填,18位) - 填写手机号(必填,11位) ### 4. 开始调试 - 点击"开始调试"按钮 - 系统会自动加密参数并调用API - 等待响应结果 ### 5. 查看结果 - 查看请求信息(交易ID、响应时间等) - 查看原始参数和加密参数 - 查看API响应结果 ## 注意事项 ### 1. 费用说明 - 每次调试都会消耗API调用次数 - 会按照产品价格扣除相应费用 - 调试结果会记录在调用记录中 ### 2. 数据安全 - 所有参数都经过AES加密处理 - 使用用户的专属Secret Key - 不会在日志中记录敏感信息 ### 3. 使用建议 - 使用真实的测试数据进行调试 - 注意参数格式的正确性 - 调试结果仅供参考 ### 4. 错误处理 - 网络错误会显示相应提示 - API调用失败会显示错误信息 - 参数错误会给出具体提示 ## 技术架构 ### 前端架构 ``` ApiDebugger.vue ├── 产品选择组件 ├── 参数输入组件 ├── 加密处理逻辑 ├── 结果展示组件 └── 使用说明组件 ``` ### 后端架构 ``` API Handler ├── 加密接口 (EncryptParams) ├── API调用接口 (HandleApiCall) └── 密钥管理接口 (GetUserApiKeys) ``` ### 数据流 1. 前端获取用户订阅产品 2. 用户输入参数 3. 前端调用加密接口 4. 前端使用加密参数调用API 5. 后端处理并返回结果 6. 前端展示调试结果 ## 扩展功能 ### 1. 参数模板 - 支持保存常用的参数组合 - 快速填充测试数据 - 参数历史记录 ### 2. 批量调试 - 支持多个API同时调试 - 批量参数输入 - 结果对比分析 ### 3. 调试历史 - 保存调试记录 - 结果回放功能 - 性能统计分析 ### 4. 高级功能 - 自定义参数验证 - 响应数据解析 - 错误模式分析 ## 常见问题 ### Q1: 为什么看不到某些产品? A: 只有已订阅且有效的产品才会显示在列表中。 ### Q2: 调试失败怎么办? A: 检查参数格式是否正确,网络连接是否正常,账户余额是否充足。 ### Q3: 如何查看详细的错误信息? A: 在调试结果区域会显示完整的错误信息和响应数据。 ### Q4: 调试会消耗费用吗? A: 是的,每次调试都会按照产品价格扣除相应费用。 ### Q5: 如何保护我的API密钥? A: Secret Key默认隐藏显示,可以点击"显示"按钮查看,建议不要泄露给他人。