forked from xiaohei/taiji-AI-PAD
8.0 KiB
8.0 KiB
渠道合作伙伴平台 - 接口测试报告
测试时间: 2026-01-06 16:33 - 16:40 UTC 测试环境: localhost:8002 (Docker Compose) 测试账户:
- 渠道管理员: 66@66.com / 66
- 超级管理员: superadmin@taiji-ai.com / Admin@123456
测试结果总览
| 状态 | 数量 | 说明 |
|---|---|---|
| ✅ 通过 | 19 | 接口正常工作 |
| ⚠️ 警告 | 3 | 接口可用但有问题 |
| ❌ 失败 | 2 | 接口返回500错误 |
| 总计 | 24 |
详细测试结果
1. 认证模块
| 序号 | 接口 | 方法 | 路径 | 状态 | 说明 |
|---|---|---|---|---|---|
| 1 | 渠道用户登录 | POST | /api/auth/login |
✅ 通过 | 返回token和用户信息正常 |
| 2 | 退出登录 | POST | /api/auth/logout |
❌ 失败 | 返回500错误 |
登录响应示例:
{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "893b8a13-977e-4a6f-8010-4a6fe5e0bb39",
"name": "渠道66",
"email": "66@66.com",
"role": "channel_admin",
"channelId": "893b8a13-977e-4a6f-8010-4a6fe5e0bb39"
}
}
}
2. 仪表板模块
| 序号 | 接口 | 方法 | 路径 | 状态 | 说明 |
|---|---|---|---|---|---|
| 3 | 获取租户列表(统计) | GET | /api/channel/tenants |
✅ 通过 | 返回8个租户 |
| 4 | 平台Agent概览 | GET | /api/channel/available-platform-agents |
✅ 通过 | 返回5个模板 |
3. 租户管理模块
| 序号 | 接口 | 方法 | 路径 | 状态 | 说明 |
|---|---|---|---|---|---|
| 5 | 获取租户列表 | GET | /api/channel/tenants |
✅ 通过 | 字段完整 |
| 6 | 创建租户 | POST | /api/channel/tenants/create |
✅ 通过 | 返回租户ID |
| 7 | 删除租户 | DELETE | /api/channel/tenants/{tenantId} |
⚠️ 警告 | 有余额时无法删除(预期行为) |
| 8 | 分配资源 | PUT | /api/channel/tenants/{tenantId}/resources |
⚠️ 警告 | 接口成功但配额未减少 |
| 9 | 租户充值 | POST | /api/channel/tenants/{tenantId}/recharge |
✅ 通过 | 返回新余额 |
| 10 | 设置授信额度 | PUT | /api/channel/tenants/{tenantId}/credit |
✅ 通过 | |
| 11 | 管理计费 | PUT | /api/channel/tenants/{tenantId}/billing |
✅ 通过 | subscriptionTier只支持free/pro/enterprise |
| 12 | 更新租户状态 | PUT | /api/channel/tenants/{tenantId}/status |
✅ 通过 | |
| 13 | 更新租户权限 | PUT | /api/channel/tenants/{tenantId}/permissions |
✅ 通过 | 需使用正确的权限格式 |
有效权限列表:
use:platform_agents- 使用平台Agentuse:custom_agents- 使用自定义Agentcreate:agents- 创建Agentread:billing- 查看计费信息export:data- 导出数据
分配资源响应示例:
{
"success": true,
"data": null,
"message": "资源分配成功"
}
问题: 分配资源后,渠道的 podUsed 没有增加,podRemaining 没有减少。
4. 资源管理模块
| 序号 | 接口 | 方法 | 路径 | 状态 | 说明 |
|---|---|---|---|---|---|
| 14 | 平台Agent模板列表 | GET | /api/channel/available-platform-agents |
✅ 通过 | |
| 15 | 模型供应商列表 | GET | /api/channel/providers |
✅ 通过 | 返回1个供应商 |
| 16 | 申请平台Agent配额 | POST | /api/channel/applications/platform-agents |
✅ 通过 | |
| 17 | 申请模型供应商权限 | POST | /api/channel/providers/apply |
✅ 通过 | providerId需使用UUID格式 |
供应商列表响应示例:
{
"success": true,
"data": {
"providers": [
{
"id": "753aae69-8c60-488a-972f-397b18eaf1c3",
"name": "openai",
"provider": "openai",
"supportedModels": ["GPT"],
"rpm": 100,
"tpm": 1000,
"status": "active",
"hasAccess": false,
"pendingApplication": true
}
]
}
}
5. 计费模块
| 序号 | 接口 | 方法 | 路径 | 状态 | 说明 |
|---|---|---|---|---|---|
| 18 | 租户计费统计 | GET | /api/channel/billing/stats |
❌ 失败 | 返回500错误 |
| 19 | 时间范围查询 | GET | /api/channel/billing/stats |
❌ 失败 | 同上 |
| 20 | 筛选功能 | GET | /api/channel/billing/stats |
❌ 失败 | 同上 |
| 21 | 数据导出 | GET | /api/channel/billing/stats |
❌ 失败 | 同上 |
错误原因: 接口内部错误,可能是数据库查询问题。
6. 设置模块
| 序号 | 接口 | 方法 | 路径 | 状态 | 说明 |
|---|---|---|---|---|---|
| 22 | 管理员列表 | GET | /api/channel/admins |
✅ 通过 | |
| 23 | 创建管理员 | POST | /api/channel/admins/create |
✅ 通过 | |
| 24 | 删除管理员 | DELETE | /api/admin/admins/{adminId} |
✅ 通过 | 需要super_admin权限 |
| 25 | 配置角色权限 | PUT | /api/channel/roles/{roleId}/permissions |
⚠️ 待开发 | 接口不存在 |
7. 附加接口
| 序号 | 接口 | 方法 | 路径 | 状态 | 说明 |
|---|---|---|---|---|---|
| 26 | 获取Agent申请记录 | GET | /api/channel/applications/platform-agents |
✅ 通过 | |
| 27 | 获取供应商申请记录 | GET | /api/channel/providers/applications |
✅ 通过 | |
| 28 | 获取渠道Agent配额 | GET | /api/channel/platform-agents |
✅ 通过 | |
| 29 | 获取租户自定义Agent配额 | GET | /api/channel/tenants/{tenantId}/custom-agent-quota |
✅ 通过 |
发现的问题
1. 严重问题 (需要修复)
1.1 退出登录接口返回500错误
- 接口:
POST /api/auth/logout - 错误: Internal Server Error
- 可能原因:
add_token_to_blacklist函数中user_id参数类型问题
1.2 计费统计接口返回500错误
- 接口:
GET /api/channel/billing/stats - 错误: Internal Server Error
- 可能原因: 数据库查询错误,可能是
BillingRecord表结构或数据问题
2. 中等问题 (建议修复)
2.1 分配资源后配额未正确更新
- 接口:
PUT /api/channel/tenants/{tenantId}/resources - 问题: 分配Agent给租户后,渠道的
podUsed没有增加 - 影响: 无法正确追踪配额使用情况
2.2 申请供应商时providerId格式问题
- 接口:
POST /api/channel/providers/apply - 问题: 使用字符串"openai"会导致UUID解析错误
- 建议: 前端应使用供应商列表返回的UUID格式ID
3. 低优先级问题
3.1 角色权限配置接口待开发
- 接口:
PUT /api/channel/roles/{roleId}/permissions - 状态: 后端接口不存在
3.2 文档与实际接口不一致
- 问题: 文档中
subscriptionTier支持professional,但实际只支持pro - 建议: 统一文档和代码
接口响应字段对照
租户列表返回字段
| 文档字段 | 实际返回 | 状态 |
|---|---|---|
| id | ✅ | 有 |
| name | ✅ | 有 |
| ✅ | 有 | |
| status | ✅ | 有 |
| plan | ❌ subscriptionTier | 字段名不同 |
| users | ❌ | 缺失 |
| revenue | ❌ | 缺失 |
| balance | ✅ | 有 |
| creditLimit | ✅ | 有 |
| createdAt | ✅ | 有 |
平台Agent模板返回字段
| 文档字段 | 实际返回 | 状态 |
|---|---|---|
| name | ✅ | 有 |
| displayName | ✅ | 有 |
| description | ✅ | 有 |
| status | ✅ | 有 |
| hasAccess | ✅ | 有 |
| podQuota | ✅ | 有 |
| podUsed | ✅ | 有 |
| podRemaining | ✅ | 有 |
| cpuRequest | ✅ | 有 |
| memoryRequest | ✅ | 有 |
| pendingApplication | ✅ | 有 |
建议修复优先级
-
高优先级
- 修复
/api/auth/logout500错误 - 修复
/api/channel/billing/stats500错误
- 修复
-
中优先级
- 修复分配资源后配额更新逻辑
- 统一
subscriptionTier的值(pro vs professional)
-
低优先级
- 实现角色权限配置接口
- 补充租户列表中的
users和revenue字段
报告生成时间: 2026-01-06T16:40:00Z