Files
tyapi-frontend/docs/产品API配置管理功能说明.md

164 lines
4.5 KiB
Markdown
Raw Normal View History

2025-11-24 16:06:44 +08:00
# 产品API配置管理功能说明
## 功能概述
产品API配置管理功能允许管理员为每个产品配置API接口的请求参数、响应字段和响应示例这些配置将用于前端的在线调试功能。
## 功能特性
### 1. 请求参数配置
- **参数名称**: 显示给用户的参数名称(如:姓名)
- **字段名**: API接口中使用的字段名name
- **参数类型**: 支持文本、数字、密码、邮箱、手机号、身份证等类型
- **是否必填**: 标识该参数是否为必填项
- **参数示例**: 提供给用户的输入示例
- **验证规则**: 正则表达式验证规则
- **参数描述**: 参数的详细说明
### 2. 响应字段配置
- **字段名称**: 显示给用户的字段名称(如:姓名)
- **字段路径**: JSON响应中的字段路径data.name
- **字段类型**: 支持字符串、数字、布尔值、对象、数组等类型
- **是否必填**: 标识该字段是否在响应中必填
- **字段示例**: 字段的示例值
- **字段描述**: 字段的详细说明
### 3. 响应示例
- **JSON格式**: 完整的API响应示例
- **实时验证**: 确保输入的JSON格式正确
- **格式化显示**: 自动格式化JSON内容
## 使用方法
### 1. 访问产品管理页面
1. 登录管理员账户
2. 进入"产品管理"页面
3. 在产品列表中找到需要配置的产品
### 2. 配置API
1. 点击产品行的"配置API"按钮
2. 在弹出的配置窗口中:
- 查看产品基本信息
- 添加/编辑请求参数
- 添加/编辑响应字段
- 输入JSON响应示例
3. 点击"创建"或"更新"保存配置
### 3. 配置示例
#### 请求参数配置示例
```json
[
{
"name": "姓名",
"field": "name",
"type": "text",
"required": true,
"description": "用户真实姓名",
"example": "张三",
"validation": "^[\\u4e00-\\u9fa5]{2,4}$"
},
{
"name": "身份证号",
"field": "id_card",
"type": "idcard",
"required": true,
"description": "用户身份证号码",
"example": "110101199001011234",
"validation": "^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$"
}
]
```
#### 响应字段配置示例
```json
[
{
"name": "结果",
"path": "result",
"type": "string",
"required": true,
"description": "查询结果",
"example": "success"
},
{
"name": "数据",
"path": "data",
"type": "object",
"required": false,
"description": "查询结果数据",
"example": "{}"
}
]
```
#### 响应示例
```json
{
"result": "success",
"code": 200,
"message": "查询成功",
"data": {
"name": "张三",
"id_card": "110101199001011234",
"mobile": "13800138000",
"status": "正常",
"query_time": "2024-01-01 12:00:00"
}
}
```
## 技术实现
### 后端架构
- **实体层**: `ProductApiConfig` 实体
- **仓库层**: `ProductApiConfigRepository` 接口和实现
- **领域服务层**: `ProductApiConfigService` 业务逻辑
- **应用服务层**: `ProductApiConfigApplicationService` 业务流程
- **HTTP层**: `ProductAdminHandler` 接口处理
### 前端架构
- **组件**: `ProductApiConfigDialog.vue` 配置弹窗
- **页面**: 集成到产品管理页面
- **API**: 通过 `productAdminApi` 调用后端接口
### 数据库设计
```sql
CREATE TABLE product_api_configs (
id VARCHAR(36) PRIMARY KEY,
product_id VARCHAR(36) NOT NULL UNIQUE,
request_params JSON NOT NULL,
response_fields JSON NOT NULL,
response_example JSON NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted_at TIMESTAMP NULL,
FOREIGN KEY (product_id) REFERENCES products(id)
);
```
## 初始化脚本
项目提供了初始化脚本 `scripts/init_product_api_configs.go`可以为现有产品创建默认的API配置
```bash
cd tyapi-server-gin
go run scripts/init_product_api_configs.go
```
## 注意事项
1. **唯一性**: 每个产品只能有一个API配置
2. **JSON格式**: 响应示例必须是有效的JSON格式
3. **字段路径**: 响应字段路径使用点号分隔data.name
4. **验证规则**: 支持正则表达式验证规则
5. **权限控制**: 只有管理员可以配置API
## 扩展功能
未来可以考虑添加的功能:
1. **配置模板**: 提供常用的配置模板
2. **批量导入**: 支持批量导入配置
3. **版本管理**: 支持配置版本管理
4. **测试功能**: 集成API测试功能
5. **文档生成**: 自动生成API文档