docs: 同步文档与代码实现状态
- 02-系统架构: Redis/PostgreSQL 标注已实现,模块表新增 Auth/Store/Migrations,更新表设计和前端组件 - 03-接口文档: config 新增 scenario 字段,Manager 接口补全 UpdateTitle/ListByUser,配置结构体同步,扩展接口替换为实际 Repository - 04-技术选型: 持久化层标注已实现 - 06-语音交互: TTS Voice 更正为 mimo_default - 11-持久化与用户系统设计: 所有 Phase 标记完成 - PLAN_BACKEND/PLAN_USER_MODULE: 标记完成状态 - README: 新增实现状态总览,补充文档索引
This commit is contained in:
@@ -709,42 +709,43 @@ storage:
|
||||
|
||||
## 八、实施阶段
|
||||
|
||||
### Phase 1:用户认证系统
|
||||
### Phase 1:用户认证系统 ✅
|
||||
|
||||
- [ ] 数据库 schema 迁移脚本(users, refresh_tokens 表)
|
||||
- [ ] `internal/auth/` 包:TokenManager, bcrypt 工具, JWT 中间件
|
||||
- [ ] `internal/store/user.go`:UserRepository 接口 + PostgreSQL 实现
|
||||
- [ ] REST API:`/api/auth/register`, `/api/auth/login`, `/api/auth/refresh`, `/api/auth/logout`
|
||||
- [ ] 单元测试
|
||||
- [x] 数据库 schema 迁移脚本(users, refresh_tokens 表)— `migrations/001_users.up.sql`
|
||||
- [x] `internal/auth/` 包:TokenManager, bcrypt 工具, JWT 中间件
|
||||
- [x] `internal/store/user.go`:UserRepository 接口 + PostgreSQL 实现 + 内存实现
|
||||
- [x] REST API:`/api/auth/register`, `/api/auth/login`, `/api/auth/refresh`, `/api/auth/logout`
|
||||
- [x] 单元测试 — `jwt_test.go`, `service_test.go`, `auth_test.go`, `user_test.go`
|
||||
|
||||
### Phase 2:对话 CRUD + 消息持久化
|
||||
### Phase 2:对话 CRUD + 消息持久化 ✅
|
||||
|
||||
- [ ] 数据库 schema 迁移脚本(sessions, messages 表改造)
|
||||
- [ ] `internal/store/conversation.go`:ConversationRepository 接口 + PostgreSQL 实现
|
||||
- [ ] Session Manager 扩展:Create 绑定 user_id, ListByUser, UpdateTitle
|
||||
- [ ] REST API:`/api/conversations` CRUD + `/api/conversations/:id/messages`
|
||||
- [ ] Write-through:AppendMessage 同时写 PostgreSQL
|
||||
- [x] 数据库 schema 迁移脚本(sessions, messages 表)— `migrations/002_messages.up.sql`, `003_sessions.up.sql`
|
||||
- [x] `internal/store/message.go`:MessageRepository 接口 + PostgreSQL 实现
|
||||
- [x] `internal/store/session.go`:SessionRepository 接口 + PostgreSQL 实现
|
||||
- [x] Session Manager 扩展:Create 绑定 user_id, ListByUser, UpdateTitle
|
||||
- [x] REST API:`/api/conversations` CRUD + `/api/conversations/:id/messages`
|
||||
- [x] Write-through:AppendMessage 同时写 PostgreSQL
|
||||
|
||||
### Phase 3:对话历史恢复
|
||||
### Phase 3:对话历史恢复 ✅
|
||||
|
||||
- [ ] `sessionManager.LoadFromDB()` 实现
|
||||
- [ ] 对话标题自动生成逻辑
|
||||
- [ ] REST API:对话详情、历史消息查询(分页)
|
||||
- [x] MemoryManager 支持从 PG 透明恢复会话(Get 时自动 LoadFromDB)
|
||||
- [x] 对话标题自动生成逻辑(首条 user 消息前 20 字符)
|
||||
- [x] REST API:对话详情、历史消息查询(游标分页)
|
||||
|
||||
### Phase 4:前端集成
|
||||
### Phase 4:前端集成 ✅
|
||||
|
||||
- [ ] `useAuth` hook + 请求拦截器(自动附加 token、自动 refresh)
|
||||
- [ ] `AuthPage` 组件(登录/注册表单)
|
||||
- [ ] `ConversationList` 组件
|
||||
- [ ] `useConversations` hook
|
||||
- [ ] 路由守卫:未登录重定向到 `/login`
|
||||
- [ ] WebSocket 连接带 token + conversation_id
|
||||
- [ ] `useVisionSession` 适配多对话切换
|
||||
- [x] `useAuth` hook + AuthProvider(自动附加 token、自动 refresh)
|
||||
- [x] `AuthPage` 组件(登录/注册表单)
|
||||
- [x] `SessionSidebar` 组件(对话列表、搜索、重命名、删除)
|
||||
- [x] `useSessionList` hook(localStorage 持久化)
|
||||
- [x] 路由守卫:未登录重定向到 AuthPage
|
||||
- [x] WebSocket 连接带 token + conversation_id
|
||||
- [x] `useVisionSession` 适配多对话切换
|
||||
|
||||
### Phase 5:配置与收尾
|
||||
### Phase 5:配置与收尾 ✅
|
||||
|
||||
- [ ] 配置结构体扩展(AuthConfig)
|
||||
- [ ] config.yaml 更新
|
||||
- [ ] docker-compose 添加 PostgreSQL
|
||||
- [ ] 集成测试
|
||||
- [ ] 更新 `02-系统架构.md` 和 `03-接口文档.md`
|
||||
- [x] 配置结构体扩展(AuthConfig, SessionConfig, StorageConfig)
|
||||
- [x] config.yaml 更新
|
||||
- [x] 数据库迁移嵌入式自动执行(`go:embed`)
|
||||
- [x] 集成测试 — 122 个测试函数覆盖所有模块
|
||||
- [x] 更新 `02-系统架构.md` 和 `03-接口文档.md`
|
||||
|
||||
Reference in New Issue
Block a user