# 超级管理员控制台 - 后端接口清单 > **版本**: v1.2.0 > **更新时间**: 2026-01-06 > **说明**: 本文档基于前端业务逻辑分析,列出所有后端接口需求,包括已对接接口和未对接接口,按钮操作接口和数据展示接口 --- ## 目录 1. [概览模块 (Overview)](#概览模块-overview) 2. [渠道管理模块 (Channels)](#渠道管理模块-channels) 3. [资源管理模块 (Resources)](#资源管理模块-resources) 4. [监控模块 (Monitoring)](#监控模块-monitoring) 5. [计费模块 (Billing)](#计费模块-billing) 6. [设置模块 (Settings)](#设置模块-settings) 7. [附录:接口汇总表](#附录接口汇总表) --- ## 概览模块 (Overview) ### 数据展示接口 #### D1. 仪表板统计接口 ✅ 已对接 **展示位置**: 概览页面 → 顶部统计卡片区域 **展示内容**: - 总渠道数(如:5) - 总租户数(如:7) - 总收入(如:$0) **功能描述**: 获取平台整体统计数据,用于概览页面顶部的统计卡片展示 **接口**: ``` GET /api/admin/dashboard/stats ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.totalChannels | int | 总渠道数 | | data.totalTenants | int | 总租户数 | | data.totalRevenue | float | 总收入 | | data.totalAgents | int | 总Agent数(用于活跃指标) | **前端调用**: `TaijiAPIClient.getAdminDashboardStats()` --- #### D2. 系统监控指标接口 ✅ 已对接 **展示位置**: 概览页面 → 系统指标卡片 **展示内容**: - CPU使用率(如:5.9%) - 内存使用率(如:33.6%) - 存储使用率(如:64.8%) - 活跃Agent(如:0%) **功能描述**: 获取平台整体的系统监控指标 **接口**: ``` GET /api/v1/monitoring/metrics ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.cpu_usage | float | CPU使用率百分比 | | data.memory_usage | float | 内存使用率百分比 | | data.disk_usage | float | 存储使用率百分比 | | data.system.cpu_usage_percent | float | 备选:CPU使用率 | | data.system.memory_usage_percent | float | 备选:内存使用率 | | data.system.disk_usage_percent | float | 备选:存储使用率 | **前端调用**: `TaijiAPIClient.getMonitoringMetrics()` --- #### D3. 最近登录租户列表接口 ✅ 已对接 **展示位置**: 概览页面 → 最近登录的租户列表 **展示内容**: 显示最近登录的租户列表,包含租户名称、邮箱、渠道、状态等 **功能描述**: 获取最近登录的租户列表,用于概览页面展示 **接口**: ``` GET /api/admin/dashboard/recent-logins?limit=10 ``` **查询参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | limit | int | 否 | 返回数量,默认10,最多50 | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.recentTenants | array | 最近登录的租户列表 | | data.recentTenants[].id | string | 租户ID | | data.recentTenants[].name | string | 租户名称 | | data.recentTenants[].email | string | 邮箱 | | data.recentTenants[].channelName | string | 所属渠道 | | data.recentTenants[].lastLoginAt | string | 最后登录时间 | | data.recentTenants[].status | string | 状态 | **前端调用**: `TaijiAPIClient.getRecentLogins(10)` --- #### D4. 平台资源分配统计接口 ✅ 已对接(复用) **展示位置**: 概览页面 → 平台资源分配统计卡片 **展示内容**: - 已分配CPU(如:0.0 核) - 已分配内存(如:0.0 GB) - 共 X 个 Agent - 平均 X GB/Agent **功能描述**: 获取平台所有Agent的资源分配汇总统计 **复用接口**: ``` GET /api/admin/platform-agents/status ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.summary.total | int | Agent总数 | | data.summary.totalCpuAllocated | float | 已分配CPU总核数 | | data.summary.totalMemoryAllocated | float | 已分配内存总量(GB) | | data.summary.avgMemoryPerAgent | float | 平均每Agent内存 | **前端调用**: `TaijiAPIClient.getPlatformAgentStatus()` --- ### 按钮操作接口 #### 1. 搜索租户按钮 ⚠️ 需新增 **按钮位置**: 概览页面 → 最近登录的租户列表 → 搜索框 **按钮作用**: 在最近登录的租户列表中搜索特定租户 **功能描述**: 用户输入关键词后,根据租户名称、邮箱等字段进行模糊搜索,筛选显示匹配的租户 **接口需求**: ``` GET /api/admin/dashboard/recent-logins/search ``` **请求参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | keyword | string | 是 | 搜索关键词(租户名称/邮箱) | | limit | int | 否 | 返回数量,默认10 | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.recentTenants | array | 匹配的租户列表 | --- ## 渠道管理模块 (Channels) ### 数据展示接口 #### D2. 渠道统计概览接口 **展示位置**: 渠道管理页面 → 渠道列表卡片 **展示内容**: 每个渠道卡片显示租户数、月收入、佣金比例等统计信息 **功能描述**: 获取渠道列表及其统计数据,用于渠道卡片展示 **接口需求**: ``` GET /api/admin/channels/stats ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.channels | array | 渠道列表(含统计数据) | --- ### 按钮操作接口 #### 2. 搜索渠道按钮 **按钮位置**: 渠道管理页面 → 搜索框 **按钮作用**: 在渠道列表中搜索特定渠道 **功能描述**: 用户输入关键词后,根据渠道名称、联系人、邮箱等字段进行模糊搜索 **接口需求**: ``` GET /api/admin/channels/search ``` **请求参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | keyword | string | 是 | 搜索关键词 | | status | string | 否 | 状态筛选(active/inactive) | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.channels | array | 匹配的渠道列表 | --- #### 3. 查看渠道详情按钮 **按钮位置**: 渠道管理页面 → 渠道卡片 → 更多操作菜单 → "查看详情" **按钮作用**: 查看渠道的完整详细信息 **功能描述**: 点击后弹出对话框,显示渠道的基本信息、资源配置、配额信息等详细数据 **接口需求**: ``` GET /api/admin/channels/{channel_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | string | 是 | 渠道ID | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.id | string | 渠道ID | | data.name | string | 渠道名称 | | data.email | string | 联系邮箱 | | data.status | string | 状态 | | data.createdAt | string | 创建时间 | | data.cpuCores | float | 分配的CPU核心数 | | data.memory | string | 分配的内存大小 | | data.tenantCount | int | 租户总数 | | data.creditLimit | float | 授信额度 | | data.usedCredit | float | 已用授信 | | data.remainingCredit | float | 剩余授信 | | data.commissionRate | float | 佣金比例 | --- #### 4. 删除渠道按钮 **按钮位置**: 渠道管理页面 → 渠道卡片 → 更多操作菜单 → "删除渠道" **按钮作用**: 删除指定渠道(软删除) **功能描述**: 点击后弹出确认对话框,确认后将渠道状态设为inactive,要求渠道下无活跃租户 **接口需求**: ``` DELETE /api/admin/channels/{channel_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | string | 是 | 渠道ID | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | message | string | 操作结果消息 | --- #### 5. 删除租户按钮 **按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "删除"按钮 **按钮作用**: 删除指定租户(软删除) **功能描述**: 点击后弹出确认对话框,确认后将租户状态设为inactive **接口需求**: ``` DELETE /api/channel/tenants/{tenant_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | tenant_id | string | 是 | 租户ID | **查询参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | string | 超级管理员必填 | 渠道ID | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | message | string | 操作结果消息 | --- #### 6. 禁用租户按钮 **按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "禁用"按钮 **按钮作用**: 暂停租户账号 **功能描述**: 将租户状态设为suspended,租户将无法登录和使用服务 **接口需求**: ``` PUT /api/channel/tenants/{tenant_id}/status ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | tenant_id | string | 是 | 租户ID | **请求体**: ```json { "status": "suspended" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.tenantId | string | 租户ID | | data.status | string | 新状态 | | message | string | 操作结果消息 | --- #### 7. 修改租户密码按钮 **按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "修改密码"按钮 **按钮作用**: 重置租户登录密码 **功能描述**: 点击后弹出对话框,输入新密码和确认密码,提交后更新租户密码 **接口需求**: ``` PUT /api/channel/tenants/{tenant_id}/password ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | tenant_id | string | 是 | 租户ID | **请求体**: ```json { "newPassword": "NewSecurePass123" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.tenantId | string | 租户ID | | message | string | 操作结果消息 | --- #### 8. 管理租户权限按钮 **按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "管理权限"按钮 **按钮作用**: 配置租户的功能访问权限 **功能描述**: 点击后弹出对话框,显示权限复选框列表,勾选后保存租户的权限配置 **接口需求**: ``` PUT /api/channel/tenants/{tenant_id}/permissions ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | tenant_id | string | 是 | 租户ID | **请求体**: ```json { "permissions": ["dashboard", "agents", "models", "billing", "resources", "data-tools", "api-gateway"] } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.tenantId | string | 租户ID | | data.permissions | array | 更新后的权限列表 | | message | string | 操作结果消息 | --- #### 9. 供应商申请审批-拒绝按钮 **按钮位置**: 渠道管理页面 → 渠道申请审批表格 → "审批"按钮 → 审批对话框 → "拒绝"按钮 **按钮作用**: 拒绝渠道的供应商申请 **功能描述**: 点击后将申请状态设为rejected,渠道将无法使用该供应商 **接口需求**: ``` PUT /api/admin/providers/applications/{application_id}/review ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | application_id | string | 是 | 申请ID | **请求体**: ```json { "approved": false, "reason": "申请被拒绝" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.applicationId | string | 申请ID | | data.status | string | 新状态(rejected) | | message | string | 操作结果消息 | --- #### 10. 供应商申请审批-批准按钮 **按钮位置**: 渠道管理页面 → 渠道申请审批表格 → "审批"按钮 → 审批对话框 → "批准"按钮 **按钮作用**: 批准渠道的供应商申请 **功能描述**: 点击后将申请状态设为approved,自动创建ChannelProviderAccess记录 **接口需求**: ``` PUT /api/admin/providers/applications/{application_id}/review ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | application_id | string | 是 | 申请ID | **请求体**: ```json { "approved": true, "reason": "申请已批准" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.applicationId | string | 申请ID | | data.status | string | 新状态(approved) | | message | string | 操作结果消息 | --- #### 11. 平台Agent申请审批-拒绝按钮 **按钮位置**: 渠道管理页面 → 平台Agent申请审批表格 → "审批"按钮 → 审批对话框 → "拒绝"按钮 **按钮作用**: 拒绝渠道的平台Agent申请 **功能描述**: 点击后将申请状态设为rejected,渠道将无法使用该平台Agent **接口需求**: ``` PUT /api/admin/applications/platform-agents/{application_id}/review ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | application_id | string | 是 | 申请ID | **请求体**: ```json { "action": "reject", "reviewReason": "申请被拒绝" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.applicationId | string | 申请ID | | data.status | string | 新状态(rejected) | | message | string | 操作结果消息 | --- #### 12. 平台Agent申请审批-批准按钮 **按钮位置**: 渠道管理页面 → 平台Agent申请审批表格 → "审批"按钮 → 审批对话框 → "批准"按钮 **按钮作用**: 批准渠道的平台Agent申请 **功能描述**: 点击后将申请状态设为approved,为渠道分配指定数量的Pod配额 **接口需求**: ``` PUT /api/admin/applications/platform-agents/{application_id}/review ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | application_id | string | 是 | 申请ID | **请求体**: ```json { "action": "approve", "podQuota": 5, "reviewReason": "申请已批准" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.applicationId | string | 申请ID | | data.status | string | 新状态(approved) | | message | string | 操作结果消息 | --- #### 27. 保存资源配置按钮 **按钮位置**: 渠道管理页面 → 渠道卡片 → "资源管理"菜单项 → 资源管理对话框 → "保存配置"按钮 **按钮作用**: 保存渠道的资源配置(模型、Agent、自定义Agent资源、授信额度) **功能描述**: 为渠道配置可用的模型供应商、Agent分配及数量、自定义Agent的CPU/内存资源、授信额度 **接口需求**: ``` PUT /api/admin/channels/{channel_id}/resources ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | string | 是 | 渠道ID | **请求体**: ```json { "models": ["model-id-1", "model-id-2"], "agents": [ {"agentId": "agent-id-1", "quantity": 10}, {"agentId": "agent-id-2", "quantity": 5} ], "customAgentResources": {"cpu": 2.0, "memory": 4.0}, "channelCredit": 100000.00 } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.channelId | string | 渠道ID | | message | string | 操作结果消息 | --- #### 28. 保存渠道编辑按钮 **按钮位置**: 渠道管理页面 → 渠道卡片 → "编辑"菜单项 → 编辑对话框 → "保存更改"按钮 **按钮作用**: 保存渠道基本信息的修改 **功能描述**: 修改渠道名称、联系人、邮箱、电话等基本信息 **接口需求**: ``` PUT /api/admin/channels/{channel_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | string | 是 | 渠道ID | **请求体**: ```json { "name": "更新后的渠道名", "email": "newemail@channel.com", "contactName": "张三", "phone": "+86-10-12345678" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.id | string | 渠道ID | | message | string | 操作结果消息 | --- #### 29. 保存佣金修改按钮 **按钮位置**: 渠道管理页面 → 渠道卡片 → "修改佣金"菜单项 → 佣金对话框 → "保存"按钮 **按钮作用**: 更新渠道的佣金比例 **功能描述**: 修改渠道的佣金分成比例 **接口需求**: ``` PUT /api/admin/channels/{channel_id}/commission ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | string | 是 | 渠道ID | **请求体**: ```json { "commissionRate": 0.18 } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.channelId | string | 渠道ID | | data.commissionRate | float | 新的佣金比例 | | message | string | 操作结果消息 | --- #### 30. 创建渠道按钮 **按钮位置**: 渠道管理页面 → "添加渠道"按钮 → 创建对话框 → "创建"按钮 **按钮作用**: 创建新的分销渠道 **功能描述**: 填写渠道名称、邮箱、密码、佣金比例,创建新渠道账户 **接口需求**: ``` POST /api/admin/channels/create ``` **请求体**: ```json { "name": "新渠道", "email": "channel@example.com", "password": "SecurePass123", "commissionRate": 0.15 } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.id | string | 渠道ID | | data.name | string | 渠道名称 | | message | string | 操作结果消息 | --- #### 31. 添加租户按钮 **按钮位置**: 渠道管理页面 → 查看租户对话框 → "添加租户"按钮 → 添加租户对话框 → "创建租户"按钮 **按钮作用**: 为渠道创建新租户或管理员 **功能描述**: 填写租户名称、邮箱、密码、系统权限,创建新租户或渠道管理员 **接口需求(创建租户)**: ``` POST /api/channel/tenants/create ``` **请求体**: ```json { "name": "租户名称", "email": "tenant@example.com", "password": "SecurePass123", "subscriptionTier": "free", "channelId": "channel-uuid" } ``` **接口需求(创建渠道管理员)**: ``` POST /api/admin/admins/create ``` **请求体**: ```json { "name": "管理员名称", "email": "admin@example.com", "password": "SecurePass123", "role": "billing_admin", "channelId": "channel-uuid" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.id | string | 用户ID | | message | string | 操作结果消息 | --- #### 32. 删除渠道管理员按钮 **按钮位置**: 渠道管理页面 → 编辑渠道对话框 → 管理员管理区域 → 管理员行 → 删除图标按钮 **按钮作用**: 从渠道移除管理员 **功能描述**: 点击后将管理员从该渠道移除 **接口需求**: ``` DELETE /api/admin/channels/{channel_id}/admins/{admin_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | string | 是 | 渠道ID | | admin_id | string | 是 | 管理员ID | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | message | string | 操作结果消息 | --- ## 资源管理模块 (Resources) ### 数据展示接口 #### D3. Agent模板列表接口 **展示位置**: 资源管理页面 → 平台Agent模板管理区域 **展示内容**: 显示所有可用的Agent模板卡片,包含名称、描述、CPU/内存配置等 **功能描述**: 获取平台所有Agent模板的列表和配置信息 **接口需求**: ``` GET /api/admin/platform-agents/templates ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.templates | array | 模板列表 | | data.templates[].id | string | 模板ID | | data.templates[].name | string | 模板名称 | | data.templates[].displayName | string | 显示名称 | | data.templates[].description | string | 模板描述 | | data.templates[].cpuRequest | string | CPU请求量 | | data.templates[].cpuLimit | string | CPU上限 | | data.templates[].memoryRequest | string | 内存请求量 | | data.templates[].memoryLimit | string | 内存上限 | | data.templates[].maxPods | int | 最大Pod数量 | | data.templates[].isEnabled | bool | 是否启用 | --- #### D4. 模型供应商列表接口 **展示位置**: 资源管理页面 → 货源供应商管理区域 **展示内容**: 显示所有模型供应商卡片,包含名称、状态、支持模型数、RPM/TPM等 **功能描述**: 获取平台所有模型供应商的列表和配置信息 **接口需求**: ``` GET /api/providers/models ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.providers | array | 供应商列表 | | data.providers[].id | string | 供应商ID | | data.providers[].name | string | 供应商名称 | | data.providers[].provider | string | 供应商类型 | | data.providers[].supportedModels | array | 支持的模型列表 | | data.providers[].rpm | int | 每分钟请求数限制 | | data.providers[].tpm | int | 每分钟令牌数限制 | | data.providers[].status | string | 状态 | --- ### 按钮操作接口 #### 13. Agent模板配置-保存按钮 **按钮位置**: 资源管理页面 → Agent模板卡片 → "配置"按钮 → 配置对话框 → "保存配置"按钮 **按钮作用**: 保存Agent模板的K8s资源配置 **功能描述**: 配置Agent模板的CPU请求/限制、内存请求/限制、最大实例数等参数 **接口需求**: ``` PUT /api/admin/platform-agents/templates/{name}/config ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | name | string | 是 | 模板名称(如 echo_agent) | **请求体**: ```json { "cpuRequest": "100m", "cpuLimit": "500m", "memoryRequest": "128Mi", "memoryLimit": "512Mi", "maxPods": 10, "isEnabled": true, "displayName": "Echo 测试服务", "description": "简单的 Echo 服务,用于测试和调试" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.templateName | string | 模板名称 | | message | string | 操作结果消息 | --- #### 14. Agent模板删除按钮 **按钮位置**: 资源管理页面 → Agent模板卡片 → "删除"按钮 **按钮作用**: 删除Agent模板配置 **功能描述**: 点击后弹出确认对话框,确认后删除该Agent模板的配置 **接口需求**: ``` DELETE /api/admin/platform-agents/templates/{name} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | name | string | 是 | 模板名称 | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | message | string | 操作结果消息 | --- #### 15. 添加模型供应商按钮 **按钮位置**: 资源管理页面 → "添加模型供应商"按钮 **按钮作用**: 创建新的模型供应商配置 **功能描述**: 点击后弹出对话框,填写供应商名称、API URL、API密钥、支持的模型列表、RPM/TPM限制等信息 **接口需求**: ``` POST /api/providers/models/create ``` **请求体**: ```json { "name": "OpenAI", "provider": "openai", "apiKey": "sk-...", "apiUrl": "https://api.openai.com/v1", "supportedModels": ["gpt-4", "gpt-3.5-turbo"], "rpm": 1000, "tpm": 100000 } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.id | string | 供应商ID | | message | string | 操作结果消息 | --- #### 16. 模型供应商配置按钮 **按钮位置**: 资源管理页面 → 模型供应商卡片 → "配置"按钮 **按钮作用**: 修改模型供应商配置 **功能描述**: 点击后弹出对话框,可修改供应商的API URL、API密钥、支持的模型列表、RPM/TPM限制等 **接口需求**: ``` PUT /api/providers/models/{provider_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | provider_id | string | 是 | 供应商ID | **请求体**: ```json { "name": "OpenAI", "apiUrl": "https://api.openai.com/v1", "apiKey": "sk-...", "supportedModels": ["gpt-4", "gpt-3.5-turbo", "gpt-4-turbo"], "rpm": 2000, "tpm": 200000 } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.id | string | 供应商ID | | message | string | 操作结果消息 | --- #### 17. 模型供应商测试延迟按钮 **按钮位置**: 资源管理页面 → 模型供应商卡片 → "测试延迟"按钮 **按钮作用**: 测试与模型供应商的连接状态和延迟 **功能描述**: 点击后向供应商API发送测试请求,返回连接状态和响应延迟 **接口需求**: ``` POST /api/providers/models/{provider_id}/test ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | provider_id | string | 是 | 供应商ID | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.status | string | 连接状态(connected/failed) | | data.latency | int | 响应延迟(毫秒) | | data.message | string | 测试结果消息 | --- #### 18. 模型供应商删除按钮 **按钮位置**: 资源管理页面 → 模型供应商卡片 → "删除"按钮 **按钮作用**: 删除模型供应商配置 **功能描述**: 点击后弹出确认对话框,确认后删除该供应商配置 **接口需求**: ``` DELETE /api/providers/models/{provider_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | provider_id | string | 是 | 供应商ID | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | message | string | 操作结果消息 | --- ## 监控模块 (Monitoring) ### 数据展示接口 #### D5. Agent健康监控汇总接口 **展示位置**: 监控页面 → Agent健康监控区域 → 汇总统计卡片 **展示内容**: 显示Agent总数、健康Agent数、警告/异常Agent数等汇总统计 **功能描述**: 获取所有Agent的健康状态汇总统计 **接口需求**: ``` GET /api/admin/platform-agents/status ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.summary.total | int | Agent总数 | | data.summary.byHealthStatus.healthy | int | 健康Agent数 | | data.summary.byHealthStatus.warning | int | 警告Agent数 | | data.summary.byHealthStatus.critical | int | 异常Agent数 | | data.agents | array | Agent详细列表 | --- #### D6. Agent详细指标接口 **展示位置**: 监控页面 → Agent健康监控区域 → Agent卡片 **展示内容**: 每个Agent卡片显示CPU使用率、内存使用率、CPU/内存上限、运行状态等 **功能描述**: 获取每个Agent的详细资源使用指标 **接口需求**: ``` GET /api/admin/platform-agents/status ``` **响应字段(agents数组中每个元素)**: | 字段 | 类型 | 说明 | |------|------|------| | id | string | Agent ID | | name | string | Agent名称 | | type | string | Agent类型(platform/custom) | | healthStatus | string | 健康状态(healthy/warning/critical) | | cpuUsage | string | CPU实际使用量 | | cpuLimit | string | CPU上限 | | cpuUtilization | float | CPU利用率百分比 | | memoryUsage | string | 内存实际使用量 | | memoryLimit | string | 内存上限 | | memoryUtilization | float | 内存利用率百分比 | | status | string | 运行状态 | | source | string | 数据来源(k8s/database) | --- #### D7. 系统监控指标接口 **展示位置**: 概览页面 → 系统指标卡片 **展示内容**: 显示CPU使用率、内存使用率、存储使用率、活跃Agent数等系统级指标 **功能描述**: 获取平台整体的系统监控指标 **接口需求**: ``` GET /api/v1/monitoring/metrics ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.cpu_usage | float | CPU使用率百分比 | | data.memory_usage | float | 内存使用率百分比 | | data.disk_usage | float | 存储使用率百分比 | | data.active_agents | int | 活跃Agent数量 | --- ## 计费模块 (Billing) ### 数据展示接口 #### D8. 计费概览统计接口 **展示位置**: 计费管理页面 → 统计卡片区域 **展示内容**: 显示渠道总数、总计费额、总EU消耗等汇总统计 **功能描述**: 获取计费数据的汇总统计信息 **接口需求**: ``` GET /api/admin/billing/overview ``` **查询参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | startTime | string | 是 | 开始时间(ISO 8601格式) | | endTime | string | 是 | 结束时间(ISO 8601格式) | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.summary.totalChannels | int | 渠道总数 | | data.summary.totalBilling | float | 总计费额 | | data.summary.totalEU | int | 总EU消耗 | --- #### D9. 渠道维度计费详情接口 **展示位置**: 计费管理页面 → 渠道维度 → 渠道计费详情表格 **展示内容**: 显示每个渠道的调用次数、总EU、渠道总价等 **功能描述**: 获取按渠道维度分组的计费详情 **接口需求**: ``` GET /api/admin/billing/overview ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.channelStats | array | 渠道统计列表 | | data.channelStats[].channelId | string | 渠道ID | | data.channelStats[].channelName | string | 渠道名称 | | data.channelStats[].calls | int | 调用次数 | | data.channelStats[].totalEU | int | 总EU | | data.channelStats[].totalCost | float | 渠道总价 | --- #### D10. 租户维度计费详情接口 **展示位置**: 计费管理页面 → 租户维度 → 租户计费详情表格 **展示内容**: 显示每个租户的所属渠道、调用次数、总EU、用户总价等 **功能描述**: 获取按租户维度分组的计费详情 **接口需求**: ``` GET /api/admin/billing/overview ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.tenantStats | array | 租户统计列表 | | data.tenantStats[].tenantId | string | 租户ID | | data.tenantStats[].tenantName | string | 租户名称 | | data.tenantStats[].channelName | string | 渠道名称 | | data.tenantStats[].calls | int | 调用次数 | | data.tenantStats[].totalEU | int | 总EU | | data.tenantStats[].totalCost | float | 用户总价 | --- #### D11. 调用记录明细接口 **展示位置**: 计费管理页面 → 调用记录 → 调用记录明细表格 **展示内容**: 显示每次调用的ID、租户、渠道、调用时间、时长、EU、单次调用总价等 **功能描述**: 获取详细的调用记录列表 **接口需求**: ``` GET /api/admin/billing/call-records ``` **查询参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | startTime | string | 是 | 开始时间 | | endTime | string | 是 | 结束时间 | | page | int | 否 | 页码,默认1 | | pageSize | int | 否 | 每页数量,默认20 | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.records | array | 调用记录列表 | | data.records[].id | string | 调用ID | | data.records[].tenantName | string | 租户名称 | | data.records[].channelName | string | 渠道名称 | | data.records[].callTime | string | 调用时间 | | data.records[].duration | int | 时长(秒) | | data.records[].eu | float | EU消耗 | | data.records[].cost | float | 单次调用总价 | | data.pagination.total | int | 总记录数 | | data.pagination.page | int | 当前页 | --- ### 按钮操作接口 #### 19. 时间查询按钮 **按钮位置**: 计费管理页面 → "时间查询"按钮 **按钮作用**: 按时间范围筛选计费数据 **功能描述**: 点击后弹出对话框,选择开始时间和结束时间,查询该时间段内的计费数据 **接口需求**: ``` GET /api/admin/billing/overview ``` **查询参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | startTime | string | 是 | 开始时间(ISO 8601格式) | | endTime | string | 是 | 结束时间(ISO 8601格式) | --- #### 20. 筛选按钮 **按钮位置**: 计费管理页面 → "筛选"按钮 **按钮作用**: 按条件筛选计费数据 **功能描述**: 点击后弹出对话框,可按客户名称、最小/最大调用次数等条件筛选 **接口需求**: ``` GET /api/admin/billing/overview ``` **查询参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | startTime | string | 是 | 开始时间 | | endTime | string | 是 | 结束时间 | | channelName | string | 否 | 渠道名称筛选 | | tenantName | string | 否 | 租户名称筛选 | | minCalls | int | 否 | 最小调用次数 | | maxCalls | int | 否 | 最大调用次数 | --- #### 21. 导出按钮 **按钮位置**: 计费管理页面 → "导出"按钮 **按钮作用**: 导出计费数据为文件 **功能描述**: 点击后将当前筛选条件下的计费数据导出为Excel/CSV/PDF格式文件 **接口需求**: ``` GET /api/admin/billing/export ``` **查询参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | startTime | string | 是 | 开始时间 | | endTime | string | 是 | 结束时间 | | format | string | 是 | 导出格式(excel/csv/pdf) | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.fileUrl | string | 导出文件下载URL | | message | string | 操作结果消息 | --- ## 设置模块 (Settings) ### 数据展示接口 #### D12. 管理员列表接口 **展示位置**: 设置页面 → 当前管理员列表 **展示内容**: 显示所有系统管理员的姓名、邮箱、角色、状态等 **功能描述**: 获取系统管理员列表 **接口需求**: ``` GET /api/admin/admins ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.admins | array | 管理员列表 | | data.admins[].id | string | 管理员ID | | data.admins[].name | string | 管理员姓名 | | data.admins[].email | string | 邮箱 | | data.admins[].role | string | 角色 | | data.admins[].status | string | 状态 | --- ### 按钮操作接口 #### 22. 添加管理员按钮 **按钮位置**: 设置页面 → 当前管理员列表 → "添加管理员"按钮 **按钮作用**: 创建新的系统管理员账户 **功能描述**: 点击后弹出对话框,填写管理员姓名、邮箱、密码、角色,创建新管理员 **接口需求**: ``` POST /api/admin/admins/create ``` **请求体**: ```json { "name": "管理员姓名", "email": "admin@example.com", "password": "SecurePass123", "role": "billing_admin" } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.id | string | 管理员ID | | message | string | 操作结果消息 | --- #### 23. 删除管理员按钮 **按钮位置**: 设置页面 → 当前管理员列表 → 管理员行 → 删除图标按钮 **按钮作用**: 删除系统管理员账户(软删除) **功能描述**: 点击后弹出确认对话框,确认后将管理员状态设为inactive **接口需求**: ``` DELETE /api/admin/admins/{admin_id} ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | admin_id | string | 是 | 管理员ID | **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | message | string | 操作结果消息 | --- #### 24-26. 角色权限配置按钮 **按钮位置**: 设置页面 → 角色权限配置区域 → "保存权限配置"按钮 **按钮作用**: 保存角色的标签页访问权限配置 **功能描述**: 选择角色后,勾选该角色可访问的标签页,点击保存更新权限配置 **接口需求**: ``` PUT /api/admin/roles/{role_id}/permissions ``` **路径参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | role_id | string | 是 | 角色ID(billing-admin/operations-admin/super-admin) | **请求体**: ```json { "permissions": ["overview", "channels", "resources", "monitoring", "billing", "settings"] } ``` **响应字段**: | 字段 | 类型 | 说明 | |------|------|------| | success | bool | 是否成功 | | data.roleId | string | 角色ID | | data.permissions | array | 更新后的权限列表 | | message | string | 操作结果消息 | --- ## 附录:接口汇总表 ### 数据展示接口汇总 | 序号 | 接口 | 方法 | 展示内容 | 模块 | |------|------|------|----------|------| | D1 | /api/admin/platform/resource-allocation | GET | 平台资源分配统计 | 概览 | | D2 | /api/admin/channels/stats | GET | 渠道统计概览 | 渠道管理 | | D3 | /api/admin/platform-agents/templates | GET | Agent模板列表 | 资源管理 | | D4 | /api/providers/models | GET | 模型供应商列表 | 资源管理 | | D5 | /api/admin/platform-agents/status | GET | Agent健康监控汇总 | 监控 | | D6 | /api/admin/platform-agents/status | GET | Agent详细指标 | 监控 | | D7 | /api/v1/monitoring/metrics | GET | 系统监控指标 | 概览 | | D8 | /api/admin/billing/overview | GET | 计费概览统计 | 计费 | | D9 | /api/admin/billing/overview | GET | 渠道维度计费详情 | 计费 | | D10 | /api/admin/billing/overview | GET | 租户维度计费详情 | 计费 | | D11 | /api/admin/billing/call-records | GET | 调用记录明细 | 计费 | | D12 | /api/admin/admins | GET | 管理员列表 | 设置 | ### 按钮操作接口汇总 | 序号 | 接口 | 方法 | 按钮/功能 | 模块 | |------|------|------|----------|------| | 1 | /api/admin/dashboard/recent-logins/search | GET | 搜索租户 | 概览 | | 2 | /api/admin/channels/search | GET | 搜索渠道 | 渠道管理 | | 3 | /api/admin/channels/{channel_id} | GET | 查看渠道详情 | 渠道管理 | | 4 | /api/admin/channels/{channel_id} | DELETE | 删除渠道 | 渠道管理 | | 5 | /api/channel/tenants/{tenant_id} | DELETE | 删除租户 | 渠道管理 | | 6 | /api/channel/tenants/{tenant_id}/status | PUT | 禁用租户 | 渠道管理 | | 7 | /api/channel/tenants/{tenant_id}/password | PUT | 修改租户密码 | 渠道管理 | | 8 | /api/channel/tenants/{tenant_id}/permissions | PUT | 管理租户权限 | 渠道管理 | | 9 | /api/admin/providers/applications/{id}/review | PUT | 供应商申请审批-拒绝 | 渠道管理 | | 10 | /api/admin/providers/applications/{id}/review | PUT | 供应商申请审批-批准 | 渠道管理 | | 11 | /api/admin/applications/platform-agents/{id}/review | PUT | 平台Agent申请审批-拒绝 | 渠道管理 | | 12 | /api/admin/applications/platform-agents/{id}/review | PUT | 平台Agent申请审批-批准 | 渠道管理 | | 13 | /api/admin/platform-agents/templates/{name}/config | PUT | Agent模板配置-保存 | 资源管理 | | 14 | /api/admin/platform-agents/templates/{name} | DELETE | Agent模板删除 | 资源管理 | | 15 | /api/providers/models/create | POST | 添加模型供应商 | 资源管理 | | 16 | /api/providers/models/{provider_id} | PUT | 模型供应商配置 | 资源管理 | | 17 | /api/providers/models/{provider_id}/test | POST | 模型供应商测试延迟 | 资源管理 | | 18 | /api/providers/models/{provider_id} | DELETE | 模型供应商删除 | 资源管理 | | 19 | /api/admin/billing/overview | GET | 时间查询 | 计费 | | 20 | /api/admin/billing/overview | GET | 筛选 | 计费 | | 21 | /api/admin/billing/export | GET | 导出 | 计费 | | 22 | /api/admin/admins/create | POST | 添加管理员 | 设置 | | 23 | /api/admin/admins/{admin_id} | DELETE | 删除管理员 | 设置 | | 24-26 | /api/admin/roles/{role_id}/permissions | PUT | 保存权限配置 | 设置 | | 27 | /api/admin/channels/{channel_id}/resources | PUT | 保存资源配置 | 渠道管理 | | 28 | /api/admin/channels/{channel_id} | PUT | 保存渠道编辑 | 渠道管理 | | 29 | /api/admin/channels/{channel_id}/commission | PUT | 保存佣金修改 | 渠道管理 | | 30 | /api/admin/channels/create | POST | 创建渠道 | 渠道管理 | | 31 | /api/channel/tenants/create | POST | 添加租户 | 渠道管理 | | 32 | /api/admin/channels/{channel_id}/admins/{admin_id} | DELETE | 删除渠道管理员 | 渠道管理 | --- ## 更新日志 ### v1.1.0 (2026-01-06) - 新增数据展示接口(D1-D12) - 补充监控模块的Agent详细指标接口 - 补充计费模块的调用记录明细接口 - 完善接口汇总表