Meal(一顿饭)基础用户权限管理脚手架(SpringBoot+Vue)

基于SpringBoot+Vue前后端分离部署模式用于简化开发的基础脚手架,本工程未包含过多的业务逻辑,仅提供账号、登录、鉴权、授权基础能力,采用了用户-角色最基本的授权模型进行构建。

Meal(一顿饭)基础用户权限管理脚手架(SpringBoot+Vue)

专题标签: SpringBoot Vue

基本信息

Meal(一顿饭)意如其名,旨在节省一顿饭的时间。
本工程采用前后端分离的部署方式,服务端采用SpringBoot构建,前端采用Vue。
工程仅提供了一些基础支撑能力的构建,不包含其他的业务逻辑,旨在快速铺开一个新业务系统。

服务端工程地址:
Gitee
GitHub

前端工程地址:
Gitee
GitHub

特别致谢

Meal服务端使用MyBatis-Plus作为基础脚手架。
Meal服务端使用jjwt实现JWT快速加解密。
Meal-ui前端工程Fork自vue-admin-template
本人是JAVA服务端开发,@花裤衩的前端系列开源项目为我学习Vue提供非常大的帮助,非常感谢!

功能清单

Meal工程仅提供了最基本的账号-角色支撑能力,没有涉及其他功能页面。

登陆页

工作中心

角色控制与多级菜单测试

个人密码管理

账号管理

代码生成

开发说明

服务端

外部依赖

  1. JDK 1.8 已知可能持续使用很长时间的版本
  2. MySql 5.7 经典版本
  3. Redis 6.0 比较新的一个版本(实际上目前项目中对版本要求没有十分严格)

工程目录

核心类

  • MyBatisPlusConfig:MyBatis-Plus配置类,配置Mapper扫描位置、分页插件等。
  • RedisConfig:配置Redis为默认缓存工具及常见操作Bean配置。
  • CodeMakerUtils:代码生成器的执行类
  • JwtUserContext:JWT安全用户上下文对象(全局获取登录用户信息)
  • JwtFilter:Jwt过滤器,核心过滤器(登录、授权、拦截)
  • ExceptionHandler:全局异常捕获处理(AOP实现,支持自定义异常处理)
  • RoleInterceptor:角色拦截器(基于自定义注解@RolePermission实现鉴权)
  • EncryptionUtils:盐值加密工具(账号的密码生成,不可逆加密算法)

开发说明

  1. 数据库初始化刷库
  2. application-dev.yml配置您的数据库信息和redis信息(默认localhost)
  3. 启动App类

启动示意图:

前端

外部依赖

  1. Node.js(基本工具)
  2. Git(多数前端工程依赖会需要调用Git下载)

工程目录

相对原本的改动

  1. 移除Mocks模拟返回服务(调用meal服务端工程)
  2. 移除测试模块以及相关依赖
  3. 移除Cookies插件依赖,Cookies统一替换为window.localStorage
  4. 补充动态路由由服务端返回的用户角色集Roles控制
  5. 移除自定义icon(svg格式),替换为element-ui的图标,直接修改了Sidebar/Item.vue
  6. 核心方法getUserBase获取用户基础信息src/store/modules/user.js getInfo()
  7. 增加v-droll可以自由在屏幕范围内拖动弹窗(src/directive/droll.js)

启动界面

开发说明

  1. # 依赖下载
  2. npm install
  3. # 开发模式
  4. npm run dev
  5. # 生产编译
  6. npm run build

关于个人

关于米虫先生