背景
之前做过一个spring cloud的脚手架,最近要做一个内部系统,所以又做了个简单的基于springboot2.0+shiro+jwt+jpa的权限系统脚手架
l2-admin 后台管理系统
项目简介
l2admin 基于 Spring Boot 2.1.9 、 Jpa、mybatis, JWT、Shiro、Vue的前后端分离的后台管理系统,
权限控制的方式为RBAC,支持一键生成前后端代码(采用golang编写的命令行工具),支持前端菜单动态路由。
项目同时支持了mybatis和jpa,意在简单的查询使用jpa,复杂的多表联查使用mybatis。同时项目将依赖控制尽可能少,以便更简单的二次开发
项目预览
http://dota2info.cn 用户名/密码:admin/123456
项目源码
系统功能
-
用户管理:提供用户的相关配置
-
角色管理:对权限与菜单进行分配
-
菜单管理:已实现菜单动态路由,后端可配置化,支持多级菜单
-
路由管理:已实现动态路由,后端可配置化,支持多级路由
-
代码生成:高灵活度一键生成前后端代码(且可以复用于任何可以归纳为模板的工程代码,只需自己编写模板),如果是单表的
增删改查,项目模板可以减少百分之99的工作任务
前端开发说明
- 路由的配置:除了在页面上添加相应路由之外,还需要在 @/routeMapComponents/index.js文件下制定路由的路径
- 如需获取state中的值可以使用类似如下的代码:
computed: {
...mapState('d2admin/permission',[
'ownRp','cols','orders','allRp'
])
},
- 如需在请求时增加请求头数据,可以在@/plugin/axios/index.js中配置所需的请求头
- 本地后台的地址的配置在.env.develpment中
- 前端默认隐藏了d2-admin的debug等菜单(但未删除),如果需要请自行打开
后台说明
- 同一的异常处理,如果需要向前台返回错误,请使用如下代码:
throw new BaseException("系统在初始化请稍后");
- jpa中如果需要动态构建关联表的查询,可以参考如下代码:
SetJoin<User, Role> roleJoin