bujinyuan
|
b607434c57
|
fix(auth): 有状态 JWT + 统一响应格式,严格遵循设计方案
1. 有状态 JWT(Token 存 Redis):
- 新增 token_store.go: Token 的 Redis 存取管理
- echo:auth:token:{user_id} → Access Token (TTL = access_expire_min)
- echo:auth:refresh:{user_id} → Refresh Token (TTL = refresh_expire_day)
- 登录/注册时自动将 Token 存入 Redis(覆盖旧 Token,实现单设备登录)
- JWT 中间件增加 Redis 有效性校验(TokenValidator 接口解耦)
- 登出时从 Redis 删除 Token,使其立即失效
- 刷新 Token 时校验 Redis 中的 Refresh Token
2. 统一成功响应为 "success" + 200:
- 注册接口改用 ResponseOK(原 ResponseCreated/201)
- 所有成功响应统一为 {"code": 0, "message": "success"}
3. API 文档同步更新:
- frontend/auth.md: 登出说明改为 Redis 方案、注册响应统一
- README.md: 移除 "created" 示例
已验证:登出后 Token 立即失效 ✓ 重新登录后新 Token 有效 ✓
Made-with: Cursor
|
2026-02-28 16:57:46 +08:00 |
|
bujinyuan
|
5a65716d10
|
docs(api): 同步 API 文档与实际实现一致
README.md:
- 开发环境端口 8080 → 8085
- 统一响应格式添加 trace_id 字段
- 成功消息 "ok" → "success",创建 "created"
frontend/auth.md(全面更新):
- 注册响应:201 状态码 + message="created" + expires_in=7200
- 所有响应示例:添加 trace_id 和 time 字段
- user 对象:添加 gender 字段
- 退出登录:更新为无状态 JWT 说明(非 Redis)
- 刷新 Token:添加 user 字段到响应
- profile:添加 phone + created_at 字段
- 错误码:统一使用 HTTP 状态码说明表
代码同步:
- dto.UserInfo: 添加 Phone + CreatedAt 字段
- auth_service.buildUserInfo: 填充新字段
Made-with: Cursor
|
2026-02-28 16:48:17 +08:00 |
|
bujinyuan
|
d975adaf2a
|
feat(auth): 完整认证系统 — 注册/登录/JWT/路由(Task 4 + Task 5)
Task 4 — 认证服务层:
- pkg/utils/password.go: bcrypt 密码加密与校验
- pkg/utils/jwt.go: Access/Refresh Token 生成与解析(jwt/v5@v5.2.1,兼容 Go 1.23)
- app/dto/auth_dto.go: 认证相关请求/响应 DTO(含参数校验 binding tag)
- app/auth/service/auth_service.go: 核心业务逻辑(注册、登录、管理员登录、Token 刷新、个人信息、改密码)
- pkg/middleware/auth.go: JWT 认证中间件 + 角色权限检查中间件
Task 5 — Controller 与路由注册:
- app/auth/controller/auth_controller.go: 前台认证接口(7 个 API)
- app/auth/controller/admin_auth_controller.go: 后台管理认证接口
- app/auth/router.go: auth 模块路由定义(模块自包含)
- router/router.go: 主路由汇总入口(仅做调度,不含具体路由定义)
- cmd/server/main.go: 路由注册迁移到 router.Setup()
已验证全部接口:注册 ✓ 登录 ✓ 获取 profile ✓ 错误密码 ✓ 未认证拒绝 ✓ 非管理员拒绝 ✓
Made-with: Cursor
|
2026-02-28 16:42:28 +08:00 |
|
bujinyuan
|
4d3d486902
|
refactor(middleware): 精简请求日志 — 采用社区标准分层策略
- 移除 Request Body 记录(交由 Controller 层以结构化参数形式记录)
- 移除正常响应 Body 的 DEBUG 记录(减少日志量)
- 保留 HTTP 元信息:method/path/handler/status/latency/ip/query
- 保留错误响应(4xx/5xx)的 Response Body 记录
- 导出 IsSensitivePath 供 Controller 层调用
- 重写架构文档 8.6 节:分层日志架构表、字段说明、分级策略
- 更新 phase1 实施计划中间件描述
Made-with: Cursor
|
2026-02-28 16:10:07 +08:00 |
|
bujinyuan
|
a6ef49a3e0
|
feat(middleware): 请求日志新增 handler 字段定位实际处理函数
- 通过 c.HandlerName() 获取处理请求的 handler 函数名
- 解决 caller 始终指向中间件文件无法定位业务代码的问题
- 同步更新架构文档日志示例,补充 caller/handler 说明
Made-with: Cursor
|
2026-02-28 15:56:32 +08:00 |
|
bujinyuan
|
99c2f4f86a
|
docs: 同步更新请求日志中间件文档(请求参数 + 响应数据记录策略)
- system-architecture.md 8.6: 完整记录策略表、状态码分级、日志输出示例
- phase1 实施计划 Task 2: 更新 logger 中间件描述
Made-with: Cursor
|
2026-02-28 15:51:27 +08:00 |
|
bujinyuan
|
8a023dfd87
|
feat(middleware): 请求日志增强 — 记录请求参数 + 响应数据
- Query 参数:INFO 级别始终记录(所有环境生效)
- Request Body:INFO 级别始终记录(所有请求方式)
- 文件上传自动跳过,仅标记 [file upload]
- 敏感路径(登录/注册/改密码)自动脱敏 password 字段
- Body 超过 4KB 自动截断
- Response Body:DEBUG 级别记录正常响应,4xx/5xx 错误在 INFO 也记录
- 响应 Body 最大记录 2KB
- 状态码分级:5xx→ERROR / 4xx→WARN / 慢请求→WARN / 正常→INFO
Made-with: Cursor
|
2026-02-28 15:49:19 +08:00 |
|
bujinyuan
|
2d9bc10c6d
|
docs: 新增路由架构设计(模块自包含 + 主路由汇总)
- system-architecture.md: 3.2.1 路由架构(目录结构、调用关系、命名规范)
- system-architecture.md: 5.1 更新微服务预留规则(模块自包含路由)
- phase1 实施计划: Task 5 更新文件清单和步骤说明
Made-with: Cursor
|
2026-02-28 15:31:46 +08:00 |
|
bujinyuan
|
028cca8695
|
docs(config): 配置文件添加完整中文注释
Made-with: Cursor
|
2026-02-28 15:23:52 +08:00 |
|
bujinyuan
|
323232d875
|
docs: 同步更新日志系统文档(文件轮转 + 分级存储)
- system-architecture.md: 更新环境日志策略表,新增文件输出和轮转策略说明
- phase1 实施计划: 更新 LogConfig 结构体定义,补充 LogFileConfig
Made-with: Cursor
|
2026-02-28 15:18:20 +08:00 |
|
bujinyuan
|
63c6079667
|
feat(logs): 日志系统升级 — 文件轮转 + 分级存储
- 引入 lumberjack 实现日志文件自动轮转(按大小切割、保留数量、过期清理)
- app.log: 全量日志(JSON 格式),便于后期接入 ELK/Loki
- error.log: 仅 WARN 及以上级别,便于快速定位问题
- 控制台输出保持不变(彩色可读文本)
- 配置新增 log.file 节,支持 enable/dir/max_size/max_backups/max_age/compress
Made-with: Cursor
|
2026-02-28 15:15:00 +08:00 |
|
bujinyuan
|
327cb6308e
|
fix(infra): Redis 镜像更换为 redis:7,移除过时的 version 字段
Made-with: Cursor
|
2026-02-28 10:47:14 +08:00 |
|
bujinyuan
|
8a6576a2f7
|
feat(auth): 用户/角色模型与数据访问层
- constants: 用户状态、性别、角色代码常量定义
- model: User/Role/UserRole GORM 模型
- dao: UserDAO (CRUD + 账号查询) + RoleDAO (角色分配/查询/检查)
- provider: Auth 模块 Wire Provider Set
Made-with: Cursor
|
2026-02-28 10:42:34 +08:00 |
|
bujinyuan
|
c8ffbedf75
|
feat(backend): Go 服务骨架(配置、日志、数据库、中间件、Wire)
- config: Viper YAML 配置 + 环境变量覆盖
- logs: zap 结构化日志 + trace_id 链路追踪 + 敏感信息脱敏
- db: PostgreSQL (GORM) + Redis (go-redis) 连接管理
- middleware: Trace/Logger/CORS/Recovery 四层中间件
- provider: Wire 编译时依赖注入
- main.go: 优雅启动/关闭 HTTP 服务
Made-with: Cursor
|
2026-02-28 10:41:20 +08:00 |
|
bujinyuan
|
d81c5743f5
|
infra: Docker Compose 开发环境(PostgreSQL + Redis)
- docker-compose.dev.yml: PostgreSQL 17 + Redis 7 服务编排
- init.sql: auth 模块表结构 + 默认角色 + 超级管理员
- redis.conf: 开发环境 Redis 配置
- dev-setup.sh: 一键启动开发环境脚本
- .gitignore: 项目全局忽略规则
Made-with: Cursor
|
2026-02-28 10:36:38 +08:00 |
|
bujinyuan
|
37d206d556
|
docs: 添加 AGENTS.md 并更新 Phase1 实施计划
Made-with: Cursor
|
2026-02-28 10:33:34 +08:00 |
|
bujinyuan
|
7dc8a27c89
|
docs: 记录 RBAC 权限扩展规划
- 设计文档:在角色表后添加细粒度权限点扩展规划(预留表结构、权限点示例、中间件扩展方式)
- 架构文档:auth 模块说明标注当前粗粒度 + 预留扩展
当前 MVP 使用 3 角色(user/admin/super_admin),后期按需引入权限点机制。
Made-with: Cursor
|
2026-02-28 10:14:06 +08:00 |
|
bujinyuan
|
e6c969e232
|
docs: 数据库时间字段从 TIMESTAMPTZ 改为 TIMESTAMP
统一使用 TIMESTAMP(不带时区),直接存储 yyyy-MM-dd HH:mm:ss 格式,
无需时区转换,与 API 层时间格式完全一致。
Made-with: Cursor
|
2026-02-28 10:06:16 +08:00 |
|
bujinyuan
|
ee6a07ca64
|
docs: 日志时间格式去掉毫秒,统一到秒
日志示例中的时间从 yyyy-MM-dd HH:mm:ss.SSS 修正为 yyyy-MM-dd HH:mm:ss
Made-with: Cursor
|
2026-02-28 10:03:19 +08:00 |
|
bujinyuan
|
1e53df7539
|
docs: 文档一致性检查修复
- 架构文档日志格式示例时间改为亚洲格式 yyyy-MM-dd HH:mm:ss.SSS
- 实施计划日志格式示例同步修正
- 修复 Task 2 中 Step 编号重复(两个 Step 9 → Step 9/10/11)
Made-with: Cursor
|
2026-02-28 09:59:41 +08:00 |
|
bujinyuan
|
7dcd89c7fc
|
docs: API 文档按端+模块二级目录重组
- 前台用户端 API 迁移到 frontend/ 目录(auth/contact/im/meeting/notify)
- 后台管理端 admin.md 拆分为 admin/ 目录下 4 个文档(auth/user/meeting/system)
- WebSocket 协议保留在根目录(跨端通用)
- 更新 README 导航为两级结构,补充目录结构说明
- 更新所有文档间的交叉引用路径
Made-with: Cursor
|
2026-02-28 09:52:52 +08:00 |
|
bujinyuan
|
44fa5a3830
|
docs: 统一时间格式为亚洲友好的日期时间字符串
所有文档中的时间字段统一为 yyyy-MM-dd HH:mm:ss 格式(Asia/Shanghai):
- 移除 ISO 8601 格式(2026-02-27T10:00:00Z)
- 移除 Unix 时间戳(1740700000)
- 响应字段从 timestamp(int64) 改为 time(string)
- API README 新增「时间格式规范」章节
- 涉及 10 个文档文件
Made-with: Cursor
|
2026-02-28 09:47:42 +08:00 |
|
bujinyuan
|
8c4b40b407
|
docs: 补充全局代码规范、Wire 依赖注入和注释规范到实施计划
- 新增全局规范章节(Go/前端代码注释规范、日志规范、Wire 规范)
- Task 2 添加 Wire 初始化步骤和 Provider 文件
- Task 3 添加 Auth 模块 Wire Provider 创建步骤
- Task 4 添加 Service 层 Wire Provider 更新步骤
- Task 5 添加 Controller Provider 文件
Made-with: Cursor
|
2026-02-27 16:41:46 +08:00 |
|
bujinyuan
|
8bed227060
|
docs: 补充完善日志系统与链路追踪设计
- 架构文档新增第八节:日志系统与链路追踪设计
- Trace ID 全链路追踪(HTTP/WebSocket/跨服务)
- 日志级别规范(DEBUG/INFO/WARN/ERROR/FATAL)
- 结构化日志格式(开发文本/生产JSON)
- 函数级日志规范(入口/出口模式)
- WebSocket 日志追踪
- Go ↔ mediasoup Node 跨服务链路关联
- 敏感信息脱敏规则
- 前端错误上报机制
- 实施计划 Task 2 补充日志系统详细实现步骤
Made-with: Cursor
|
2026-02-27 16:36:57 +08:00 |
|
bujinyuan
|
8361275e70
|
docs: PostgreSQL 版本从 16 升级为 17
所有文档统一更新 PostgreSQL 版本号为 17,
17 版本已发布超过一年,足够稳定且性能更优。
Made-with: Cursor
|
2026-02-27 16:31:36 +08:00 |
|
bujinyuan
|
4458f40025
|
docs: 完善项目文档体系
- 数据库 SQL 所有字段添加 COMMENT 注释,枚举字段详细标注各值含义
- 新增 docs/architecture/ 系统架构文档(分层架构、数据流、演进路径)
- API 文档按模块拆分为 8 个独立文档(auth/contact/im/meeting/notify/admin/websocket)
- 补充 README.md 项目说明(技术栈、架构、快速开始、功能规划、文档导航)
Made-with: Cursor
|
2026-02-27 16:27:07 +08:00 |
|
bujinyuan
|
bed50841dc
|
feat:boke参考
|
2026-02-27 15:56:51 +08:00 |
|
bujinyuan
|
9dcac4a633
|
docs: 第一阶段实施计划(基础设施 + 用户体系)
包含 11 个 Task,从 Docker 环境搭建到 Go 服务骨架、
Auth 模块(Model/DAO/Service/Controller)、uniapp 前端骨架、
登录注册页面、TabBar 框架、Vue3 管理端搭建、用户管理模块。
Made-with: Cursor
|
2026-02-27 15:47:46 +08:00 |
|
bujinyuan
|
d8a10d7e98
|
docs: EchoChat 音视频会议直播系统整体设计方案
包含系统架构、项目结构、数据库设计、通信协议、API 设计、
前端页面结构、关键技术方案和开发分期规划。
Made-with: Cursor
|
2026-02-27 15:44:38 +08:00 |
|
bujinyuan
|
3070acda40
|
feat:大型音视频会议直播系统--项目代码初始化
|
2026-02-27 14:39:03 +08:00 |
|
卜锦元
|
b999bfb63e
|
Initial commit
|
2026-02-27 14:35:21 +08:00 |
|