✅ 健康检查功能: - 实现完整的健康检查接口(/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文档功能测试
65 lines
3.1 KiB
Markdown
65 lines
3.1 KiB
Markdown
## 相关文件 (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示例配置
|