Files
taiji-AI-PAD/test_channel_api_results.md
T
2026-01-06 16:42:23 +00:00

8.0 KiB
Raw Blame History

渠道合作伙伴平台 - 接口测试报告

测试时间: 2026-01-06 16:33 - 16:40 UTC 测试环境: localhost:8002 (Docker Compose) 测试账户:


测试结果总览

状态 数量 说明
✅ 通过 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 - 使用平台Agent
  • use:custom_agents - 使用自定义Agent
  • create:agents - 创建Agent
  • read: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 ✅ 有
email ✅ 有
status ✅ 有
plan ❌ subscriptionTier 字段名不同
users ❌ 缺失
revenue ❌ 缺失
balance ✅ 有
creditLimit ✅ 有
createdAt ✅ 有

平台Agent模板返回字段

文档字段 实际返回 状态
name ✅ 有
displayName ✅ 有
description ✅ 有
status ✅ 有
hasAccess ✅ 有
podQuota ✅ 有
podUsed ✅ 有
podRemaining ✅ 有
cpuRequest ✅ 有
memoryRequest ✅ 有
pendingApplication ✅ 有

建议修复优先级

  1. 高优先级

    • 修复 /api/auth/logout 500错误
    • 修复 /api/channel/billing/stats 500错误
  2. 中优先级

    • 修复分配资源后配额更新逻辑
    • 统一 subscriptionTier 的值(pro vs professional)
  3. 低优先级

    • 实现角色权限配置接口
    • 补充租户列表中的 users 和 revenue 字段

报告生成时间: 2026-01-06T16:40:00Z