前端使用 vue-element-admin 模板, 后端使用 nestjs typeorm 等开发
- nest-admin权限管理系统,是基于nodejs打造出的一站式RBAC管理平台
- 使用技术 nestjs、typeorm、vue、ElementUI 开发
- 优秀的菜单功能权限,前端可灵活控制页面及按钮展示,后端可对未授权的请求进行拦截
- 当前已有功能:用户管理,角色管理,部门管理,菜单管理,文件管理
- 更好的系统日志
- 新增角色时,角色权限只能是创建者权限的子集,有效防止权限越权
- 部门可选绑定角色
servers 后端项目结构
── src // 构建相关
├── commin // 公共代码,工具类等
│ ├── decorators // 自定义装饰器,包含 @Permssion 权限装饰器
│ ├── interfaces // 自定义接口
│ ├── guards // 自定义守卫 guards
│ ├── utils // 工具类
├── config // 配置相关, mysql, jwt,upload 等
├── system // 核心代码
│ ├── auth // jwt 相关
│ ├── dept // 部门模块
│ ├── menu // 菜单模块
│ ├── perm // 权限相关模块
│ ├── relatinalEntites // user 与 role, role 与 menu中间表 user_role, role_menu 实体模块
│ ├── roles // 角色模块
│ ├── user // 用户模块,登录注册等
│ ├── app.module.ts // app.modules
│ ├── main.ts // main.ts
├── .env // 环境配置, 数据库等配置
├── .eslintignore
├── .eslint.js
├── .gitigore
├── .prettierrc
├── nest-cli.json
├── tsconfig.build.json
├── tsconfig.json
└── tslint.json
client 前端项目结构及教程具体查看 vue-element-admin 项目
- 通过 git 下载源码
- 执行 db/kapok.sql 文件,初始化数据
- 修改 servers/.env 文件, 更改 mysql 账号和密码,库
- 本地开启了 nestjs 静态服务,作为图片服务器,默认上传到总项目根目录 upload 目录下, 如使用 nginx 则需修改 servers/.env 文件 SYSTEM_WWW 值,
- 分别在 client servers 目录下,执行 npm i
- 安装完依赖,servers 目录下执行 npm run start:dev; client 目录下执行 npm run serve 即可启动项目
- 浏览器访问 http://localhost:9527 即可打开页面, swagger 文档地址 http://localhost:8080/docs
- 可测试的账号密码: admin/admin test/test
- 演示地址: https://nest-admin.wenqiyun.com
- 账号密码: admin/admin test/test