# bigweb **Repository Path**: flygoa/big ## Basic Information - **Project Name**: bigweb - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Vue3 + NestJS 管理后台系统 一个基于 Vue3 + Vite + Pinia + Element Plus + NestJS + Prisma + MySQL 的企业级管理后台系统。 ## 技术栈 ### 前端 - **Vue 3** - 渐进式 JavaScript 框架 - **Vite** - 下一代前端构建工具 - **TypeScript** - 类型安全的 JavaScript - **Pinia** - Vue 官方推荐的状态管理方案 - **Vue Router** - Vue.js 官方路由管理器 - **Element Plus** - 基于 Vue 3 的组件库 - **Axios** - HTTP 客户端 ### 后端 - **NestJS** - 渐进式 Node.js 框架 - **TypeScript** - 类型安全的 JavaScript - **Prisma** - 下一代 ORM - **MySQL** - 关系型数据库 - **JWT** - JSON Web Token 认证 - **Passport** - 身份验证中间件 - **Swagger** - API 文档 - **Winston** - 日志记录 ## 项目结构 ``` bigweb/ ├── backend/ # NestJS 后端 │ ├── prisma/ │ │ ├── schema.prisma # 数据库模型定义 │ │ └── seed.ts # 种子数据 │ ├── src/ │ │ ├── modules/ # 业务模块 │ │ │ ├── auth/ # 认证模块 │ │ │ ├── user/ # 用户模块 │ │ │ ├── role/ # 角色模块 │ │ │ └── permission/ # 权限模块 │ │ ├── common/ # 公共工具 │ │ │ ├── filters/ # 异常过滤器 │ │ │ ├── interceptors/ # 拦截器 │ │ │ ├── logger/ # 日志服务 │ │ │ └── prisma/ # Prisma 服务 │ │ ├── app.module.ts # 根模块 │ │ └── main.ts # 入口文件 │ ├── .env.example # 环境变量示例 │ ├── Dockerfile # Docker 配置 │ └── package.json │ └── frontend/ # Vue3 前端 ├── src/ │ ├── api/ # API 接口 │ ├── components/ # 公共组件 │ ├── layout/ # 布局组件 │ ├── router/ # 路由配置 │ ├── store/ # Pinia 状态管理 │ ├── views/ # 页面视图 │ ├── utils/ # 工具函数 │ └── types/ # 类型定义 ├── .env.example # 环境变量示例 └── package.json ``` ## 功能特性 - 用户管理(CRUD) - 角色管理(RBAC 权限控制) - JWT 认证与授权 - 动态路由与菜单 - 权限指令(v-permission) - 统一响应格式 - Swagger API 文档 - 日志记录 - Docker 支持 ## 快速开始 ### 环境要求 - Node.js >= 18 - MySQL >= 8.0 - npm 或 yarn ### 1. 克隆项目 ```bash git clone cd bigweb ``` ### 2. 配置数据库 创建 MySQL 数据库: ```sql CREATE DATABASE admin_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` ### 3. 启动后端服务 ```bash # 进入后端目录 cd backend # 安装依赖 npm install # 配置环境变量 cp .env.example .env # 编辑 .env 文件,修改数据库连接信息 # 执行数据库迁移 npx prisma migrate dev --name init # 初始化种子数据 npx prisma db seed # 启动开发服务器 npm run start:dev ``` 后端服务默认运行在 http://localhost:3000 API 文档地址:http://localhost:3000/api/docs ### 4. 启动前端服务 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install # 配置环境变量 cp .env.example .env # 启动开发服务器 npm run dev ``` 前端服务默认运行在 http://localhost:5173 ### 5. 登录系统 打开浏览器访问 http://localhost:5173 默认账号: - 超级管理员:admin / admin123 - 普通用户:user / user123 ## 后端常用命令 ```bash # 开发模式启动 npm run start:dev # 生产模式构建 npm run build # 生产模式启动 npm run start:prod # 执行数据库迁移 npm run prisma:migrate # 生成 Prisma 客户端 npm run prisma:generate # 打开 Prisma Studio(数据库 GUI) npm run prisma:studio # 重置数据库并重新种子 npm run db:reset ``` ## 前端常用命令 ```bash # 启动开发服务器 npm run dev # 生产构建 npm run build # 预览生产构建 npm run preview # 代码检查 npm run lint # 代码格式化 npm run format ``` ## Docker 部署 ### 构建后端镜像 ```bash cd backend docker build -t admin-backend . ``` ### 运行容器 ```bash docker run -p 3000:3000 --env-file .env admin-backend ``` ## 数据库模型 ### User(用户) - id: 主键 - username: 用户名(唯一) - password: 密码(加密存储) - nickname: 昵称 - email: 邮箱 - phone: 手机号 - avatar: 头像 - status: 状态(1-启用,0-禁用) - roleId: 角色ID ### Role(角色) - id: 主键 - name: 角色名称 - code: 角色编码(唯一) - description: 描述 - status: 状态 ### Permission(权限) - id: 主键 - name: 权限名称 - code: 权限编码(唯一) - type: 类型(menu/button/api) - path: 路径 - method: HTTP 方法 - parentId: 父权限ID ## API 响应格式 ### 成功响应 ```json { "code": 200, "message": "操作成功", "data": {}, "timestamp": "2024-01-01T00:00:00.000Z" } ``` ### 错误响应 ```json { "code": 400, "message": "错误信息", "data": null, "timestamp": "2024-01-01T00:00:00.000Z", "path": "/api/xxx" } ``` ## 贡献指南 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/xxx`) 3. 提交更改 (`git commit -am 'Add some feature'`) 4. 推送到分支 (`git push origin feature/xxx`) 5. 创建 Pull Request ## 许可证 [MIT](LICENSE)