202 lines
4.6 KiB
Markdown
202 lines
4.6 KiB
Markdown
|
|
# 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默认隐藏显示,可以点击"显示"按钮查看,建议不要泄露给他人。
|