基本信息
Meal(一顿饭)意如其名,旨在节省一顿饭的时间。
本工程采用前后端分离的部署方式,服务端采用 SpringBoot 构建,前端采用 Vue。
工程仅提供了一些基础支撑能力的构建,不包含其他的业务逻辑,旨在快速铺开一个新业务系统。
服务端工程地址:Gitee 丨 GitHub
前端工程地址:Gitee 丨 GitHub
特别致谢
Meal 服务端使用 MyBatis-Plus 作为基础脚手架。
Meal 服务端使用 jjwt 实现 JWT 快速加解密。
Meal-ui 前端工程 Fork 自 vue-admin-template。
本人是 JAVA 服务端开发,@ 花裤衩的前端系列开源项目为我学习 Vue 提供非常大的帮助,非常感谢!
功能清单
Meal 工程仅提供了最基本的账号-角色支撑能力,没有涉及其他功能页面。
登陆页

工作中心

角色控制与多级菜单测试

个人密码管理

账号管理

代码生成

开发说明
服务端
外部依赖
- JDK 1.8 已知可能持续使用很长时间的版本
- MySql 5.7 经典版本
- Redis 6.0 比较新的一个版本(实际上目前项目中对版本要求没有十分严格)
工程目录

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

前端
外部依赖
- Node.js(基本工具)
- Git(多数前端工程依赖会需要调用 Git 下载)
工程目录


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

开发说明
npm install
npm run dev
npm run build
关于个人
关于米虫