Airboot 是一个轻量级通用管理系统。
- 前端使用 Vue + Element
- 后端使用 Spring Boot + Mybatis-Plus
- 缓存使用 Redis,数据库使用 MySQL
- 登录验证使用 JWT,支持切换唯一登录
- 使用代码生成器可以一键生成前后端代码
本系统基于 RuoYi-Vue 二次开发,RuoYi本身是一个优秀的开源项目,我根据个人开发习惯做了一些架构和细节上的改动,也谈不上什么优化,欢迎有类似开发习惯的小伙伴们尝试使用。
主要改动如下:
- 将
Mybatis
替换为 Mybatis-Plus ,简化了Mapper代码; - 去掉了
字典管理
功能,全部改为枚举实现。这东西见仁见智,只是我个人更习惯用枚举,没有绝对的好坏。非要说原因的话,请看:为什么去掉字典管理? - 去掉了较重的
Spring-Security
,改为自定义拦截器实现,原因请看:为什么去掉Spring-Security? - 添加了可选配的多租户支持(需要用
init_tenant.sql
进行数据库初始化),采用【共享数据库,共享数据表】的模式(即通过表内的tenant_id
来区分租户)。后期还会添加【共享数据库,独立Schema】的模式; - 其他细节改动,如代码风格、框架配置、工具类封装、代码生成等等。
airboot 1.0.2 已经发布,此版本更新内容包括:
feature
- 添加登录后异步更新用户最后登录信息的逻辑;
- 【在线用户】列表页中,添加点击IP查询真实地址的功能;
- Navbar右上角添加Gitee图标和源码地址,暂时隐藏文档地址,待文档发布后公开。
optimization
- 优化登录时IP地址查询逻辑,由于IP获取地址是通过远程调用其他网站实现的,为避免同步远程调用对登录响应速度的影响,登录时不再同步获取真实地址;
- 数据库初始化脚本中添加关闭外键约束的SQL语句,避免被Quartz表中的外键影响启动;
- 建表语句部分字段长度优化;
- 优化Mybatis-Plus自动填充创建人/更新人的逻辑;
- 优化 show-overflow-tooltip 的写法;
- 添加部分通用样式;
- 其他页面细节等优化。
bugfix
- 【代码生成】——解决首次导入数据表后,在不进行编辑或保存的情况下无法直接预览或生成的问题;
- 解决el-table表头和内容列错位的问题。