From 89623306c3b2ef2244a50c9a7c72c30f5f655233 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Fri, 27 Feb 2026 17:11:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ 新增功能: 1. 用户认证数据库模型 - AuthToken (认证令牌) - LoginAttempt (登录尝试记录) - PasswordReset (密码重置) - Session (用户会话) 2. 认证服务 (AuthService) - 用户登录/注册 - 令牌刷新 - 密码重置 - 会话管理 3. JWT管理器 - 访问令牌生成/验证 - 刷新令牌管理 - 密码重置令牌 - API令牌支持 🔒 安全特性: - bcrypt密码加密 - JWT令牌验证 - 登录尝试记录 - 会话管理 - 令牌撤销机制 📝 技术实现: - 使用GORM进行数据库操作 - JWT v5进行令牌管理 - 完整的错误处理 - 详细的日志记录 作者:小弟 (大哥的AI助手) 分支:feature/user-authentication --- GIT_FLOW.md | 255 +++++++++++++ backend/internal/models/auth.go | 114 ++++++ backend/internal/services/auth_service.go | 425 ++++++++++++++++++++++ backend/pkg/jwt/jwt_manager.go | 249 +++++++++++++ 4 files changed, 1043 insertions(+) create mode 100644 GIT_FLOW.md create mode 100644 backend/internal/models/auth.go create mode 100644 backend/internal/services/auth_service.go create mode 100644 backend/pkg/jwt/jwt_manager.go diff --git a/GIT_FLOW.md b/GIT_FLOW.md new file mode 100644 index 0000000..8c40b58 --- /dev/null +++ b/GIT_FLOW.md @@ -0,0 +1,255 @@ +# Git Flow 工作流规范 + +## 📋 分支策略 + +### 主要分支 +- **`main`** - 生产环境代码,只接受`release/*`和`hotfix/*`的合并 +- **`develop`** - 开发分支,所有功能开发的基础分支 + +### 支持分支 +- **`feature/*`** - 功能分支,从`develop`创建,完成后合并回`develop` +- **`release/*`** - 发布分支,从`develop`创建,用于版本发布 +- **`hotfix/*`** - 热修复分支,从`main`创建,紧急修复生产问题 + +## 🚀 工作流程 + +### 1. 功能开发流程 +```bash +# 1. 从develop创建功能分支 +git checkout develop +git pull origin develop +git checkout -b feature/user-authentication + +# 2. 开发功能并提交 +git add . +git commit -m "feat: 实现用户认证功能" +git push origin feature/user-authentication + +# 3. 开发完成后合并到develop +git checkout develop +git pull origin develop +git merge --no-ff feature/user-authentication + +# 4. 推送到远程develop +git push origin develop + +# 5. 删除功能分支 +git branch -d feature/user-authentication +git push origin --delete feature/user-authentication +``` + +### 2. 发布流程 +```bash +# 1. 从develop创建发布分支 +git checkout develop +git checkout -b release/v1.0.0 + +# 2. 进行发布准备(版本号、文档等) +# 3. 合并到main和develop +git checkout main +git merge --no-ff release/v1.0.0 +git tag -a v1.0.0 -m "Release v1.0.0" + +git checkout develop +git merge --no-ff release/v1.0.0 + +# 4. 推送到远程 +git push origin main --tags +git push origin develop + +# 5. 删除发布分支 +git branch -d release/v1.0.0 +git push origin --delete release/v1.0.0 +``` + +### 3. 热修复流程 +```bash +# 1. 从main创建热修复分支 +git checkout main +git checkout -b hotfix/critical-bug + +# 2. 修复问题并提交 +git add . +git commit -m "fix: 修复关键bug" +git push origin hotfix/critical-bug + +# 3. 合并到main和develop +git checkout main +git merge --no-ff hotfix/critical-bug +git tag -a v1.0.1 -m "Hotfix v1.0.1" + +git checkout develop +git merge --no-ff hotfix/critical-bug + +# 4. 推送到远程 +git push origin main --tags +git push origin develop + +# 5. 删除热修复分支 +git branch -d hotfix/critical-bug +git push origin --delete hotfix/critical-bug +``` + +## 📝 提交规范 + +### 提交消息格式 +``` +: + + + +