cursor-init/tasks/archive/20250627-tasks-prd-项目初始化.md
expressgy 2ee70e5d42 feat: 完成健康检查接口和Swagger文档完善
 健康检查功能:
- 实现完整的健康检查接口(/api/health, /api/health/detailed)
- 支持MySQL和Redis依赖状态检查
- 包含系统信息、性能指标监控
- 修复this上下文问题,确保服务方法正常调用
- 添加全面的健康检查测试用例

📝 Swagger文档优化:
- 创建全局响应Schema定义和错误码说明
- 完善API文档,包含详细的错误码表格
- 添加JWT认证说明和响应格式示例
- 增加全局组件、响应模板和示例
- 创建Swagger文档功能测试

🎯 任务完成:
-  5.0 健康检查接口 - 实现系统和依赖健康状态监控
-  7.0 Swagger文档完善 - 增加全局响应示例和错误码说明

📁 新增文件:
- src/controllers/health.controller.ts - 健康检查控制器
- src/services/health.service.ts - 健康检查服务层
- src/type/health.type.ts - 健康检查类型定义
- src/validators/health.response.ts - 健康检查响应验证
- src/validators/global.response.ts - 全局响应Schema定义
- src/tests/health.test.ts - 健康检查功能测试
- src/tests/redis.test.ts - Redis连接测试
- src/tests/swagger.test.ts - Swagger文档功能测试
2025-06-28 22:09:02 +08:00

65 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 相关文件 (Relevant Files)
- `src/app.ts` - 应用主入口负责Elysia实例初始化和全局插件注册。
- `src/controllers/` - 路由与业务入口目录。
- `src/services/` - 业务逻辑实现目录。
- `src/models/` - 数据模型与类型定义目录。
- `src/middlewares/` - 中间件实现目录。
- `src/plugins/` - Elysia插件扩展目录。
- `src/utils/` - 工具函数目录。
- `src/validators/` - 参数校验规则目录。
- `src/config/` - 配置文件目录。
- `src/type/` - 类型定义文件目录。
- `tests/` - 测试用例目录。
- `public/` - 静态资源目录。
- `.env` - 环境变量配置文件。
- `bun.lockb` - Bun依赖锁定文件。
- `package.json` - 项目依赖与脚本配置。
- `README.md` - 项目说明文档。
- `.git/` - Git版本控制目录跟踪项目历史和协作。
- `.gitignore` - Git忽略文件排除不需纳入版本控制的内容。
- `tsconfig.json` - TypeScript配置文件。
### 备注 (Notes)
- 单元测试通常应放置在与它们测试的代码文件相同的目录中(例如:在同一目录下的 `MyService.ts``MyService.test.ts`)。
## 任务 (Tasks)
- [ ] 1.0 初始化Bun.js + Elysia + TypeScript项目结构
- [x] 1.1 初始化git仓库配置.gitignore
- [x] 1.2 使用Bun初始化项目创建`package.json`和`bun.lockb`
- [x] 1.3 配置TypeScript支持生成`tsconfig.json`
- [x] 1.4 按照规范创建`src/`及各子目录controllers、services、models等
- [x] 1.5 创建`src/app.ts`作为应用入口初始化Elysia实例
- [x] 1.6 创建`.env`和`README.md`基础文件
- [x] 1.7 在所有源文件添加文件头注释模板
- [ ] 2.0 集成MySQL数据库支持
- [x] 2.1 选择并安装MySQL驱动如`bun-mysql`或`mysql2`
- [x] 2.2 在`src/config/`中编写数据库配置文件,支持环境变量
- [x] 2.3 在`src/models/`中定义基础数据模型
- [x] 2.4 编写数据库连接工具或服务,支持连接池
- [x] 2.5 实现数据库连接测试脚本
- [ ] 3.0 集成JWT认证与基础登录接口
- [x] 3.1 安装`@elysiajs/jwt`插件
- [x] 3.2 在`src/plugins/`中封装JWT插件配置
- [x] 3.3 在`src/controllers/`中实现基础登录接口(如`/api/login`
- [x] 3.4 在`src/middlewares/`中实现JWT校验中间件
- [x] 3.5 提供一个带JWT保护的示例接口
- [x] 3.6 集成控制器并测试主应用
- [ ] 4.0 集成Swagger API文档自动生成
- [x] 4.1 安装`@elysiajs/swagger`插件
- [x] 4.2 在`src/plugins/`中封装Swagger插件配置
- [x] 4.3 为所有接口补充Swagger注解完善参数/返回/错误码描述
- [x] 4.4 验证Swagger UI可正常访问并展示所有接口
- [ ] 5.0 配置Vitest测试、ESLint、Prettier及CI/CD工具链
- [x] 5.1 安装并配置Vitest编写基础单元测试和接口测试
- [x] 5.2 安装并配置ESLint含TypeScript规则
- [x] 5.3 安装并配置Prettier统一代码风格
- [x] 5.4 配置Git钩子或CI自动检查代码规范
- [x] 5.5 编写GitHub Actions等CI/CD示例配置