Files
taiji-pda-v0/docs/API-ADAPTATION-REPORT.md
T
xiaohei f044360293 fix: 修复超级管理员控制台概览页面接口问题
1. 修复统计数据字段名与后端API不匹配问题
   - total_channels → totalChannels
   - total_tenants → totalTenants
   - total_revenue → totalRevenue

2. 修复系统指标使用正确的监控接口
   - 从 getAdminDashboardStats 改为 getMonitoringMetrics
   - 使用正确的字段: system.cpu_usage_percent, system.memory_usage_percent, system.disk_usage_percent
   - API请求数使用 services.total_executions_24h

3. 添加监控接口错误处理,避免页面崩溃
2025-12-31 10:31:37 +00:00

9.4 KiB
Raw Blame History

前端API适配报告

生成时间: 2025-12-31
文件: taiji-pad-v0/lib/api-client.ts


一、已完成的修改

1. 移除后端不存在的接口

接口名称 原路径 说明
disableTenant PUT /api/channel/tenants/{id}/disable 后端不存在,已移除
enableTenant PUT /api/channel/tenants/{id}/enable 后端不存在,已移除

替代方案: 使用 updateTenantStatus(tenantId, status) 接口统一管理租户状态:

  • updateTenantStatus(tenantId, "suspended") - 暂停租户
  • updateTenantStatus(tenantId, "active") - 启用租户
  • updateTenantStatus(tenantId, "inactive") - 停用租户

2. 修复参数不匹配的接口

2.1 createAdmin - 添加必需的 channelId 参数

修改前:

static async createAdmin(data: {
  name: string
  email: string
  password: string
  role: "billing_admin" | "operations_admin"
})

修改后:

static async createAdmin(data: {
  name: string
  email: string
  password: string
  role: "billing_admin" | "operations_admin"
  channelId: string  // 必需参数
})

原因: 后端API文档明确要求计费管理员和运维管理员必须关联到具体的渠道。

2.2 updateAgentResourceConfig - 修正参数

修改前:

static async updateAgentResourceConfig(agentId: string, data: {
  name?: string
  description?: string
  price?: number
})

修改后:

static async updateAgentResourceConfig(agentId: string, data: {
  cpu?: number        // CPU核心数,0.1-64之间
  memory?: number     // 内存大小(GB),0.5-256之间
  maxInstances?: number  // 最大实例数,1-1000之间
})

原因: 后端API文档显示该接口用于更新Agent的资源配置(CPU、内存、最大实例数),而非名称和价格。

3. 新增后端存在但前端缺失的接口

3.1 用户侧平台 API

接口名称 路径 方法 说明
createCustomAgent /api/user/agents/custom/create POST 创建租户自定义的Agent
getCustomAgents /api/user/agents/custom GET 获取自定义Agent列表

3.2 渠道合作伙伴 API

接口名称 路径 方法 说明
updateTenantPermissions /api/channel/tenants/{tenant_id}/permissions PUT 更新租户权限

权限列表:

  • use:platform_agents - 使用平台Agent
  • use:custom_agents - 使用自定义Agent
  • create:agents - 创建Agent
  • read:billing - 查看计费信息
  • export:data - 导出数据

3.3 超级管理员 API

接口名称 路径 方法 说明
getChannelResources /api/admin/channels/{channel_id}/resources GET 获取渠道资源分配

二、后端文档中未找到的接口(需确认)

以下接口在前端存在,但在后端API文档中未找到对应定义,建议与后端团队确认:

接口名称 前端路径 状态
getAdminTenants GET /api/admin/tenants ⚠️ 后端文档未定义
changeTenantPassword PUT /api/channel/tenants/{tenant_id}/password ⚠️ 后端文档未定义

建议:

  1. 与后端团队确认这两个接口是否已实现
  2. 如果已实现,请更新后端API文档
  3. 如果未实现,前端需要移除或注释这些接口

三、接口对照表(按模块)

认证模块 (/api/auth)

前端接口 后端路径 状态
login POST /api/auth/login ✅ 匹配
logout POST /api/auth/logout ✅ 匹配
refreshToken POST /api/auth/refresh ✅ 匹配
changePassword PUT /api/auth/password ✅ 匹配
getApiKeyInfo GET /api/auth/keys/info ✅ 匹配
regenerateApiKey POST /api/auth/keys/regenerate ✅ 匹配

用户侧平台 (/api/user)

前端接口 后端路径 状态
getUserDashboardStats GET /api/user/dashboard/stats ✅ 匹配
getUserAgentActivity GET /api/user/agents/activity ✅ 匹配
selectGateway POST /api/user/gateway/select ✅ 匹配
createGatewayAPI POST /api/user/gateway/api/create ✅ 匹配
getGatewayAPIs GET /api/user/gateway/apis ✅ 匹配
getGatewayMonitoring GET /api/user/gateway/monitoring ✅ 匹配
generateTool POST /api/user/tools/generate ✅ 匹配
createDataTemplate POST /api/user/data-templates/create ✅ 匹配
getPlatformAgents GET /api/user/agents/platform ✅ 匹配
deployAgent POST /api/user/agents/deploy ✅ 匹配
createCustomAgent POST /api/user/agents/custom/create ✅ 新增
getCustomAgents GET /api/user/agents/custom ✅ 新增
getWorkflows GET /api/user/workflows ✅ 匹配
createWorkflow POST /api/user/workflows/create ✅ 匹配
getBillingBalance GET /api/user/billing/balance ✅ 匹配
rechargeBalance POST /api/user/billing/recharge ✅ 匹配
getBillingHistory GET /api/user/billing/history ✅ 匹配

渠道合作伙伴 (/api/channel)

前端接口 后端路径 状态
getChannelTenants GET /api/channel/tenants ✅ 匹配
createChannelTenant POST /api/channel/tenants/create ✅ 匹配
allocateTenantResources PUT /api/channel/tenants/{id}/resources ✅ 匹配
updateTenantBilling PUT /api/channel/tenants/{id}/billing ✅ 匹配
updateTenantStatus PUT /api/channel/tenants/{id}/status ✅ 匹配
rechargeTenant POST /api/channel/tenants/{id}/recharge ✅ 匹配
setTenantCreditLimit PUT /api/channel/tenants/{id}/credit ✅ 匹配
updateTenantPermissions PUT /api/channel/tenants/{id}/permissions ✅ 新增
deleteTenant DELETE /api/channel/tenants/{id} ✅ 匹配
applyForResources POST /api/channel/resources/apply ✅ 匹配
getChannelBillingStats GET /api/channel/billing/stats ✅ 匹配
getChannelProviders GET /api/channel/providers ✅ 匹配
applyForProvider POST /api/channel/providers/apply ✅ 匹配
getChannelProviderApplications GET /api/channel/providers/applications ✅ 匹配
getChannelAdmins GET /api/channel/admins ✅ 匹配
createChannelAdmin POST /api/channel/admins/create ✅ 匹配
disableTenant PUT /api/channel/tenants/{id}/disable ❌ 已移除
enableTenant PUT /api/channel/tenants/{id}/enable ❌ 已移除

超级管理员 (/api/admin)

前端接口 后端路径 状态
getAdminDashboardStats GET /api/admin/dashboard/stats ✅ 匹配
getAdmins GET /api/admin/admins ✅ 匹配
createAdmin POST /api/admin/admins/create ✅ 已修复
deleteAdmin DELETE /api/admin/admins/{id} ✅ 匹配
getAdminChannels GET /api/admin/channels ✅ 匹配
createAdminChannel POST /api/admin/channels/create ✅ 匹配
updateAdminChannel PUT /api/admin/channels/{id} ✅ 匹配
deleteAdminChannel DELETE /api/admin/channels/{id} ✅ 匹配
getChannelProviderAccess GET /api/admin/providers/access ✅ 匹配
updateChannelProviderAccess PUT /api/admin/providers/access/{id} ✅ 匹配
revokeChannelProviderAccess DELETE /api/admin/providers/access/{id} ✅ 匹配
getChannelResources GET /api/admin/channels/{id}/resources ✅ 新增
manageChannelResources PUT /api/admin/channels/{id}/resources ✅ 匹配
getAdminApplications GET /api/admin/channels/applications ✅ 匹配
reviewApplication PUT /api/admin/channels/applications/{id}/review ✅ 匹配
getAdminModelProviders GET /api/admin/resources/models ✅ 匹配
getAdminAgentResources GET /api/admin/resources/agents ✅ 匹配
deleteAgentResource DELETE /api/admin/resources/agents/{id} ✅ 匹配
updateAgentResourceConfig PUT /api/admin/resources/agents/{id}/config ✅ 已修复
getAdminAgentMonitoring GET /api/admin/monitoring/agents ✅ 匹配
getAdminBillingOverview GET /api/admin/billing/overview ✅ 匹配
getAdminProviderStats GET /api/admin/providers/stats ✅ 匹配
getAdminChannelsBackendStats GET /api/admin/channels/backend/stats ✅ 匹配
getAdminTenants GET /api/admin/tenants ⚠️ 待确认
changeTenantPassword PUT /api/channel/tenants/{id}/password ⚠️ 待确认

四、总结

修改统计

类型 数量
移除的接口 2
修复参数的接口 2
新增的接口 4
待确认的接口 2

下一步行动

  1. 与后端团队确认:

    • GET /api/admin/tenants 接口是否存在
    • PUT /api/channel/tenants/{tenant_id}/password 接口是否存在
  2. 前端调用方更新:

    • 使用 disableTenant/enableTenant 的地方需要改为使用 updateTenantStatus
    • 调用 createAdmin 的地方需要传入 channelId 参数
    • 调用 updateAgentResourceConfig 的地方需要更新参数
  3. 测试验证:

    • 测试所有修改过的接口
    • 测试新增的接口
    • 确保租户状态管理功能正常工作