📖 关于项目

Vue Pure Admin + NestJS 全栈快速开发平台

📌 项目简介

Vue Pure Admin + NestJS 是一个 企业级前后端分离快速开发平台,前端基于 Vue 3 + Vite + Element Plus,后端基于 NestJS 11 + TypeORM + MySQL + Redis

提供完整的 RBAC 权限控制字典管理操作日志国际化限流防护结构化日志 等功能,帮助开发者快速搭建企业级中后台应用。

✨ 核心特性

🎯 现代化技术栈

Vue 3 + Vite 6 + NestJS 11 + TypeScript 5.7,全链路类型安全

🔐 RBAC 权限控制

用户 → 角色 → 菜单 三级模型,支持按钮级权限指令

🔑 JWT 双 Token 认证

accessToken (7d) + refreshToken,自动续期,Passport 策略

🛡️ 多层安全防护

Helmet 安全头、CORS 白名单、全局限流 (Throttler, 60次/60s)

📊 结构化日志

Pino 高性能日志,统一 traceId,异常过滤,开发环境美化输出

⚡ Redis 缓存

ioredis 集成,支持缓存、黑名单、分布式锁等场景

🌍 国际化

内置中/英文多语言支持,轻松切换

📦 字典管理

动态字典类型 + 字典数据,支持缓存刷新

📝 操作日志

基于装饰器的 @OperLog 注解,自动记录增删改操作

📄 Swagger 文档

OpenAPI 3.0 在线 API 文档,Bearer Auth,即开即用

🐳 Docker 就绪

MySQL、Redis 已容器化,支持 Docker Compose 一键部署

🔌 模块化架构

10 个独立业务模块,清晰的分层结构,易扩展易维护

🚀 快速开始

环境要求

• Node.js 22.22 LTS

• pnpm 10.x 或 npm 10.x

• Docker Desktop(运行 MySQL + Redis)

1. 启动基础设施 (Docker Compose)

# 一行命令启动 MySQL + Redis(无需分别 run) docker compose up -d

2. 一键初始化数据库

# TypeORM 自动建表(synchronize) pnpm run start:dev # 写入种子数据(角色、菜单、管理员账号) node scripts/seed.js

3. 启动后端服务

安装依赖
pnpm install
配置环境变量 (.env)
PORT=3001 NODE_ENV=development DB_TYPE=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=root DB_PASSWORD=root DB_NAME=vue_pure_admin REDIS_HOST=127.0.0.1 REDIS_PORT=6379 JWT_SECRET=vue-pure-admin-secret-key-2026
启动开发服务器
pnpm start:dev

4. 访问服务

页面地址说明
项目首页http://localhost:3001/Handlebars 渲染
API 文档http://localhost:3001/api-docsSwagger UI
前端应用http://localhost:8848Vue 3 SPA

🔌 API 接口概览

方法路径模块说明
POST/api/auth/login认证用户登录,返回双 JWT
POST/api/auth/refresh认证刷新 accessToken
GETPOST/api/user/*用户列表/详情/新增/更新/删除
GETPOST/api/role/*角色列表/新增/更新/删除 + 分配菜单
GETPOST/api/menu/*菜单菜单树 + 按钮权限
GETPOST/api/dept/*部门部门树管理
GETPOST/api/dict/*字典字典类型 + 数据管理
GETPOST/api/log/*日志操作日志查询 / 清空
GETPOST/api/mine/*我的个人信息修改 / 密码重置
← 返回首页