Skip to content

简介 ​

NestJS Admin Template 是一套基于 Vue 3 + NestJS 11 全 TypeScript 技术栈的中后台管理系统模板,权限模型完整落地,容器化开箱可用。

前端 Vue 3 + TypeScript + Element Plus + Vite 8,后端 NestJS 11 + TypeORM + MySQL + Redis + BullMQ。除登录鉴权外,还完整实现了用户、角色、菜单、部门、字典、日志、缓存、定时任务、在线用户等中后台标配功能。

前后端放在同一个仓库的两个独立工程中(admin/ 与 server/),不是 monorepo——根目录没有 package.json,两个工程各自 pnpm install,互不干扰,可以单独构建、单独部署。

资源地址 ​

项目地址
源码仓库https://github.com/Ace627/nestjs-admin-template
源码仓库https://gitee.com/decade9527/nestjs-admin-template
接口文档https://docs.apipost.net/docs/detail/61e0debdacca000?target_id=0
默认账号admin / 123456

⚠️ 生产环境必须立即修改

以上密码仅用于本地体验。部署到服务器或公开环境前,务必修改默认密码。

内置功能 ​

系统管理 ​

模块功能
用户管理用户的增删改查、重置密码、修改密码、角色分配、头像设置,支持按部门划分数据权限
部门管理树形组织架构维护,级联调整下级部门,支持按部门划分数据权限
角色管理菜单与按钮权限分配、按机构划分数据权限、角色编码管理
菜单管理目录 / 菜单 / 按钮三级粒度,支持外链、内嵌 iframe
字典管理字典类型 + 字典数据两级结构,Redis 缓存主动失效,全局 useDict() Hook 封装
文件管理目录树管理文件,回收站还原,支持秒传、分片上传、断点续传,按引用计数彻底删除

系统监控 ​

模块功能
服务监控实时 CPU 使用率、内存占用、磁盘空间、服务器运行信息与数据库连接池状态
缓存监控Redis 实例信息、内存使用量、Key 数量,分类浏览与在线可视化管理
健康检查/live /ready 双探针,适配 K8s / Docker Swarm 编排
在线用户实时查看活跃会话,支持强制下线
定时任务BullMQ 动态调度,支持手动执行 / 暂停 / 恢复,含执行日志
操作日志全接口自动记录,IP 归属地解析,支持条件查询与导出
登录日志登录成功 / 失败全量记录,支持条件查询与导出

体验增强 ​

特性说明
暗黑模式一键切换明暗主题,CSS 变量全局控制
多标签页类浏览器 Tab 交互,支持刷新 / 关闭 / 右键菜单
响应式布局适配 PC / Pad / Mobile,侧边栏自动折叠
布局设置侧边栏 Logo、面包屑、标签页、动态标题均可自定义开关

技术选型 ​

层级技术栈说明
前端框架Vue 3 + Composition API<script setup lang="ts"> 语法
前端路由Vue Router 5动态路由 + 权限过滤,后端实时拉取菜单
状态管理Pinia轻量级、类型友好的状态管理
UI 组件库Element Plus全套企业级 UI 组件,按需导入
构建工具Vite 8秒级冷启动,Rolldown 打包
CSS 方案UnoCSS + SCSS原子化 CSS 与语义化样式结合
图表库ECharts 6服务监控可视化
后端框架NestJS 11行业标准的 Node.js 企业级框架
ORMTypeORM数据库实体映射,支持 Migration
数据库MySQL 8核心业务数据存储
缓存Redis 7Token 缓存、接口缓存、BullMQ 队列
消息队列BullMQ定时任务调度执行
认证JWT + 图片验证码Argon2 密码加密,Passport 策略模式
日志Winston按日滚动文件日志
容器化Docker多阶段构建 + 健康探针 + 非 root 运行

系统需求 ​

环境版本要求说明
Node.js≥ 22.x(推荐 24.x)前后端共同依赖的运行时
pnpm≥ 10.x包管理器,前后端各自安装
MySQL≥ 8.0核心业务数据存储
Redis≥ 7.0缓存、会话与任务队列
Docker可选用于一键部署与容器化交付

交流群 ​

QQ群:加入QQ群

点击按钮入群。

许可证 ​

本项目基于 MIT 协议开源。