From 883598d5fa1bbe25414e7d1cbb083ffaf715343d Mon Sep 17 00:00:00 2001 From: bujinyuan Date: Mon, 2 Mar 2026 11:42:45 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20Phase=201=20=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?=E2=80=94=20=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=96=87=E6=A1=A3=E8=87=B3=E6=9C=80=E6=96=B0=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - system-architecture.md: 标注 Docker 部署架构实现状态 - phase1-foundation-and-auth.md: 添加 Phase 1 完成标记 - api/README.md: 添加各模块实现状态标注(Phase 1/2/3) - api/admin/user.md: 修正角色分配权限、补充创建用户响应示例 - project-context.mdc: 更新当前进度为 Phase 1 完成 Made-with: Cursor --- docs/api/README.md | 32 +++++++------- docs/api/admin/user.md | 42 +++++++++++++++++-- docs/architecture/system-architecture.md | 14 ++++--- .../2026-02-27-phase1-foundation-and-auth.md | 4 ++ 4 files changed, 68 insertions(+), 24 deletions(-) diff --git a/docs/api/README.md b/docs/api/README.md index 643bda9..99fef1f 100644 --- a/docs/api/README.md +++ b/docs/api/README.md @@ -10,28 +10,28 @@ ### 前台用户端 (`frontend/`) -| 文档 | 模块 | 说明 | -|------|------|------| -| [frontend/auth.md](frontend/auth.md) | 用户认证 | 注册、登录、Token 刷新、个人信息管理 | -| [frontend/contact.md](frontend/contact.md) | 联系人 | 好友申请/管理、好友分组 | -| [frontend/im.md](frontend/im.md) | 即时通讯 | 会话列表、消息历史、群聊创建与管理 | -| [frontend/meeting.md](frontend/meeting.md) | 会议 | 即时会议、预约会议、加入/离开、会议列表 | -| [frontend/notify.md](frontend/notify.md) | 通知 | 通知列表、标记已读 | +| 文档 | 模块 | 状态 | 说明 | +|------|------|------|------| +| [frontend/auth.md](frontend/auth.md) | 用户认证 | ✅ Phase 1 | 注册、登录、Token 刷新、个人信息管理 | +| [frontend/contact.md](frontend/contact.md) | 联系人 | 📋 Phase 2 | 好友申请/管理、好友分组 | +| [frontend/im.md](frontend/im.md) | 即时通讯 | 📋 Phase 2 | 会话列表、消息历史、群聊创建与管理 | +| [frontend/meeting.md](frontend/meeting.md) | 会议 | 📋 Phase 3 | 即时会议、预约会议、加入/离开、会议列表 | +| [frontend/notify.md](frontend/notify.md) | 通知 | 📋 Phase 2 | 通知列表、标记已读 | ### 后台管理端 (`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) | 系统管理 | 仪表盘数据、操作日志、系统配置 | +| 文档 | 模块 | 状态 | 说明 | +|------|------|------|------| +| [admin/auth.md](admin/auth.md) | 管理员认证 | ✅ Phase 1 | 管理员登录(验证 admin 角色) | +| [admin/user.md](admin/user.md) | 用户管理 | ✅ Phase 1 | 用户列表/详情、状态管理、角色分配、创建用户 | +| [admin/meeting.md](admin/meeting.md) | 会议管理 | 📋 Phase 3 | 会议列表/详情、强制结束、会议统计 | +| [admin/system.md](admin/system.md) | 系统管理 | 📋 待定 | 仪表盘数据、操作日志、系统配置 | ### 跨端通用 -| 文档 | 说明 | -|------|------| -| [websocket.md](websocket.md) | WebSocket 实时事件协议(IM 消息、会议信令、在线状态) | +| 文档 | 状态 | 说明 | +|------|------|------| +| [websocket.md](websocket.md) | 📋 Phase 2 | WebSocket 实时事件协议(IM 消息、会议信令、在线状态) | --- diff --git a/docs/api/admin/user.md b/docs/api/admin/user.md index e3e4f7c..82e8981 100644 --- a/docs/api/admin/user.md +++ b/docs/api/admin/user.md @@ -12,9 +12,9 @@ | 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 | 分配用户角色 | +| PUT | /api/v1/admin/users/:id/role | admin / super_admin | 分配用户角色 | | POST | /api/v1/admin/users | admin | 管理员创建用户 | -| GET | /api/v1/admin/users/:id/meetings | admin | 获取用户会议记录 | +| GET | /api/v1/admin/users/:id/meetings | admin | 获取用户会议记录(Phase 3 实现) | --- @@ -108,7 +108,20 @@ |------|------|------|------| | status | int | 是 | 目标状态:1=正常(启用),2=禁用 | -**说明:** 禁用用户后,该用户的所有活跃 Token 将被清除,正在进行的 WebSocket 连接将被断开。 +**说明:** +- 禁用用户后,该用户的所有活跃 Token 将被清除 +- 不能禁用自己的账号(返回 400) +- 禁用后用户尝试登录将返回 403 + +**成功响应:** +```json +{ + "code": 0, + "message": "success", + "trace_id": "...", + "time": "2026-03-02 11:12:44" +} +``` --- @@ -142,6 +155,29 @@ | nickname | string | 否 | 昵称(默认使用用户名) | | role_code | string | 否 | 指定角色,默认为 user | +**成功响应:** +```json +{ + "code": 0, + "message": "success", + "data": { + "id": 6, + "username": "created_by_admin", + "email": "admin_created@example.com", + "nickname": "管理员创建", + "avatar": "", + "gender": 0, + "status": 1, + "status_text": "正常", + "roles": ["user"], + "created_at": "2026-03-02 11:12:33", + "updated_at": "2026-03-02 11:12:33" + }, + "trace_id": "...", + "time": "2026-03-02 11:12:33" +} +``` + --- ## 6. 获取用户会议记录 diff --git a/docs/architecture/system-architecture.md b/docs/architecture/system-architecture.md index 562d754..62c18e8 100644 --- a/docs/architecture/system-architecture.md +++ b/docs/architecture/system-architecture.md @@ -236,13 +236,17 @@ mediasoup C++ SFU 的 **"遥控器"**,不懂业务、不懂用户、只懂媒 ```yaml services: - go-service: # Go 后端 → :8085 - media-server: # mediasoup Node → :3000 + :40000-40100/udp - postgres: # PostgreSQL 17 → :5432 - redis: # Redis 7 → :6379 - nginx: # 反向代理 → :80/:443 + go-service: # Go 后端 → :8085 ✅ 已实现(多阶段构建 Dockerfile) + media-server: # mediasoup Node → :3000 + :40000-40100/udp(Phase 3) + postgres: # PostgreSQL 17 → :5432 ✅ 已实现 + redis: # Redis 7 → :6379 ✅ 已实现 + nginx: # 反向代理 → :80/:443(生产环境部署) ``` +> Docker Compose 配置文件:`deploy/docker-compose.dev.yml` +> Go 服务 Dockerfile:`backend/go-service/Dockerfile`(多阶段构建:golang:1.23 → alpine:3.19) +> Docker 内配置:`backend/go-service/config/config.docker.yaml`(数据库/Redis 地址使用 Docker 服务名) + ### 6.2 生产环境 (预留 K8s) ``` diff --git a/docs/plans/2026-02-27-phase1-foundation-and-auth.md b/docs/plans/2026-02-27-phase1-foundation-and-auth.md index 5792ed0..f0fe1d6 100644 --- a/docs/plans/2026-02-27-phase1-foundation-and-auth.md +++ b/docs/plans/2026-02-27-phase1-foundation-and-auth.md @@ -1,5 +1,9 @@ # EchoChat 第一阶段:基础设施与用户体系 - 实施计划 +> **状态:✅ Phase 1 全部完成**(2026-03-02) +> 11 个 Task 全部通过端到端验证和代码审查。 +> 分支:`feature/phase1-foundation-and-auth` + > **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task. **目标:** 搭建项目完整骨架(Go 后端、uniapp 前端、Vue3 管理端),实现用户注册登录体系,建立 Docker 开发环境,为后续 IM/会议等功能奠定基础。