docs: API 文档按端+模块二级目录重组
- 前台用户端 API 迁移到 frontend/ 目录(auth/contact/im/meeting/notify) - 后台管理端 admin.md 拆分为 admin/ 目录下 4 个文档(auth/user/meeting/system) - WebSocket 协议保留在根目录(跨端通用) - 更新 README 导航为两级结构,补充目录结构说明 - 更新所有文档间的交叉引用路径 Made-with: Cursor
This commit is contained in:
@@ -138,7 +138,7 @@ npm run dev
|
|||||||
| 整体设计方案 | [docs/plans/2026-02-27-echochat-system-design.md](docs/plans/2026-02-27-echochat-system-design.md) | 系统完整设计方案 |
|
| 整体设计方案 | [docs/plans/2026-02-27-echochat-system-design.md](docs/plans/2026-02-27-echochat-system-design.md) | 系统完整设计方案 |
|
||||||
| 第一阶段实施计划 | [docs/plans/2026-02-27-phase1-foundation-and-auth.md](docs/plans/2026-02-27-phase1-foundation-and-auth.md) | 基础设施+用户体系实施步骤 |
|
| 第一阶段实施计划 | [docs/plans/2026-02-27-phase1-foundation-and-auth.md](docs/plans/2026-02-27-phase1-foundation-and-auth.md) | 基础设施+用户体系实施步骤 |
|
||||||
| 系统架构文档 | [docs/architecture/system-architecture.md](docs/architecture/system-architecture.md) | 架构分层与技术选型 |
|
| 系统架构文档 | [docs/architecture/system-architecture.md](docs/architecture/system-architecture.md) | 架构分层与技术选型 |
|
||||||
| API 接口文档 | [docs/api/](docs/api/) | 按模块拆分的 REST API + WebSocket 事件定义 |
|
| API 接口文档 | [docs/api/](docs/api/) | 按端+模块拆分的 REST API + WebSocket 事件定义 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# EchoChat API 接口文档
|
# EchoChat API 接口文档
|
||||||
|
|
||||||
> 本目录包含 EchoChat 系统所有接口定义,按功能模块拆分为独立文档,便于维护和查阅。
|
> 本目录包含 EchoChat 系统所有接口定义,按**端 + 功能模块**两级目录组织,便于维护和查阅。
|
||||||
> 架构设计见 `docs/architecture/system-architecture.md`
|
> 架构设计见 `docs/architecture/system-architecture.md`
|
||||||
> 完整设计方案见 `docs/plans/2026-02-27-echochat-system-design.md`
|
> 完整设计方案见 `docs/plans/2026-02-27-echochat-system-design.md`
|
||||||
|
|
||||||
@@ -8,15 +8,30 @@
|
|||||||
|
|
||||||
## 文档导航
|
## 文档导航
|
||||||
|
|
||||||
|
### 前台用户端 (`frontend/`)
|
||||||
|
|
||||||
| 文档 | 模块 | 说明 |
|
| 文档 | 模块 | 说明 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| [auth.md](auth.md) | 认证模块 | 用户注册、登录、Token 管理、个人信息 |
|
| [frontend/auth.md](frontend/auth.md) | 用户认证 | 注册、登录、Token 刷新、个人信息管理 |
|
||||||
| [contact.md](contact.md) | 联系人模块 | 好友管理、好友分组 |
|
| [frontend/contact.md](frontend/contact.md) | 联系人 | 好友申请/管理、好友分组 |
|
||||||
| [im.md](im.md) | 即时通讯模块 | 会话管理、消息历史、群聊管理 |
|
| [frontend/im.md](frontend/im.md) | 即时通讯 | 会话列表、消息历史、群聊创建与管理 |
|
||||||
| [meeting.md](meeting.md) | 会议模块 | 即时会议、预约会议、加入/离开会议 |
|
| [frontend/meeting.md](frontend/meeting.md) | 会议 | 即时会议、预约会议、加入/离开、会议列表 |
|
||||||
| [notify.md](notify.md) | 通知模块 | 通知列表、已读管理 |
|
| [frontend/notify.md](frontend/notify.md) | 通知 | 通知列表、标记已读 |
|
||||||
| [admin.md](admin.md) | 后台管理模块 | 用户管理、会议监控、系统配置、操作日志 |
|
|
||||||
| [websocket.md](websocket.md) | WebSocket 协议 | 实时消息、会议信令、在线状态事件 |
|
### 后台管理端 (`admin/`)
|
||||||
|
|
||||||
|
| 文档 | 模块 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| [admin/auth.md](admin/auth.md) | 管理员认证 | 管理员登录(验证 admin 角色) |
|
||||||
|
| [admin/user.md](admin/user.md) | 用户管理 | 用户列表/详情、状态管理、角色分配、创建用户 |
|
||||||
|
| [admin/meeting.md](admin/meeting.md) | 会议管理 | 会议列表/详情、强制结束、会议统计 |
|
||||||
|
| [admin/system.md](admin/system.md) | 系统管理 | 仪表盘数据、操作日志、系统配置 |
|
||||||
|
|
||||||
|
### 跨端通用
|
||||||
|
|
||||||
|
| 文档 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| [websocket.md](websocket.md) | WebSocket 实时事件协议(IM 消息、会议信令、在线状态) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -147,7 +162,27 @@ yyyy-MM-dd HH:mm:ss
|
|||||||
|
|
||||||
## 文档维护规则
|
## 文档维护规则
|
||||||
|
|
||||||
1. **新增接口时**:在对应模块文档中追加,保持格式一致
|
1. **新增接口时**:在对应端+模块的文档中追加,保持格式一致
|
||||||
2. **接口变更时**:同步更新文档,必要时在接口描述中标注版本信息
|
2. **接口变更时**:同步更新文档,必要时在接口描述中标注版本信息
|
||||||
3. **新增模块时**:创建新的模块文档,在本 README 导航表中添加链接
|
3. **新增模块时**:在对应端目录下创建新文档,在本 README 导航表中添加链接
|
||||||
4. **错误码新增时**:在本文档的错误码定义中追加,保持各模块错误码区间不重叠
|
4. **新增端时**:创建新的端目录(如 `open/` 开放 API),在导航中添加新分区
|
||||||
|
5. **错误码新增时**:在本文档的错误码定义中追加,保持各模块错误码区间不重叠
|
||||||
|
|
||||||
|
### 目录结构
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/api/
|
||||||
|
├── README.md # 通用规范(本文件)
|
||||||
|
├── frontend/ # 前台用户端 API
|
||||||
|
│ ├── auth.md # 用户认证
|
||||||
|
│ ├── contact.md # 联系人管理
|
||||||
|
│ ├── im.md # 即时通讯
|
||||||
|
│ ├── meeting.md # 会议
|
||||||
|
│ └── notify.md # 通知
|
||||||
|
├── admin/ # 后台管理端 API
|
||||||
|
│ ├── auth.md # 管理员认证
|
||||||
|
│ ├── user.md # 用户管理
|
||||||
|
│ ├── meeting.md # 会议管理
|
||||||
|
│ └── system.md # 系统管理
|
||||||
|
└── websocket.md # WebSocket 事件协议
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,280 +0,0 @@
|
|||||||
# 后台管理模块 API (Admin)
|
|
||||||
|
|
||||||
> 通用规范(认证方式、响应格式、错误码)见 [README.md](README.md)
|
|
||||||
> 以下所有接口(除管理员登录外)均需要 **JWT 认证 + admin/super_admin 角色**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 接口列表
|
|
||||||
|
|
||||||
### 认证
|
|
||||||
|
|
||||||
| 方法 | 路径 | 权限 | 说明 |
|
|
||||||
|------|------|------|------|
|
|
||||||
| POST | /api/v1/admin/auth/login | 公开 | 管理员登录 |
|
|
||||||
|
|
||||||
### 用户管理
|
|
||||||
|
|
||||||
| 方法 | 路径 | 权限 | 说明 |
|
|
||||||
|------|------|------|------|
|
|
||||||
| GET | /api/v1/admin/users | admin | 获取用户列表 |
|
|
||||||
| GET | /api/v1/admin/users/:id | admin | 获取用户详情 |
|
|
||||||
| PUT | /api/v1/admin/users/:id/status | admin | 更新用户状态 |
|
|
||||||
| PUT | /api/v1/admin/users/:id/role | super_admin | 分配用户角色 |
|
|
||||||
| POST | /api/v1/admin/users | admin | 管理员创建用户 |
|
|
||||||
| GET | /api/v1/admin/users/:id/meetings | admin | 获取用户会议记录 |
|
|
||||||
|
|
||||||
### 会议管理
|
|
||||||
|
|
||||||
| 方法 | 路径 | 权限 | 说明 |
|
|
||||||
|------|------|------|------|
|
|
||||||
| GET | /api/v1/admin/meetings | admin | 获取会议列表 |
|
|
||||||
| GET | /api/v1/admin/meetings/:id | admin | 获取会议详情 |
|
|
||||||
| PUT | /api/v1/admin/meetings/:id/close | admin | 强制结束会议 |
|
|
||||||
| GET | /api/v1/admin/meetings/stats | admin | 获取会议统计 |
|
|
||||||
|
|
||||||
### 系统管理
|
|
||||||
|
|
||||||
| 方法 | 路径 | 权限 | 说明 |
|
|
||||||
|------|------|------|------|
|
|
||||||
| GET | /api/v1/admin/dashboard | admin | 获取仪表盘数据 |
|
|
||||||
| GET | /api/v1/admin/logs | admin | 获取操作日志 |
|
|
||||||
| GET | /api/v1/admin/system/config | super_admin | 获取系统配置 |
|
|
||||||
| PUT | /api/v1/admin/system/config | super_admin | 更新系统配置 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 认证
|
|
||||||
|
|
||||||
### 1. 管理员登录
|
|
||||||
|
|
||||||
`POST /api/v1/admin/auth/login`
|
|
||||||
|
|
||||||
**权限:** 公开
|
|
||||||
|
|
||||||
**请求参数:** 与用户登录相同
|
|
||||||
|
|
||||||
**说明:** 登录后会额外验证用户是否拥有 admin 或 super_admin 角色,如果没有对应角色则返回 1003(权限不足)。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 用户管理
|
|
||||||
|
|
||||||
### 2. 获取用户列表
|
|
||||||
|
|
||||||
`GET /api/v1/admin/users`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**查询参数:**
|
|
||||||
|
|
||||||
| 参数 | 类型 | 默认值 | 说明 |
|
|
||||||
|------|------|--------|------|
|
|
||||||
| keyword | string | 无 | 搜索关键词(匹配用户名/邮箱/昵称) |
|
|
||||||
| status | int | 无 | 按状态筛选:1=正常,2=禁用,3=注销 |
|
|
||||||
| role | string | 无 | 按角色筛选:user / admin / super_admin |
|
|
||||||
| page | int | 1 | 页码 |
|
|
||||||
| page_size | int | 20 | 每页数量 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 3. 获取用户详情
|
|
||||||
|
|
||||||
`GET /api/v1/admin/users/:id`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**成功响应:**
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"code": 0,
|
|
||||||
"message": "ok",
|
|
||||||
"data": {
|
|
||||||
"id": 1,
|
|
||||||
"username": "zhangsan",
|
|
||||||
"email": "zhangsan@example.com",
|
|
||||||
"nickname": "张三",
|
|
||||||
"avatar": "https://...",
|
|
||||||
"gender": 1,
|
|
||||||
"phone": "13800138000",
|
|
||||||
"status": 1,
|
|
||||||
"roles": ["user"],
|
|
||||||
"last_login_at": "2026-02-27 10:00:00",
|
|
||||||
"last_login_ip": "192.168.1.100",
|
|
||||||
"created_at": "2026-02-20 08:00:00"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 4. 更新用户状态
|
|
||||||
|
|
||||||
`PUT /api/v1/admin/users/:id/status`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**请求参数:**
|
|
||||||
|
|
||||||
| 字段 | 类型 | 必填 | 说明 |
|
|
||||||
|------|------|------|------|
|
|
||||||
| status | int | 是 | 目标状态:1=正常(启用),2=禁用 |
|
|
||||||
|
|
||||||
**说明:** 禁用用户后,该用户的所有活跃 Token 将被清除,正在进行的 WebSocket 连接将被断开。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 5. 分配用户角色
|
|
||||||
|
|
||||||
`PUT /api/v1/admin/users/:id/role`
|
|
||||||
|
|
||||||
**权限:** super_admin
|
|
||||||
|
|
||||||
**请求参数:**
|
|
||||||
|
|
||||||
| 字段 | 类型 | 必填 | 说明 |
|
|
||||||
|------|------|------|------|
|
|
||||||
| role_code | string | 是 | 角色代码:user / admin / super_admin |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 6. 管理员创建用户
|
|
||||||
|
|
||||||
`POST /api/v1/admin/users`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**请求参数:** 同用户注册接口,额外支持:
|
|
||||||
|
|
||||||
| 字段 | 类型 | 必填 | 说明 |
|
|
||||||
|------|------|------|------|
|
|
||||||
| role_code | string | 否 | 指定角色,默认为 user |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 7. 获取用户会议记录
|
|
||||||
|
|
||||||
`GET /api/v1/admin/users/:id/meetings`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**查询参数:**
|
|
||||||
|
|
||||||
| 参数 | 类型 | 默认值 | 说明 |
|
|
||||||
|------|------|--------|------|
|
|
||||||
| status | string | 无 | ongoing=进行中,upcoming=即将开始,ended=已结束 |
|
|
||||||
| page | int | 1 | 页码 |
|
|
||||||
| page_size | int | 20 | 每页数量 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 会议管理
|
|
||||||
|
|
||||||
### 8. 获取会议列表
|
|
||||||
|
|
||||||
`GET /api/v1/admin/meetings`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**查询参数:** 支持按 status、type、keyword(会议标题)筛选,支持分页
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 9. 获取会议详情
|
|
||||||
|
|
||||||
`GET /api/v1/admin/meetings/:id`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 10. 强制结束会议
|
|
||||||
|
|
||||||
`PUT /api/v1/admin/meetings/:id/close`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**说明:** 强制结束后,所有参会者将收到会议结束通知,所有媒体资源将被回收。操作将记录到管理日志。
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 11. 获取会议统计
|
|
||||||
|
|
||||||
`GET /api/v1/admin/meetings/stats`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**成功响应:**
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"code": 0,
|
|
||||||
"message": "ok",
|
|
||||||
"data": {
|
|
||||||
"total_meetings": 1500,
|
|
||||||
"ongoing_meetings": 5,
|
|
||||||
"today_meetings": 23,
|
|
||||||
"total_participants": 8500,
|
|
||||||
"avg_duration": 1800
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 系统管理
|
|
||||||
|
|
||||||
### 12. 获取仪表盘数据
|
|
||||||
|
|
||||||
`GET /api/v1/admin/dashboard`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**成功响应:**
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"code": 0,
|
|
||||||
"message": "ok",
|
|
||||||
"data": {
|
|
||||||
"total_users": 1200,
|
|
||||||
"online_users": 85,
|
|
||||||
"today_new_users": 12,
|
|
||||||
"ongoing_meetings": 5,
|
|
||||||
"today_meetings": 23,
|
|
||||||
"today_messages": 5600
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 13. 获取操作日志
|
|
||||||
|
|
||||||
`GET /api/v1/admin/logs`
|
|
||||||
|
|
||||||
**权限:** admin
|
|
||||||
|
|
||||||
**查询参数:**
|
|
||||||
|
|
||||||
| 参数 | 类型 | 默认值 | 说明 |
|
|
||||||
|------|------|--------|------|
|
|
||||||
| module | string | 无 | 按模块筛选 |
|
|
||||||
| action | string | 无 | 按操作类型筛选 |
|
|
||||||
| admin_id | int | 无 | 按操作管理员筛选 |
|
|
||||||
| page | int | 1 | 页码 |
|
|
||||||
| page_size | int | 20 | 每页数量 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 14. 获取系统配置
|
|
||||||
|
|
||||||
`GET /api/v1/admin/system/config`
|
|
||||||
|
|
||||||
**权限:** super_admin
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 15. 更新系统配置
|
|
||||||
|
|
||||||
`PUT /api/v1/admin/system/config`
|
|
||||||
|
|
||||||
**权限:** super_admin
|
|
||||||
32
docs/api/admin/auth.md
Normal file
32
docs/api/admin/auth.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# 管理端 — 认证 API
|
||||||
|
|
||||||
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 接口列表
|
||||||
|
|
||||||
|
| 方法 | 路径 | 权限 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| POST | /api/v1/admin/auth/login | 公开 | 管理员登录 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 管理员登录
|
||||||
|
|
||||||
|
`POST /api/v1/admin/auth/login`
|
||||||
|
|
||||||
|
**权限:** 公开
|
||||||
|
|
||||||
|
**请求参数:** 与前台用户登录接口格式一致
|
||||||
|
|
||||||
|
| 字段 | 类型 | 必填 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| account | string | 是 | 用户名或邮箱 |
|
||||||
|
| password | string | 是 | 登录密码 |
|
||||||
|
|
||||||
|
**说明:** 登录后会额外验证用户是否拥有 admin 或 super_admin 角色,如果没有对应角色则返回 1003(权限不足)。管理员与普通用户共用 `auth_users` 表,通过角色区分权限。
|
||||||
|
|
||||||
|
**成功响应:** 与前台登录接口返回格式一致,包含 token、refresh_token、用户信息等。
|
||||||
|
|
||||||
|
**可能的错误码:** 1001, 1003, 2003, 2004
|
||||||
86
docs/api/admin/meeting.md
Normal file
86
docs/api/admin/meeting.md
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# 管理端 — 会议管理 API
|
||||||
|
|
||||||
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
|
> 以下所有接口均需要 **JWT 认证 + admin/super_admin 角色**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 接口列表
|
||||||
|
|
||||||
|
| 方法 | 路径 | 权限 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| GET | /api/v1/admin/meetings | admin | 获取会议列表 |
|
||||||
|
| GET | /api/v1/admin/meetings/:id | admin | 获取会议详情 |
|
||||||
|
| PUT | /api/v1/admin/meetings/:id/close | admin | 强制结束会议 |
|
||||||
|
| GET | /api/v1/admin/meetings/stats | admin | 获取会议统计 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 获取会议列表
|
||||||
|
|
||||||
|
`GET /api/v1/admin/meetings`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**查询参数:**
|
||||||
|
|
||||||
|
| 参数 | 类型 | 默认值 | 说明 |
|
||||||
|
|------|------|--------|------|
|
||||||
|
| status | int | 无 | 按状态筛选:0=未开始,1=进行中,2=已结束 |
|
||||||
|
| type | int | 无 | 按类型筛选:1=即时会议,2=预约会议 |
|
||||||
|
| keyword | string | 无 | 搜索关键词(匹配会议标题) |
|
||||||
|
| page | int | 1 | 页码 |
|
||||||
|
| page_size | int | 20 | 每页数量 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 获取会议详情
|
||||||
|
|
||||||
|
`GET /api/v1/admin/meetings/:id`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**说明:** 返回会议完整信息,包括参与者列表、会议设置、时长统计等。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 强制结束会议
|
||||||
|
|
||||||
|
`PUT /api/v1/admin/meetings/:id/close`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**说明:** 强制结束后,所有参会者将收到会议结束通知,所有媒体资源将被回收。操作将记录到管理日志(`admin_operation_logs` 表)。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 获取会议统计
|
||||||
|
|
||||||
|
`GET /api/v1/admin/meetings/stats`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**成功响应:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 0,
|
||||||
|
"message": "ok",
|
||||||
|
"data": {
|
||||||
|
"total_meetings": 1500,
|
||||||
|
"ongoing_meetings": 5,
|
||||||
|
"today_meetings": 23,
|
||||||
|
"total_participants": 8500,
|
||||||
|
"avg_duration": 1800
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**字段说明:**
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| total_meetings | int | 历史会议总数 |
|
||||||
|
| ongoing_meetings | int | 当前进行中的会议数 |
|
||||||
|
| today_meetings | int | 今日创建的会议数 |
|
||||||
|
| total_participants | int | 历史累计参会人次 |
|
||||||
|
| avg_duration | int | 平均会议时长(秒) |
|
||||||
92
docs/api/admin/system.md
Normal file
92
docs/api/admin/system.md
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
# 管理端 — 系统管理 API
|
||||||
|
|
||||||
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
|
> 以下所有接口均需要 **JWT 认证 + admin/super_admin 角色**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 接口列表
|
||||||
|
|
||||||
|
| 方法 | 路径 | 权限 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| GET | /api/v1/admin/dashboard | admin | 获取仪表盘数据 |
|
||||||
|
| GET | /api/v1/admin/logs | admin | 获取操作日志 |
|
||||||
|
| GET | /api/v1/admin/system/config | super_admin | 获取系统配置 |
|
||||||
|
| PUT | /api/v1/admin/system/config | super_admin | 更新系统配置 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 获取仪表盘数据
|
||||||
|
|
||||||
|
`GET /api/v1/admin/dashboard`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**说明:** 返回系统核心指标概览,用于后台管理端首页展示。
|
||||||
|
|
||||||
|
**成功响应:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 0,
|
||||||
|
"message": "ok",
|
||||||
|
"data": {
|
||||||
|
"total_users": 1200,
|
||||||
|
"online_users": 85,
|
||||||
|
"today_new_users": 12,
|
||||||
|
"ongoing_meetings": 5,
|
||||||
|
"today_meetings": 23,
|
||||||
|
"today_messages": 5600
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
**字段说明:**
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| total_users | int | 系统注册用户总数 |
|
||||||
|
| online_users | int | 当前在线用户数(WebSocket 连接中) |
|
||||||
|
| today_new_users | int | 今日新注册用户数 |
|
||||||
|
| ongoing_meetings | int | 当前进行中的会议数 |
|
||||||
|
| today_meetings | int | 今日创建的会议数 |
|
||||||
|
| today_messages | int | 今日消息发送总数 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 获取操作日志
|
||||||
|
|
||||||
|
`GET /api/v1/admin/logs`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**查询参数:**
|
||||||
|
|
||||||
|
| 参数 | 类型 | 默认值 | 说明 |
|
||||||
|
|------|------|--------|------|
|
||||||
|
| module | string | 无 | 按模块筛选:user / meeting / permission / system |
|
||||||
|
| action | string | 无 | 按操作类型筛选:create / update / delete / disable / enable / close |
|
||||||
|
| admin_id | int | 无 | 按操作管理员 ID 筛选 |
|
||||||
|
| page | int | 1 | 页码 |
|
||||||
|
| page_size | int | 20 | 每页数量 |
|
||||||
|
|
||||||
|
**说明:** 日志数据来源于 `admin_operation_logs` 表,记录所有管理员的操作行为,用于审计和问题追踪。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 获取系统配置
|
||||||
|
|
||||||
|
`GET /api/v1/admin/system/config`
|
||||||
|
|
||||||
|
**权限:** super_admin
|
||||||
|
|
||||||
|
**说明:** 返回系统全局配置项,如默认会议最大人数、消息保留天数等。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 更新系统配置
|
||||||
|
|
||||||
|
`PUT /api/v1/admin/system/config`
|
||||||
|
|
||||||
|
**权限:** super_admin
|
||||||
|
|
||||||
|
**说明:** 修改系统全局配置,操作将记录到管理日志。
|
||||||
125
docs/api/admin/user.md
Normal file
125
docs/api/admin/user.md
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
# 管理端 — 用户管理 API
|
||||||
|
|
||||||
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
|
> 以下所有接口均需要 **JWT 认证 + admin/super_admin 角色**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 接口列表
|
||||||
|
|
||||||
|
| 方法 | 路径 | 权限 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| GET | /api/v1/admin/users | admin | 获取用户列表 |
|
||||||
|
| GET | /api/v1/admin/users/:id | admin | 获取用户详情 |
|
||||||
|
| PUT | /api/v1/admin/users/:id/status | admin | 更新用户状态 |
|
||||||
|
| PUT | /api/v1/admin/users/:id/role | super_admin | 分配用户角色 |
|
||||||
|
| POST | /api/v1/admin/users | admin | 管理员创建用户 |
|
||||||
|
| GET | /api/v1/admin/users/:id/meetings | admin | 获取用户会议记录 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 获取用户列表
|
||||||
|
|
||||||
|
`GET /api/v1/admin/users`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**查询参数:**
|
||||||
|
|
||||||
|
| 参数 | 类型 | 默认值 | 说明 |
|
||||||
|
|------|------|--------|------|
|
||||||
|
| keyword | string | 无 | 搜索关键词(匹配用户名/邮箱/昵称) |
|
||||||
|
| status | int | 无 | 按状态筛选:1=正常,2=禁用,3=注销 |
|
||||||
|
| role | string | 无 | 按角色筛选:user / admin / super_admin |
|
||||||
|
| page | int | 1 | 页码 |
|
||||||
|
| page_size | int | 20 | 每页数量 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 获取用户详情
|
||||||
|
|
||||||
|
`GET /api/v1/admin/users/:id`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**成功响应:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 0,
|
||||||
|
"message": "ok",
|
||||||
|
"data": {
|
||||||
|
"id": 1,
|
||||||
|
"username": "zhangsan",
|
||||||
|
"email": "zhangsan@example.com",
|
||||||
|
"nickname": "张三",
|
||||||
|
"avatar": "https://...",
|
||||||
|
"gender": 1,
|
||||||
|
"phone": "13800138000",
|
||||||
|
"status": 1,
|
||||||
|
"roles": ["user"],
|
||||||
|
"last_login_at": "2026-02-27 10:00:00",
|
||||||
|
"last_login_ip": "192.168.1.100",
|
||||||
|
"created_at": "2026-02-20 08:00:00"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 更新用户状态
|
||||||
|
|
||||||
|
`PUT /api/v1/admin/users/:id/status`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**请求参数:**
|
||||||
|
|
||||||
|
| 字段 | 类型 | 必填 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| status | int | 是 | 目标状态:1=正常(启用),2=禁用 |
|
||||||
|
|
||||||
|
**说明:** 禁用用户后,该用户的所有活跃 Token 将被清除,正在进行的 WebSocket 连接将被断开。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 分配用户角色
|
||||||
|
|
||||||
|
`PUT /api/v1/admin/users/:id/role`
|
||||||
|
|
||||||
|
**权限:** super_admin
|
||||||
|
|
||||||
|
**请求参数:**
|
||||||
|
|
||||||
|
| 字段 | 类型 | 必填 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| role_code | string | 是 | 角色代码:user / admin / super_admin |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 管理员创建用户
|
||||||
|
|
||||||
|
`POST /api/v1/admin/users`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**请求参数:** 同前台用户注册接口,额外支持:
|
||||||
|
|
||||||
|
| 字段 | 类型 | 必填 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| role_code | string | 否 | 指定角色,默认为 user |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. 获取用户会议记录
|
||||||
|
|
||||||
|
`GET /api/v1/admin/users/:id/meetings`
|
||||||
|
|
||||||
|
**权限:** admin
|
||||||
|
|
||||||
|
**查询参数:**
|
||||||
|
|
||||||
|
| 参数 | 类型 | 默认值 | 说明 |
|
||||||
|
|------|------|--------|------|
|
||||||
|
| status | string | 无 | ongoing=进行中,upcoming=即将开始,ended=已结束 |
|
||||||
|
| page | int | 1 | 页码 |
|
||||||
|
| page_size | int | 20 | 每页数量 |
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# 认证模块 API (Auth)
|
# 认证模块 API (Auth)
|
||||||
|
|
||||||
> 通用规范(认证方式、响应格式、错误码)见 [README.md](README.md)
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# 联系人模块 API (Contact)
|
# 联系人模块 API (Contact)
|
||||||
|
|
||||||
> 通用规范(认证方式、响应格式、错误码)见 [README.md](README.md)
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# 即时通讯模块 API (IM)
|
# 即时通讯模块 API (IM)
|
||||||
|
|
||||||
> 通用规范(认证方式、响应格式、错误码)见 [README.md](README.md)
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
> 消息的实时收发通过 WebSocket 完成,见 [websocket.md](websocket.md)
|
> 消息的实时收发通过 WebSocket 完成,见 [websocket.md](../websocket.md)
|
||||||
> 本文档中的接口用于会话管理和消息历史查询等非实时操作。
|
> 本文档中的接口用于会话管理和消息历史查询等非实时操作。
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# 会议模块 API (Meeting)
|
# 会议模块 API (Meeting)
|
||||||
|
|
||||||
> 通用规范(认证方式、响应格式、错误码)见 [README.md](README.md)
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
> 会议中的实时信令(Transport/Producer/Consumer)通过 WebSocket 完成,见 [websocket.md](websocket.md)
|
> 会议中的实时信令(Transport/Producer/Consumer)通过 WebSocket 完成,见 [websocket.md](../websocket.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# 通知模块 API (Notify)
|
# 通知模块 API (Notify)
|
||||||
|
|
||||||
> 通用规范(认证方式、响应格式、错误码)见 [README.md](README.md)
|
> 通用规范(认证方式、响应格式、错误码)见 [README.md](../README.md)
|
||||||
> 新通知的实时推送通过 WebSocket 完成,见 [websocket.md](websocket.md)
|
> 新通知的实时推送通过 WebSocket 完成,见 [websocket.md](../websocket.md)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Reference in New Issue
Block a user