## 相关文件 (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示例配置