bujinyuan
|
e9bd4dd204
|
fix: 时间精度精确到秒 + 同步全部文档到最新状态
时间字段修正:
- init.sql: 所有 TIMESTAMP 改为 TIMESTAMP(0),精确到秒
- GORM 模型: 所有时间字段添加 type:timestamp(0) tag
- 已有数据库表通过 ALTER TABLE 修正列类型
文档同步(架构设计 + 实施步骤):
- system-architecture.md:
- auth 模块描述更新为"有状态 JWT Token 管理(Redis 存储)"
- 开发环境端口 8080 → 8085
- phase1-foundation-and-auth.md:
- Go 版本 1.22+ → 1.23+
- 常量命名更新为驼峰风格(UserStatusActive / RoleUser 等)
- Task 4 完整重写:增加 token_store.go、TokenValidator 接口、有状态 JWT
- Task 5 端口号 8080 → 8085,测试命令增加登出失效验证
- 依赖版本选择原则说明
Made-with: Cursor
|
2026-02-28 17:04:47 +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
|
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 |
|