Files
taiji-AI-PAD/Docs/项目文档/超级管理员控制台-后端接口需求清单(已人工审核).md
T

1530 lines
40 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 超级管理员控制台 - 后端接口清单
> **版本**: 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详细指标接口
- 补充计费模块的调用记录明细接口
- 完善接口汇总表