Files
hs-end/doc/TASK003-基础配置和公共组件.md

43 lines
2.3 KiB
Markdown
Raw Normal View History

2025-08-25 16:01:26 +08:00
# TASK003 - 基础配置和公共组件
## 任务信息
- **任务编号**: TASK003
- **任务名称**: 基础配置和公共组件
- **版本**: V1.0
- **状态**: ✅ 完成
## 任务描述
实现项目的基础配置和公共组件包括统一响应格式、全局异常处理、请求参数验证、跨域配置、JWT工具类、Redis配置等公共功能模块。
## 验收标准清单
- [x] 创建统一响应格式类ApiResponse - 完成,支持成功/失败响应和各种错误类型
- [x] 实现全局异常处理器GlobalExceptionHandler - 完成,覆盖所有异常类型和错误码
- [x] 配置参数验证注解和自定义验证器 - 完成,包括@ValidEmail@ValidPassword等
- [x] 实现JWT工具类生成、验证、解析token - 完成支持token生成、验证、黑名单机制
- [x] 配置Redis连接和序列化器 - 完成,包括缓存管理器和序列化配置
- [x] 创建通用工具类(时间处理、字符串工具、加密工具等) - 完成TimeUtil、StringUtil、CryptoUtil
- [x] 实现自定义注解(如@RequireAuth用于权限验证 - 完成@RequireAuth@RequestLog@RateLimit等
- [x] 配置Web MVC相关设置 - 完成CORS、静态资源、拦截器配置
- [x] 创建常量类和枚举类 - 完成Constants、ErrorCode枚举
- [x] 实现分页工具类 - 完成PageUtil支持分页查询和响应转换
## 注意事项
1. ApiResponse格式需严格按照API文档中的统一响应格式error、body、message、success字段
2. 异常处理需要覆盖所有API文档中定义的错误码1001-5002
3. JWT工具类需要支持token生成、验证、刷新和黑名单机制
4. 参数验证需要支持邮箱格式、密码强度、文件大小等自定义规则
5. Redis配置需要支持session存储和缓存功能
6. 工具类方法需要线程安全
7. 时间处理统一使用时间戳格式
8. 密码加密使用BCrypt算法
9. 文件上传需要支持类型验证和大小限制
10. 异常信息不应暴露敏感的系统内部信息
11. 添加请求日志记录功能
12. 配置合理的超时时间和重试机制
## 相关文件
- src/main/java/com/lxy/hsend/common/
- src/main/java/com/lxy/hsend/config/
- src/main/java/com/lxy/hsend/util/
- src/main/java/com/lxy/hsend/exception/
- src/main/java/com/lxy/hsend/annotation/