# koatest **Repository Path**: StarChaserZ/koatest ## Basic Information - **Project Name**: koatest - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-06 - **Last Updated**: 2026-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KoaTest - Koa.js 后端项目 ## 项目简介 KoaTest 是一个基于 Koa.js 框架构建的后端管理系统,提供完整的用户认证、角色管理和动态表格数据功能。 ## 技术栈 - **后端框架**: Koa.js - **数据库**: SQLite + Sequelize ORM - **认证**: JWT (JSON Web Token) - **密码加密**: bcrypt ## 项目结构 ``` src/ ├── app.js # 应用入口 ├── controller/ # 控制器层 │ ├── auth.controller.js # 认证控制器 │ ├── tableColumn.controller.js # 表格列控制器 │ └── user.controller.js # 用户控制器 ├── middleware/ # 中间件 │ ├── auth.js # JWT认证中间件 │ └── error.middleware.js # 错误处理中间件 ├── model/ # 数据模型 │ ├── index.js # 模型索引 │ ├── user.model.js # 用户模型 │ ├── role.model.js # 角色模型 │ ├── tableColumn.model.js # 表格列模型 │ ├── TableRowData.model.js # 表格行数据模型 │ ├── userRole.model.js # 用户角色关联模型 │ └── userTableColumnOrder.model.js # 用户表格列顺序模型 ├── routes/ # 路由定义 │ ├── index.js # 路由入口 │ ├── auth.routes.js # 认证路由 │ ├── user.routes.js # 用户路由 │ ├── role.routes.js # 角色路由 │ └── tableColumn.routes.js # 表格列路由 └── db/ └── index.js # 数据库连接 utils/ ├── loadRoutes.js # 路由自动加载工具 └── role.js # 角色初始化工具 ``` ## 主要功能 ### 1. 用户认证 - 用户登录 - JWT Token 认证 - 密码加密存储 ### 2. 用户管理 - 用户列表查询 - 创建用户 - 分配角色 ### 3. 角色管理 - 角色定义 - 权限控制 ### 4. 动态表格管理 - 表格列的增删改查 - 表格行数据的增删改查 - 用户自定义列显示顺序 ## 数据库模型 ### User (用户) - id - username - password - 关联角色 ### Role (角色) - id - name - 关联用户 ### TableColumn (表格列) - id - name - 关联表格 ### TableRowData (表格行数据) - id - data - 关联表格列 ### UserRole (用户角色关联) - userId - roleId ### UserTableColumnOrder (用户列顺序) - userId - columnId - order ## 安装与运行 ### 环境要求 - Node.js >= 12 - npm 或 yarn ### 安装依赖 ```bash npm install ``` ### 启动项目 ```bash # 开发模式启动 (支持热重载) npm run dev # 生产模式启动 npm start ``` ## API 接口 ### 认证模块 - `POST /auth/login` - 用户登录 ### 用户模块 - `GET /users` - 获取用户列表 - `POST /users` - 创建用户 ### 角色模块 - 相关路由定义 ### 表格列模块 - `GET /table-columns` - 获取列列表 - `POST /table-columns` - 创建列 - `POST /table-columns/batch` - 批量创建列 - `PUT /table-columns/:id` - 更新列 - `DELETE /table-columns/:id` - 删除列 - `PUT /table-columns/order/save` - 保存列顺序 ## 中间件 ### jwtMiddleware JWT 认证中间件,用于保护需要登录的路由。 ### checkRole 角色权限检查中间件,用于控制用户访问权限。 ### errorMiddleware 全局错误处理中间件,统一处理程序中的错误。 ## 工具函数 ### loadRoutes 自动加载路由目录下的所有路由文件,简化路由注册。 ### initRoles 初始化系统默认角色。 ## 许可证 本项目遵循 MIT 许可证。 ## 贡献 欢迎提交 Issue 和 Pull Request。