# nestjs_admin **Repository Path**: 705348563/nestjs_admin ## Basic Information - **Project Name**: nestjs_admin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-26 - **Last Updated**: 2026-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NestJS Admin 一个基于 NestJS 的企业级后台管理系统,采用前后端分离架构。 ## 项目结构 ``` nestjs_admin/ ├── admin_server/ # 后端服务 (NestJS) ├── teek-design-vue3/ # 前端界面 (Vue 3) ├── docker-compose.yml # Docker 环境配置 └── CLAUDE.md # 项目开发文档 ``` ## 技术栈 ### 后端 (admin_server) - **框架**: NestJS 10 - **ORM**: TypeORM - **数据库**: MySQL 8 - **缓存**: Redis - **队列**: Bull (定时任务) - **文档**: Swagger - **认证**: JWT + Passport - **包管理**: yarn@4.5.2 ### 前端 (teek-design-vue3) - **框架**: Vue 3 - **UI 库**: Element UI - **状态管理**: Pinia - **路由**: Vue Router - **HTTP**: Axios ## 快速开始 ### 1. 启动 Docker 环境 ```bash # 启动 MySQL + Redis + phpMyAdmin docker-compose up -d # 访问 phpMyAdmin: http://localhost:8080 # 导入数据库: admin_server/init.sql → meimei 数据库 ``` ### 2. 启动后端服务 ```bash cd admin_server yarn install yarn dev # 端口 3003 ``` Swagger 文档: http://localhost:3003/swagger-ui/ ### 3. 启动前端服务 ```bash cd teek-design-vue3 yarn install yarn dev ``` ## 核心功能 - **用户管理**: 用户配置、部门管理、岗位管理 - **权限管理**: 角色权限、菜单权限、数据权限 - **系统管理**: 字典管理、参数配置、通知公告 - **日志管理**: 操作日志、登录日志 - **系统监控**: 在线用户、服务监控、系统接口 - **定时任务**: 基于 Bull 队列的任务调度 ## 系统架构 ### 权限控制 ``` 请求 → JWT认证 → 角色验证 → 功能权限 → 数据权限 → 业务处理 ``` - **认证**: JWT Token (有效期 7 天) - **授权**: 三层权限控制 (角色/功能/数据) - **数据权限**: 支持 5 种数据范围 ### 拦截器链 1. **LogInterceptor**: 请求日志记录 2. **OperationLogInterceptor**: 操作日志记录 3. **ReponseTransformInterceptor**: 响应格式转换 4. **DataScopeInterceptor**: 数据权限 SQL 注入 ## 开发文档 详细的开发文档请查看 [CLAUDE.md](./CLAUDE.md),包含: - 认证授权机制 - 装饰器使用指南 - Redis 缓存策略 - 定时任务系统 - 数据权限实现 - 开发注意事项 ## 环境配置 ### 开发环境 后端配置: `admin_server/.env.development` ```env # 服务端口 SERVER_PORT=3003 # 数据库 DB_HOST=localhost DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=root DB_DATABASE=meimei # Redis REDIS_HOST=localhost REDIS_PORT=6379 ``` ### 生产环境 后端配置: `admin_server/.env.production` ```env NODE_ENV=production SERVER_PORT=13000 # ... 其他配置 ``` ## 部署 ### 后端部署 ```bash cd admin_server yarn build yarn start:prod ``` ### 前端部署 ```bash cd teek-design-vue3 yarn build # 生成的 dist 目录部署到 Nginx ``` ### Nginx 配置 ```nginx # API 反向代理 location /prod-api/ { proxy_pass http://localhost:13000/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 前端路由支持 location / { try_files $uri $uri/ /index.html; } ``` ## 常用命令 ### 后端 ```bash yarn dev # 开发模式 yarn build # 构建 yarn start:prod # 生产模式 yarn lint # 代码检查 yarn format # 代码格式化 yarn test # 运行测试 ``` ### Docker ```bash docker-compose up -d # 启动环境 docker-compose down # 停止环境 docker-compose down -v # 停止并删除数据 ``` ## 许可证 MIT License