Skip to content

项目介绍

Nest Vue Admin 是一款基于现代技术栈构建的企业级全栈后台管理系统,融合了 NestJS、Vue3、Element Plus 和 Prisma 等前沿技术,为开发者提供高效、稳定、可扩展的后台解决方案。

技术栈

后端

技术版本说明
NestJS11.x渐进式 Node.js 框架
Prisma6.x下一代 ORM
MySQL5.7+关系型数据库
Redis-缓存中间件
Passport-JWT 认证
Swagger-API 文档自动生成
Winston-日志管理

前端

技术版本说明
Vue 33.5+渐进式前端框架
Element Plus2.xUI 组件库
Pinia3.x状态管理
Vue Router4.x路由管理
Axios-HTTP 请求库
Tailwind CSS4.x原子化 CSS

核心特性

代码生成器

拒绝重复造轮子。内置强大的 CRUD 代码生成器,只需定义数据模型,即可一键生成前后端全套代码:

  • Prisma Model
  • NestJS Controller / Service / DTO
  • Vue3 页面组件(列表、表单、详情)

动态路由引擎

后端控制菜单结构,权限驱动路由加载:

  • 根据用户角色动态加载菜单
  • 支持多级菜单和外部链接
  • 菜单与权限深度绑定

RBAC 权限系统

基于角色的访问控制,精确到按钮级别:

  • 用户 ←→ 角色 ←→ 菜单/按钮 多对多关系
  • 后端 Guard + @RequirePermissions 装饰器
  • 前端 v-auth 指令控制按钮显隐

完整的系统管理

开箱即用的后台管理功能:

  • 用户管理 — 用户 CRUD、部门筛选、数据导出
  • 角色管理 — 角色分配、权限绑定
  • 菜单管理 — 树形结构、图标选择、路由配置
  • 部门管理 — 组织架构树、层级管理
  • 岗位管理 — 职位 CRUD、批量操作
  • 字典管理 — 枚举数据统一管理
  • 通知公告 — 系统公告发布与已读追踪

智能日志系统

  • 操作日志:自动记录用户操作行为
  • 登录日志:追踪登录 IP、浏览器、设备信息
  • 支持日志导出和清理

文件上传

  • 支持本地存储和阿里云 OSS
  • 文件管理和标签系统
  • 拖拽上传、进度展示

消息中心

  • 通知公告聚合
  • 待办任务管理
  • 未读消息计数

项目结构

项目采用 Monorepo 架构,使用 pnpm workspace 管理:

nest-vue-admin/
├── apps/
│   ├── server/          # NestJS 后端
│   │   ├── prisma/      # Prisma Schema 和迁移
│   │   └── src/
│   │       ├── auth/    # 认证模块
│   │       ├── sys/     # 系统管理模块
│   │       ├── tool/    # 工具模块
│   │       ├── upload/  # 文件上传模块
│   │       ├── monitor/ # 监控模块
│   │       └── common/  # 公共模块(守卫、拦截器、装饰器等)
│   └── web/             # Vue3 前端
│       └── src/
│           ├── api/     # API 请求
│           ├── components/ # 公共组件
│           ├── composables/ # 组合式函数
│           ├── directives/ # 自定义指令
│           ├── hooks/    # 自定义 Hook
│           ├── router/   # 路由配置
│           ├── stores/   # Pinia 状态管理
│           ├── types/    # TypeScript 类型
│           ├── utils/    # 工具函数
│           └── views/    # 页面组件
├── package.json
└── pnpm-workspace.yaml

访问地址

GitHub:https://github.com/weips001/nest-vue-admin