lan
|
e05ba3b041
|
feat: Service层接口化
新增Service接口定义(internal/service/interfaces.go):
- UserService: 用户认证、查询、更新等接口
- ProfileService: 档案CRUD、状态管理接口
- TextureService: 材质管理、收藏功能接口
- TokenService: 令牌生命周期管理接口
- VerificationService: 验证码服务接口
- CaptchaService: 滑动验证码接口
- UploadService: 上传服务接口
- YggdrasilService: Yggdrasil API接口
新增Service实现:
- user_service_impl.go: 用户服务实现
- profile_service_impl.go: 档案服务实现
- texture_service_impl.go: 材质服务实现
- token_service_impl.go: 令牌服务实现
更新Container:
- 添加Service层字段
- 初始化Service实例
- 添加With*Service选项函数
遵循Go最佳实践:
- 接口定义与实现分离
- 依赖通过构造函数注入
- 便于单元测试mock
|
2025-12-02 17:50:52 +08:00 |
|
lan
|
ffdc3e3e6b
|
feat: 完善依赖注入改造
完成所有Handler的依赖注入改造:
- AuthHandler: 认证相关功能
- UserHandler: 用户管理功能
- TextureHandler: 材质管理功能
- ProfileHandler: 档案管理功能
- CaptchaHandler: 验证码功能
- YggdrasilHandler: Yggdrasil API功能
新增错误类型定义:
- internal/errors/errors.go: 统一的错误类型和工厂函数
更新main.go:
- 使用container.NewContainer创建依赖容器
- 使用handler.RegisterRoutesWithDI注册路由
代码遵循Go最佳实践:
- 依赖通过构造函数注入
- Handler通过结构体方法实现
- 统一的错误处理模式
- 清晰的分层架构
|
2025-12-02 17:46:00 +08:00 |
|
lan
|
f7589ebbb8
|
feat: 引入依赖注入模式
- 创建Repository接口定义(UserRepository、ProfileRepository、TextureRepository等)
- 创建Repository接口实现
- 创建依赖注入容器(container.Container)
- 改造Handler层使用依赖注入(AuthHandler、UserHandler、TextureHandler)
- 创建新的路由注册方式(RegisterRoutesWithDI)
- 提供main.go示例文件展示如何使用依赖注入
同时包含之前的安全修复:
- CORS配置安全加固
- 头像URL验证安全修复
- JWT algorithm confusion漏洞修复
- Recovery中间件增强
- 敏感错误信息泄露修复
- 类型断言安全修复
|
2025-12-02 17:40:39 +08:00 |
|
lan
|
23be1c563d
|
refactor: 移除不必要的配置依赖,简化上传URL生成逻辑并添加公开访问URL支持
|
2025-12-02 11:22:14 +08:00 |
|
lan
|
13bab28926
|
feat: 增加登录和验证码验证失败次数限制,添加账号锁定机制
SonarQube Analysis / sonarqube (push) Has been cancelled
|
2025-12-02 10:38:25 +08:00 |
|
lan
|
10fdcd916b
|
feat: 添加种子数据初始化功能,重构多个处理程序以简化错误响应和用户验证
|
2025-12-02 10:33:19 +08:00 |
|
lafay
|
bdd2be5dc5
|
refactor: update user serialization in Yggdrasil handler to use SerializeUser for improved properties handling
SonarQube Analysis / sonarqube (push) Has been cancelled
|
2025-11-30 19:00:59 +08:00 |
|
lafay
|
4188ee1555
|
feat: 添加Yggdrasil密码重置功能,更新依赖和配置
|
2025-11-30 18:56:56 +08:00 |
|
lan
|
4b4980820f
|
chore: 初始化仓库,排除二进制文件和覆盖率文件
SonarQube Analysis / sonarqube (push) Has been cancelled
Test / test (push) Has been cancelled
Test / lint (push) Has been cancelled
Test / build (push) Has been cancelled
|
2025-11-28 23:30:49 +08:00 |
|