docs(phase2e-2): 补齐顶层文档进度同步,Phase 2e-2 会议 MVP 全面切 ✅
用户准备开始真实用户测试,此 commit 对"六份文档同步"之外遗漏的上层/入口文档 做二次补齐,保证所有出现阶段状态描述的文档都与 CURRENT_STATUS.md 一致。 补齐范围: - README.md · "MVP 功能规划" 原把 Phase 2 / Phase 3 标记为"待开始",与实际进度严重偏离 · 整段重写为"开发进度"小节,按 Phase 1 / 2a-d / 2e-1 / 2e-2 分别列出 ✅ 已完成状态与关键交付;2e-3 / Phase 3 / P2 推迟项独立列为"待启动(规划中)" · "文档导航"扩展 5 条新入口:Phase 2e 路线图 / 2e-2 设计 / 2e-2 实施 / 2e-2 代码审查 / 2e-2 验收报告 / 会议 MVP 部署指南 - docs/plans/2026-02-27-echochat-system-design.md(整体系统设计方案) · §Phase 2e 行:追加"2e-1 ✅ / 2e-2 ✅ / 2e-3 📋 待启动"状态徽标 · §Phase 2e-2:从"📋 设计阶段完成,代码开发待启动"改为 "✅ 已完成(2026-04-24,Task 0-16 全量落地 + 代码审查 4 P0 + 8 P1 + 7 P2 + 7 Nit 闭环)" - docs/plans/2026-04-21-phase2e-2-design.md(Phase 2e-2 设计文档) · 顶部"状态 / 最后更新"由"📋 设计阶段(待评审后进入代码开发)"切 ✅ · §一 文档定位的"本文档"行同步切 ✅ - docs/plans/2026-04-24-phase2e-2-task15-ui-polish.plan.md(Task 15 计划) · 顶部"状态"由"📋 设计阶段(等待用户 Review)"切 ✅ · 追加"交付记录"行指向 CURRENT_STATUS.md Task 15/16 交付条目 - docs/deployment/meeting-mvp.md(会议 MVP 部署指南) · 顶部元信息追加阶段 ✅ 标记 + Task 16 追加的 REDIS_PASSWORD × redis.conf requirepass 联动校验指引 验证:workspace grep "📋 设计阶段|🚧 代码开发|待开始" 在顶层 README/docs 下 已无遗留进度描述与实际状态冲突(仅 README 新增的"Phase 2e-3 / Phase 3 — 待启动 (规划中)"章节为规划项,符合预期)。 Made-with: Cursor
This commit is contained in:
65
README.md
65
README.md
@@ -188,37 +188,51 @@ npm run dev
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## MVP 功能规划(第一期)
|
## 开发进度
|
||||||
|
|
||||||
### Phase 1 — 基础设施与用户认证 ✅
|
> 最新进度、里程碑与技术决策以 [docs/progress/CURRENT_STATUS.md](docs/progress/CURRENT_STATUS.md) 为准(本节为概览)。
|
||||||
|
|
||||||
- [x] 设计方案与架构文档
|
### Phase 1 — 基础设施与用户认证 ✅(2026-03 完成)
|
||||||
- [x] Docker Compose 开发环境(PostgreSQL + Redis)
|
|
||||||
- [x] Go 后端服务骨架(Gin + GORM + Wire + Zap)
|
|
||||||
- [x] 用户注册/登录 API(用户名+邮箱+密码)
|
|
||||||
- [x] JWT Token 认证(有状态 JWT + Redis)
|
|
||||||
- [x] RBAC 角色权限(user / admin / super_admin)
|
|
||||||
- [x] 前台 uni-app 骨架 + 登录/注册/TabBar/个人中心
|
|
||||||
- [x] 后台 Vue 3 管理端 + 登录/布局/用户管理
|
|
||||||
- [x] Go 服务 Dockerfile + Docker Compose 全栈部署
|
|
||||||
|
|
||||||
### Phase 2 — 即时通讯(待开始)
|
- [x] 设计方案与架构文档 · Docker Compose(PostgreSQL + Redis + MinIO)
|
||||||
|
- [x] Go 后端骨架(Gin + GORM + Wire + Zap)+ JWT + RBAC
|
||||||
|
- [x] 前台 uni-app 骨架 + 后台 Vue 3 管理端 + Docker 化
|
||||||
|
|
||||||
- [ ] 即时聊天(单聊 + 群聊,文字/图片/文件)
|
### Phase 2a / 2b / 2c / 2d — 即时通讯全量 ✅(2026-03 完成)
|
||||||
- [ ] 联系人/好友管理
|
|
||||||
- [ ] 消息通知系统
|
|
||||||
|
|
||||||
### Phase 3 — 音视频会议(待开始)
|
- [x] 联系人 / 好友管理(2a)
|
||||||
|
- [x] WebSocket 长连接 + 单聊即时通讯(2b)
|
||||||
|
- [x] 群聊 + 已读回执(2c)
|
||||||
|
- [x] 消息类型扩展(图片 / 文件 / 语音,含 MinIO S3 存储)(2d)
|
||||||
|
|
||||||
- [ ] 多人音视频会议(即时会议 + 预约会议)
|
### Phase 2e-1 — 统一通知中心 ✅(2026-04-20 完成)
|
||||||
- [ ] 后台管理端会议监控
|
|
||||||
|
- [x] 通知数据模型 + `notify.Pusher` 统一推送抽象
|
||||||
|
- [x] 前端通知中心页 + 卡片渲染 + WS 实时推送
|
||||||
|
- [x] `meeting_invite` 预留类型(供 Phase 2e-2 联动)
|
||||||
|
|
||||||
|
### Phase 2e-2 — 多人音视频会议 MVP ✅(2026-04-24 完成)
|
||||||
|
|
||||||
|
- [x] 技术栈:mediasoup Node 媒体控制层 + C++ SFU Worker + mediasoup-client(WebRTC)
|
||||||
|
- [x] 控制面:Go 会议 service + 9 REST API + 14 WS 事件(创建 / 加入 / 离开 / 主持人四件套 / 邀请 / 聊天 / 生命周期)
|
||||||
|
- [x] 媒体面:Node 媒体服务 12 内部 REST(Router / Transport / Producer / Consumer / Stats)+ Token 内部鉴权
|
||||||
|
- [x] 前端会议闭环:Hub → 预览 → 房间(网格 / 演讲者 / 工具栏 / 聊天 / 成员列表 / 主持人菜单)
|
||||||
|
- [x] 会议生命周期:host 掉线 2 分钟宽限 + 自动转让 + 空房 5 分钟 TTL + 定时兜底清理
|
||||||
|
- [x] 双态部署:本机 Docker Compose 即装即用 + 公网(announcedIp + coturn `--profile public`)
|
||||||
|
- [x] 原创 UI 特色 6 条(桌面端恒浮窗 / 加入时视频块滑入等)+ 主持人权限四件套(静音他人 / 移除 / 转让 / 结束)
|
||||||
|
- [x] 代码审查闭环:4 P0 + 8 P1 + 7 P2 + 7 Nit 全部修复,5 项(WS token 迁出 URL / Chat 服务拆分等)登记推迟到 Phase 2f/3
|
||||||
|
- [x] 验收产物:[test-report-phase2e-2-meeting.md](test-report-phase2e-2-meeting.md)(八章完整报告)+ 5 份 Playwright MCP E2E 剧本
|
||||||
|
|
||||||
|
### Phase 2e-3 / Phase 3 — 待启动(规划中)
|
||||||
|
|
||||||
|
- [ ] 预约会议 + 会议提醒 + 等候室 + 预览高级参数(2e-3)
|
||||||
|
- [ ] 屏幕共享 + 会议录制与回放(3)
|
||||||
|
- [ ] 互动直播(主播 / 观众 / 弹幕)(3)
|
||||||
|
- [ ] WS token 从 URL 迁出 + MeetingChatService 拆分(P2 推迟项)
|
||||||
|
|
||||||
## 后续规划
|
## 后续规划
|
||||||
|
|
||||||
- 屏幕共享
|
|
||||||
- 微信授权登录
|
- 微信授权登录
|
||||||
- 互动直播(主播/观众/弹幕)
|
|
||||||
- 会议录制与回放
|
|
||||||
- 微服务拆分 + K8s 部署
|
- 微服务拆分 + K8s 部署
|
||||||
- AI 辅助功能(语音转文字、会议纪要)
|
- AI 辅助功能(语音转文字、会议纪要)
|
||||||
|
|
||||||
@@ -228,9 +242,14 @@ npm run dev
|
|||||||
|
|
||||||
| 文档 | 路径 | 说明 |
|
| 文档 | 路径 | 说明 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| 项目进度 | [docs/progress/CURRENT_STATUS.md](docs/progress/CURRENT_STATUS.md) | 当前开发进度与技术决策 |
|
| 项目进度 | [docs/progress/CURRENT_STATUS.md](docs/progress/CURRENT_STATUS.md) | 当前开发进度与技术决策(SSOT) |
|
||||||
| 整体设计方案 | [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) | 基础设施+用户体系实施步骤 |
|
| Phase 2e 路线图 | [docs/plans/2026-04-20-phase2e-design.md](docs/plans/2026-04-20-phase2e-design.md) | Phase 2e-1 / 2e-2 / 2e-3 三子阶段总览 |
|
||||||
|
| Phase 2e-2 设计 | [docs/plans/2026-04-21-phase2e-2-design.md](docs/plans/2026-04-21-phase2e-2-design.md) | 会议 MVP 专项设计(✅ 已完成) |
|
||||||
|
| Phase 2e-2 实施 | [docs/plans/2026-04-21-phase2e-2-implementation.plan.md](docs/plans/2026-04-21-phase2e-2-implementation.plan.md) | Task 0-16 实施计划 |
|
||||||
|
| Phase 2e-2 代码审查 | [docs/reviews/2026-04-23-phase2e-2-code-review.md](docs/reviews/2026-04-23-phase2e-2-code-review.md) | 26 项审计结果 + Task 16 修复追踪 |
|
||||||
|
| Phase 2e-2 验收报告 | [test-report-phase2e-2-meeting.md](test-report-phase2e-2-meeting.md) | 八章完整测试报告 |
|
||||||
|
| 会议 MVP 部署指南 | [docs/deployment/meeting-mvp.md](docs/deployment/meeting-mvp.md) | 本机 Demo + 公网双态部署手册 |
|
||||||
| 系统架构文档 | [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,8 +1,8 @@
|
|||||||
# EchoChat 会议 MVP 部署指南
|
# EchoChat 会议 MVP 部署指南
|
||||||
|
|
||||||
> **适用阶段**:Phase 2e-2(会议 MVP)
|
> **适用阶段**:Phase 2e-2(会议 MVP ✅ 已完成)
|
||||||
> **覆盖形态**:本机 Demo(零配置)+ 公网部署(含 TURN)
|
> **覆盖形态**:本机 Demo(零配置)+ 公网部署(含 TURN)
|
||||||
> **最后更新**:2026-04-23(Task 14 双态部署脚本 + docker-compose 扩展完成)
|
> **最后更新**:2026-04-24(Phase 2e-2 Task 16 收官:E2E 回归 + 代码审查修复 + 资源生命周期审计;本指南 Task 14 双态部署脚本仍为最新有效版本,Task 16 追加 `REDIS_PASSWORD` 与 `redis.conf requirepass` 联动校验,详见 [Task 16 收官说明](../progress/CURRENT_STATUS.md))
|
||||||
|
|
||||||
## 一、双态部署总览
|
## 一、双态部署总览
|
||||||
|
|
||||||
|
|||||||
@@ -1012,7 +1012,7 @@ services:
|
|||||||
- 管理端消息管理功能
|
- 管理端消息管理功能
|
||||||
- 详见 `docs/plans/2026-03-04-phase2d-design.md`
|
- 详见 `docs/plans/2026-03-04-phase2d-design.md`
|
||||||
|
|
||||||
#### Phase 2e:会议与通知 🚧 拆分为三子阶段(详见 `docs/plans/2026-04-20-phase2e-design.md`)
|
#### Phase 2e:会议与通知 🚧 拆分为三子阶段(2e-1 ✅ / 2e-2 ✅ / 2e-3 📋 待启动;详见 `docs/plans/2026-04-20-phase2e-design.md`)
|
||||||
|
|
||||||
- **Phase 2e-1:通知系统** ✅ 已完成
|
- **Phase 2e-1:通知系统** ✅ 已完成
|
||||||
- 统一通知中心(好友/群聊事件 + 系统广播 + 会议通知类型预留)
|
- 统一通知中心(好友/群聊事件 + 系统广播 + 会议通知类型预留)
|
||||||
@@ -1023,7 +1023,7 @@ services:
|
|||||||
- 跨模块 Pusher 接口(contact/group 模块解耦集成);后期接入 meeting 模块(Phase 2e-2)
|
- 跨模块 Pusher 接口(contact/group 模块解耦集成);后期接入 meeting 模块(Phase 2e-2)
|
||||||
- 专用设计:`docs/plans/2026-04-20-phase2e-1-design.md`;实施计划:`docs/plans/2026-04-20-phase2e-1-implementation.plan.md`
|
- 专用设计:`docs/plans/2026-04-20-phase2e-1-design.md`;实施计划:`docs/plans/2026-04-20-phase2e-1-implementation.plan.md`
|
||||||
|
|
||||||
- **Phase 2e-2:会议 MVP** 📋 设计阶段完成(2026-04-21),代码开发待启动
|
- **Phase 2e-2:会议 MVP** ✅ 已完成(2026-04-24,Task 0-16 全量落地 + 代码审查 4 P0 + 8 P1 + 7 P2 + 7 Nit 闭环)
|
||||||
- mediasoup Node.js 独立 `media-server/` 子项目 + mediasoup-client 前端集成
|
- mediasoup Node.js 独立 `media-server/` 子项目 + mediasoup-client 前端集成
|
||||||
- 即时会议(≤ 8 人)、会议号 `XXX-XXX-XXX`、可选密码(**bcrypt**)、音视频开关、主持人四件套(静音/移除/转让/结束)
|
- 即时会议(≤ 8 人)、会议号 `XXX-XXX-XXX`、可选密码(**bcrypt**)、音视频开关、主持人四件套(静音/移除/转让/结束)
|
||||||
- **入会前设备预览页**(设备选择 + 本地画面 + 音量检测)
|
- **入会前设备预览页**(设备选择 + 本地画面 + 音量检测)
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
# Phase 2e-2 设计文档:会议 MVP(多人音视频)
|
# Phase 2e-2 设计文档:会议 MVP(多人音视频)
|
||||||
|
|
||||||
> **状态:** 📋 设计阶段(待评审后进入代码开发)
|
> **状态:** ✅ 已完成(Task 0-16 全部落地,代码审查 4 P0 + 8 P1 + 7 P2 + 7 Nit 闭环,5 项推迟登记)
|
||||||
> **上级设计:** [Phase 2e 整体路线图](./2026-04-20-phase2e-design.md)(本文档是其 §四「Phase 2e-2 会议 MVP」的专项展开版本,对齐 Phase 2e-1 的「总-分」设计文档结构)
|
> **上级设计:** [Phase 2e 整体路线图](./2026-04-20-phase2e-design.md)(本文档是其 §四「Phase 2e-2 会议 MVP」的专项展开版本,对齐 Phase 2e-1 的「总-分」设计文档结构)
|
||||||
> **实施计划:** [Phase 2e-2 实施计划](./2026-04-21-phase2e-2-implementation.plan.md)
|
> **实施计划:** [Phase 2e-2 实施计划](./2026-04-21-phase2e-2-implementation.plan.md)
|
||||||
> **前置依赖:** Phase 2a(联系人 + WS)、Phase 2b(即时通讯)、Phase 2c(群聊 + 已读)、Phase 2d(消息类型扩展)、Phase 2e-1(统一通知中心)均已完成
|
> **前置依赖:** Phase 2a(联系人 + WS)、Phase 2b(即时通讯)、Phase 2c(群聊 + 已读)、Phase 2d(消息类型扩展)、Phase 2e-1(统一通知中心)均已完成
|
||||||
> **分支:** `feature/phase2e-2-meeting-mvp`
|
> **分支:** `feature/phase2e-2-meeting-mvp`
|
||||||
> **最后更新:** 2026-04-21(设计文档首版落盘,待评审)
|
> **最后更新:** 2026-04-24(Task 16 收官:E2E 总回归 + 代码审查修复 + 资源生命周期审计 + 文档同步,阶段切 ✅)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
- [`2026-04-20-phase2e-design.md`](./2026-04-20-phase2e-design.md) — Phase 2e 大阶段路线图 + 三子阶段(2e-1 / 2e-2 / 2e-3)的总览与衔接
|
- [`2026-04-20-phase2e-design.md`](./2026-04-20-phase2e-design.md) — Phase 2e 大阶段路线图 + 三子阶段(2e-1 / 2e-2 / 2e-3)的总览与衔接
|
||||||
- [`2026-04-20-phase2e-1-design.md`](./2026-04-20-phase2e-1-design.md) — Phase 2e-1 「统一通知中心」专用设计(✅ 已完成)
|
- [`2026-04-20-phase2e-1-design.md`](./2026-04-20-phase2e-1-design.md) — Phase 2e-1 「统一通知中心」专用设计(✅ 已完成)
|
||||||
- [`2026-04-21-phase2e-2-design.md`](./2026-04-21-phase2e-2-design.md)(**本文档**) — Phase 2e-2 「会议 MVP」专用设计(📋 设计阶段)
|
- [`2026-04-21-phase2e-2-design.md`](./2026-04-21-phase2e-2-design.md)(**本文档**) — Phase 2e-2 「会议 MVP」专用设计(✅ 已完成)
|
||||||
- `2026-04-21-phase2e-3-design.md` — 待 2e-3 启动时补充(预约会议 / 提醒 / 等候室 / 会议预览高级参数)
|
- `2026-04-21-phase2e-3-design.md` — 待 2e-3 启动时补充(预约会议 / 提醒 / 等候室 / 会议预览高级参数)
|
||||||
|
|
||||||
采用总-分结构的理由:三子阶段共享部分设计背景(跨模块通信、接口注入模式、通知类型枚举),保留总设计可避免重复;但每个子阶段需独立落档以承载具体的架构决策、状态机、数据模型与实施约束。
|
采用总-分结构的理由:三子阶段共享部分设计背景(跨模块通信、接口注入模式、通知类型枚举),保留总设计可避免重复;但每个子阶段需独立落档以承载具体的架构决策、状态机、数据模型与实施约束。
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
# Phase 2e-2 Task 15:UI 打磨 + 主持人权限四件套补齐
|
# Phase 2e-2 Task 15:UI 打磨 + 主持人权限四件套补齐
|
||||||
|
|
||||||
> **状态:** 📋 设计阶段(等待用户 Review)
|
> **状态:** ✅ 已完成(2026-04-24,随 Task 16 收官一并切 ✅)
|
||||||
> **上级实施计划:** [docs/plans/2026-04-21-phase2e-2-implementation.plan.md §Task 15](./2026-04-21-phase2e-2-implementation.plan.md)
|
> **上级实施计划:** [docs/plans/2026-04-21-phase2e-2-implementation.plan.md §Task 15](./2026-04-21-phase2e-2-implementation.plan.md)
|
||||||
> **设计依据:** [Phase 2e-2 设计文档 §9.1 / §9.2 / §3.3 D08](./2026-04-21-phase2e-2-design.md)
|
> **设计依据:** [Phase 2e-2 设计文档 §9.1 / §9.2 / §3.3 D08](./2026-04-21-phase2e-2-design.md)
|
||||||
> **分支:** `feature/phase2e-2-meeting-mvp`
|
> **分支:** `feature/phase2e-2-meeting-mvp`
|
||||||
> **预估工时:** 1.5-2 人日
|
> **预估工时:** 1.5-2 人日
|
||||||
> **范围锁定:** 满配(6 条原创特色 + 静音他人 + 4 屏设计文档 + 桌面端恒浮窗 + RTP stats 双源说话者探测)
|
> **范围锁定:** 满配(6 条原创特色 + 静音他人 + 4 屏设计文档 + 桌面端恒浮窗 + RTP stats 双源说话者探测)
|
||||||
|
> **交付记录:** 已合并到 Task 15 commits + Task 16 P0/P1 修复批次;实际回归问题已随 Task 16 P0/P1(media ownership、成员列表状态同步、consumer 精确清理)一并闭环。详见 [CURRENT_STATUS.md Task 15 / 16 交付条目](../progress/CURRENT_STATUS.md)。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user