Files
EchoChat/docs/api/admin/user.md
bujinyuan 4d03215fe4 feat: Phase 1 完成 — 基础设施 + 用户认证 + 管理端 + 端到端验证
Phase 1 (基础设施与用户认证) 全部 11 个 Task 开发完成:

后端 (Go):
- Auth 模块: 注册/登录/JWT(有状态)/Profile/密码修改
- Admin 模块: 用户列表/详情/禁用/启用/角色分配/创建用户
- 中间件: JWT认证 + RBAC角色权限 + 请求日志 + CORS + Panic恢复
- Dockerfile 多阶段构建 + Docker Compose 全栈部署

前台 (uni-app):
- 登录/注册页面 + 自定义 TabBar + 个人中心
- 请求封装 + 状态管理 (Pinia)

管理端 (Vue 3 + Element Plus):
- 登录/仪表盘/用户列表/用户详情
- Axios 封装 + 路由守卫 + Pinia 状态管理

验证:
- 全流程 API 端到端测试通过
- Playwright 页面自动化验证通过
- code-reviewer 代码审查通过

Made-with: Cursor
2026-03-02 11:31:24 +08:00

3.9 KiB
Raw Blame History

管理端 — 用户管理 API

通用规范(认证方式、响应格式、错误码)见 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

查询参数:

参数 类型 必填 默认值 说明
page int - 页码(从 1 开始)
page_size int - 每页数量1-100
keyword string 搜索关键词(模糊匹配用户名或邮箱)
status int 按状态筛选1=正常2=禁用3=注销

成功响应:

{
    "code": 0,
    "message": "success",
    "data": {
        "total": 100,
        "list": [
            {
                "id": 1,
                "username": "zhangsan",
                "email": "zhangsan@example.com",
                "nickname": "张三",
                "avatar": "",
                "gender": 1,
                "phone": "13800138000",
                "status": 1,
                "status_text": "正常",
                "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",
                "updated_at": "2026-02-27 10:00:00"
            }
        ]
    }
}

2. 获取用户详情

GET /api/v1/admin/users/:id

权限: admin

成功响应:

{
    "code": 0,
    "message": "success",
    "data": {
        "id": 1,
        "username": "zhangsan",
        "email": "zhangsan@example.com",
        "nickname": "张三",
        "avatar": "",
        "gender": 1,
        "phone": "13800138000",
        "status": 1,
        "status_text": "正常",
        "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",
        "updated_at": "2026-02-27 10: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

权限: admin / super_admin

请求参数:

字段 类型 必填 说明
role_code string 角色代码user / admin / super_admin

5. 管理员创建用户

POST /api/v1/admin/users

权限: admin

请求参数:

字段 类型 必填 说明
username string 用户名3-50 字符
email string 邮箱地址
password string 初始密码6-50 字符
nickname string 昵称(默认使用用户名)
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 每页数量