本软件是基于 Vue 和 SpringBoot 的通用管理系统,是一个开源的前后端分离开发模板,可用于开发入门级项目,包含了登陆注册、用户管理、部门管理、文件管理、权限管理、日志管理、数据字典和代码生成器这九个功能模块,另外还有两张样例数据表和五张样例数据图,是一个很好的前后端分离开发模板,开发者可以在这个模板上进行二次开发,只需要实现需求方的业务逻辑,即可快速成型甲方的业务需求。
-
前端: Node.js 18,Vue 2.7.10,组件库 View UI 4.7(如使用低版本 node,需自行降低 plugin 版本)。
-
后端:JDK 17 及以上版本,Maven 3.6,SpringBoot 3.1.0,mybatis-plus 3.5.3.1(因 SpringBoot 3 最低支持 JDK 17,所以项目不支持 JDK 8)。
-
数据库:MySQL 8.0.33,Redis 5.0.14(MySQL5.7 需要手动设置编码 UFT8,并修改 sql 文件编码,否则 a_user 表数据无法导入导致用户不能登录)。
// 前端(VsCode)
// 1. 下载安装 Node.js(18 版本)
// 2. 安装 Vue 脚手架
npm i -g @vue/cli
// 3. 安装前端依赖
npm i
// 4. 启动前端项目
npm run dev
// 后端(Idea)
// 1. 导入项目
// 2. 配置 Maven、开启redis(否则系统无法启动)
// 3. 导入数据库,建议 MySQL8,若 5.7 版本需设置编码为 UTF-8,否则会提示密码错误
// 4. 等待后端依赖下载,完成后启动项目,或编译后执行 mvn spring-boot:run
本系统采用了基于角色的访问控制,角色和菜单关联,一个角色可以配置多个菜单权限;然后再将用户和角色关联,一位用户可以赋予多个角色。这样用户就可以根据角色拿到该有的菜单权限,更方便管理者进行权限管控。
本系统还封装了文件管理功能,在其他模块如若要实现图片/文件上传预览时,前端只需导入现成的 Vue 组件即可实现(使用 viewerjs 依赖实现),后端只需定义 String 类型的实体类变量即可,无需再去研究文件上传预览的相关功能,简化了开发者的工作量。
本系统还自带基于 beetl 代码生成器功能,开发者只需要输入类名(如 Student)和类备注(如学生),运行 main 函数即可自动生成后端的所有 MVC 结构代码,无需开发增删改查的 API 接口。对于前端,开发者只需输入后端实体类的完整路径,利用 Java 的反射原理,拿到后端实体类的字段,即可自动生成前端所有代码,生成的模块代码包含基础的增删改查功能,简化开发者的工作量。