JeecgBoot v3.7.0 all 版本发布
![JeecgBoot v3.7.0 all 版本发布](https://static001.geekbang.org/infoq/9f/9fc2b0a2c611b7c0437d757d75d07db7.png)
项目介绍
JeecgBoot 是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成!JeecgBoot 引领低代码开发模式 (OnlineCoding-> 代码生成 -> 手工 MERGE), 帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!
当前版本:v3.7.0_all | 2024-06-23
源码下载
https://github.com/jeecgboot/JeecgBoot
升级日志
合并前端源码和后端源码到一个 git 仓库,修复几个已知严重 bug。
合并仓库好处
用户下载方便,不用去那么多地方(特别对新手)
合并在一起更直观
分支中同时含有前端和后端,避免出现前后端不匹配的情况
issue 更加集中,降低官方维护成本
修复 issue
springboot3 分支已经合并到 v3.7.0 版本
springboot3 sas 分支已经合并到 v3.7.0 版本
配置文件的 spring.jackson 默认没生效 #6311
多租户模式下,【租户角色】新增角色后,列表中看不到新增记录,在【角色管理】中可以看到 #6383
关于后端 Online 自动生成的前端代码,部署菜单后新增不显示数据 #6444
【用户管理】添加用户时,输入邮箱和手机号时,每输入一个字符,输入框就闪烁一下,体验不佳 #6323
官方文档进行了一定大调整
主升级内容
信创国产化支持,默认完美适配达梦和人大金仓国产数据库
系统主题风格美化大升级、系统性能大优化、组件优化更加易用
Online 模块大版本升级、代码生成器和模板大升级
积木报表升级到最新版,不受并发和使用量限制
仪表盘大版本升级,设计排版重构使用更加便捷、开放更多能力
系统监听升级,新增异常监控和慢接口查询、优化 redis 监控
微服务提供 rocketmq 方案,支持 rabbitmq 与 rocketmq 切换
小功能升级
升级 vite5,前端性能进一步提升
升级 vxe-table 版本号、升级前端依赖版本号、固定 tinymce 版本号
新增免 token 校验注解 @IgnoreAuth
AI 助手功能优化
Online js 增强增加 js 智能提示
短信接口增加防刷机制
升级 kkfileview 4.1.0
升级 druid 版本号
PG 数据库 Schema 更好的兼容
封装原生使用的弹窗 JModel、JForm 等
表单详情页面样式美化
角色授权层级关联优化,更加易用
大版本升级内容太多,不详细罗列...
issue 处理
急急急!!!BasicDrawer 组件中的底栏(footer) 显示 / 隐藏逻辑逻辑错误・Issue #1087
【用户管理】页面的【编辑】、【详情】对话框显示异常・Issue #1077
树形表格展开两行,对其中一行添加数据时,会让第一行数据出现_loadchild,loading・Issue #1017
online 在线功能 ERP 导致的页大小问题・Issue #5922
【菜单管理】页面未翻译本地化 key・Issue #1090
Excel 导入时空行校验问题・Issue #5840
黑色主题模式下 online 表单显示不正确・Issue #1104
检测提示:当前菜单表是 vue2 版本,导致菜单加载异常,点击确定切换到 vue3 版本菜单・Issue #5944
httpsPort 是你自己加的吧,我排查了一下,3.6.0 版本没有新增 httpsPort 属性・Issue #5968
代码生成器 jar 包中携带配置文件导致 spring.profiles.active 被覆盖・Issue #6010
BasicDrawer 组件中的底栏:showOkBtn="false" 配置失效,问题 #1087 修复后产生的新问题・Issue #1103
BasicModal 组件在非全屏的情况下最大高度获取异常,不论内容高度是否超出屏幕高度,都等于内容高度・Issue #1117
JEditor 优化建议・Issue #1116
JVXETable 无法记住列设置,重新进入页面又还原了・Issue #1119
jimureport-drag:2.0.1 报错 java.lang.IllegalStateException: No TaglibFactory available・Issue #6021
打包后黑色主题下菜单 tab 标签不跟随系统主题颜色变化,开发模式下没问题・Issue #1115
行选择卡顿问题在 3.6.3 版本依然存在・Issue #1120
build/utils.ts 修复・Issue #1130
rangepicker 添加 defaultValue: [] 数组 会出现报错・Issue #1114
BasicTable 在使用 clickToRowSelect=true 的状态下,selection-change 事件在每次选中项切换后会触发多次・Issue #1127
schemas 中使用 RangePicker 组件赋予默认值,页面报错・Issue #1121
AUTO 在线表单富文本字段,上传图片按钮突兀而且遮挡了 TinyMCE 控件栏的全屏按钮・Issue #1129
前端抽屉方式・Issue #1134
横版顶部菜单 绑定 online 表单后 刷新页面 tab 显示 auto 在线表单而不是菜单名・Issue #1135
Online 表单中 下拉搜索框 搜索时报 sql 错误,生成的 SQL 多了一个 "and"・Issue #5978
字典下拉异步出错・Issue #1108
使用代码生成器生成树的结构,批量删除时报错,在很老的 jeecg,vue2 版本就在报错了・Issue #6043
autopoi 模板导出缓存问题及解决方案・Issue #5933
auto poi 在导入包含图片的 excel 时报错 但是导出没有问题・Issue #6025
excel 导入主附表,附表有图片类型,导入报错・Issue #6040
JSearchSelect 的 search 事件在中文输入还没拼字成功时会触发,导致后端 SQL 注入・Issue #6049
表格控件列固定功能保存后不生效・Issue #1178
[3.6.3] 部门管理功能中的【部门权限】中未翻译 t ('') 多语言・Issue #1169
钉钉同步部门时没有最顶层的部门名,同步用户时,用户没有部门信息・Issue #6017
使用代码生成器生成树的结构,批量删除时报错・Issue #6068
online 表单生成代码, 关联表生成 vue3 模板里的 *.data.ts 这个文件会有报错・Issue #6113
online 表单列位置的 id 未做限制,拖动其他列到 id 列上面,同步数据库时报错・Issue #6054
/sys/user/edit 接口生日日期数据格式错误,导致选生日就没法修改或增加用户・Issue #1192
SQL 注入检测逻辑影响业务・Issue #6105
设置单点登录后页面,进入首页提示 404,也没有绘制侧边栏・Issue #1102
cas 开启后无法加载路由・Issue #1132
jVxeTable select 下拉组件鼠标 hover 的 title 属性显示文案优化・Issue #1175
BasicTable 原生属性 headerCell 问题・Issue #1146
配置角色权限・Issue #1151
【3.6.3】【角色管理】进入角色权限页面时,有警告信息,并且选择权限时反应慢且操作繁琐・Issue #1180
BasicTable 可编辑表格时,添加一行,第一行校验一直不过,再添加第二行,就可以了・Issue #1165
BasicTable 当不分页但又有尾部时自适应高度计算不正确,没有减去尾部高度・Issue #1137
配置角色权限・Issue #1151
BasicTable 当不分页但又有尾部时自适应高度计算不正确,没有减去尾部高度・Issue #1137
BasicTable 翻页后滚动条没有返回顶部・Issue #1188
Table 合计行在列头拖动时错位・Issue #1196
BasicTable 可编辑表格时,添加一行,第一行校验一直不过,再添加第二行,就可以了・Issue #1165
下载前端代码配置表变查询条件显示列不生效・Issue #6180
富文本编辑器 simpleToolbar 配置增加 formatselect 后页面不显示 "段落" 下拉框・Issue #6171
3.6.3 版本 drawer 打开 vue 警告过多・Issue #1156
【3.6.3】【角色管理】进入角色权限页面时,有警告信息,并且选择权限时反应慢且操作繁琐・Issue #1180
发送测试消息后,铃铛数字没有变化・Issue #1217
JVxeTable 列过长(出现横向滚动条)时无法拖拽排序・Issue #1162
BasicTable 全选,跨页全选,当页反选时,会把所有的全选项取消掉,实际需求应该只针对当前页进行全选和取消全选。・Issue #1173
登录时,vue3 版本不加载字典数据设置无效・Issue #1220
登录重定向问题・Issue #1147
JPopup 弹窗选择组件 搜索字段只有两个的时候,如何移除收起展开・Issue #1229
前端 websocket 因心跳导致监听不起作用・Issue #1161
用户编辑界面 "所属部门" 与 "负责部门" 联动出错?・Issue #1222
ApiSelect 多次请求・Issue #6191
新增菜单时,未标识必填项弹出来了必填提醒・Issue #1244
关于高级查询组件 j-super-query 缓存问题・Issue #6205
行内编辑,用户选择无效,导致无法获取到用户信息。・Issue #1242
excel 读取负数异常・Issue #6133
导入 excel,嵌入图片识别不到・Issue #5987
excel 导入主附表,附表有图片类型,导入报错・Issue #6040
auto poi 在导入包含图片的 excel 时报错 但是导出没有问题・Issue #6025
autopoi 模板导出缓存问题及解决方案・Issue #5933
springboot3_sas online 表单同步数据库出错・Issue #6151
在线表单 - js 增强 - 表单 api - 表单加载事件中对详情事件不起作用・Issue #6139
online 表单开发 同步数据库 普通同步报错 ERROR org.jeecg.modules.online.cgform.c.a:606 null・Issue #6111
仪表盘设计集成到菜单后访问出现 401・Issue #6071
仪表盘设计时,图表设置了跳转地址,预览正常,但是集成到菜单后无法跳转・Issue #6048
springboot3 分支,online 表单开页面,导入数据库表功能无法使用・Issue #6146
Online 表单下拉搜索框在子表弹框编辑行内容方式时后端报错・Issue #5726
配置字段 href,跳转页面参数不生效,积木报表 token 带不过去,online 报表跳转页签表头问题・Issue #970
online 树表的变更父级节点保存报错・Issue #5769
3.6.1 版本尝试 Online 表单和报表开发的 8 个问题反馈・Issue #5681
单表树,数据库记录多了后速度极慢・Issue #5876
子表中的下拉框内容,能否根据主表的某个字段来限定・Issue #955
online 表单,下拉框,校验必填状态有误・Issue #1091
Online 表单开发 - 导入数据库表 无法获取数据库表信息・Issue #6034
Online 在线功能,关联记录卡片模式最多只能显示 6 个其他字段・Issue #5954
3.6.1 版本尝试 Online 表单和报表开发的 8 个问题反馈・Issue #5681
Onlineb 表单开发,主表为 ERP 模式,当用户没有【Online 表单开发】页面的权限时,用户无权查看从表的数据・Issue #6124
postgresql 数据库在 Online 表单同步数据库的时候,选择普通同步也会导致原表数据丢失。・Issue #6109
js 增强代码中能获取当前登录信息吗?例如 tenantId・Issue #1176
日期控件中,是否支持 年月(yyyy-MM)格式?・Issue #6094
当关联记录中使用卡片显示时,当保存后在预览,数据只能显示 10 条 (10 个块),超过 10 条后无法显示。・Issue #1228
在线表单 - 自定义树形控件是否含有子节点功能不生效・Issue #6197
关联记录模块 BUG (记录多余 10 条不显示)・Issue #6206
在线表单的主题模板选择 tab 方式时,子表的 tab 顺序展示有问题・Issue #6211
开源版本如何拥有选择年月组件・Issue #1278
online 报表 SQL 翻译 不翻译第二页的数据・Issue #6242
Online 表单开发页面批量删除 BUG・Issue #6307
JCodeEditor 位置异常・Issue #1231
excel 读取负数异常・Issue #6133
导入 excel,嵌入图片识别不到・Issue #5987
excel 导入主附表,附表有图片类型,导入报错・Issue #6040
auto poi 在导入包含图片的 excel 时报错 但是导出没有问题・Issue #6025
autopoi 模板导出缓存问题及解决方案・Issue #5933
微服务模式下,生产环境禁用 swagger・Issue #6100
JTreeSelect 组件两次请求・Issue #1283
online 表单的功能测试,与代码生成后,点击详情的样式不统一・Issue #1235
springboot3 分支 issue
springboot3_sas 分支,redis 持久化没有用,应用重启后,已登录用户在 token 未过期情况下还是需要重新登录・Issue #6027
springboot3 分支数据库连接经常掉线・Issue #5936
3.6.3 LoginUser.java 缺了个 String parentId;・Issue #6031
3.6.3springboot3 版本控制台一直报错:Using deprecated '-debug' fallback for parameter name resolution・Issue #6127
springboot3_sas 内部嵌入积木报表被拒绝・Issue #6150
文件类型参数导致自动保存日志序列化出错・Issue #6169
jeecgboot-sas 启动有问题・Issue #6168
spring3 分支的 acurator/httptrace 报错 404・Issue #6130
技术交流
AI 助手: 配置文档
为什么选择 JeecgBoot?
开源界 "小普元" 超越传统商业平台。引领低代码开发模式 (OnlineCoding-> 代码生成器 -> 手工 MERGE),低代码开发同时又支持灵活编码, 可以帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高开发效率,节省成本,同时又不失灵活性。
采用最新主流前后分离框架(SpringBoot+Mybatis-plus+Ant-Design+Vue),容易上手;代码生成器依赖性低,灵活的扩展能力,可灵活实现二次开发;
开发效率很高,采用代码生成器,单表数据模型和一对多 (父子表)、树列表等数据模型,增删改查功能自动生成,菜单配置直接使用(前端代码和后端代码都一键生成);
代码生成器提供强大模板机制,支持自定义模板风格。目前提供四套风格模板(单表两套、一对多两套)
封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能。强大的权限机制,支持访问授权、按钮权限、数据权限、表单权限等
零代码在线开发能力,在线配置表单、在线配置报表、在线配置图表、在线设计表单
常用共通封装,各种工具类 (定时任务,短信接口,邮件发送,Excel 导入导出等), 基本满足 80% 项目需求
简易 Excel 导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能
集成简易报表工具,图像报表和数据导出非常方便,可极其方便的生成图形报表、pdf、excel、word 等报表;
采用前后分离技术,页面 UI 精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件,编辑器等等
查询过滤器:查询功能自动生成,后台动态拼 SQL 追加查询条件;支持多种匹配方式(全匹配 / 模糊查询 / 包含查询 / 不匹配查询);
数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段
在线配置报表(无需编码,通过在线配置方式,实现曲线图,柱状图,数据等报表)
页面校验自动生成 (必须输入、数字校验、金额校验、时间空间等);
提供单点登录 CAS 集成方案,项目中已经提供完善的对接代码
表单设计器,支持用户自定义表单布局,支持单表,一对多表单、支持 select、radio、checkbox、textarea、date、popup、列表、宏等控件
专业接口对接机制,统一采用 restful 接口方式,集成 swagger-ui 在线接口文档,Jwt token 安全验证,方便客户端对接
接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制
高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史
提供各种系统监控,实时跟踪系统运行情况(监控 Redis、Tomcat、jvm、服务器信息、请求追踪、SQL 监控)
消息中心(支持短信、邮件、微信推送等等)
集成 Websocket 消息通知机制
提供 APP 发布方案:
支持多语言,提供国际化方案;
数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化
平台 UI 强大,实现了移动自适应
平台首页风格,提供多种组合模式,支持自定义风格
提供简单易用的打印插件,支持谷歌、IE 浏览器等各种浏览器
示例代码丰富,提供很多案例参考
采用 maven 分模块开发方式
支持菜单动态路由
权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制)
系统效果预览
PC 端
![](https://static001.geekbang.org/infoq/bc/bcf3a21074420a04f73cbdcc5d78b67a.png)
![](https://static001.geekbang.org/infoq/17/17d0590adcbb57211066cc9a93fec9e9.png)
![](https://static001.geekbang.org/infoq/6e/6e09eef3f71e142a27294ab19fe1041c.png)
![](https://static001.geekbang.org/infoq/ca/cafb8e4bd29b8001d5aa1687c0e02381.png)
![](https://static001.geekbang.org/infoq/f7/f792f9c471df857888f6fcd1ad9e73e3.png)
![](https://static001.geekbang.org/infoq/f5/f51477bd42a335e44a5ec018937c146d.png)
系统交互
![](https://static001.geekbang.org/infoq/3c/3c0c58f428f7b61270808b9e2b79fa87.png)
![](https://static001.geekbang.org/infoq/89/89f3adf2fda458e8e8334ebf8463a0be.png)
AI 助手 (ChatGPT)
![](https://static001.geekbang.org/infoq/af/af6b4aeb2e9985b73d6e910e8b8b1e83.png)
仪表盘设计器
![](https://static001.geekbang.org/infoq/ec/ecdc19649a4ac8d26aa5219d4d60071f.png)
![](https://static001.geekbang.org/infoq/74/7412018b577f088041afbff6b7381ba2.png)
图表示例
![](https://static001.geekbang.org/infoq/2a/2a73880eea4de4cbeb4118b3bd7139c0.png)
![](https://static001.geekbang.org/infoq/1d/1d600511d9e3e7b8a5386440d06082e2.png)
![](https://static001.geekbang.org/infoq/86/867e10b60fc007b7ed080f63bd183129.png)
![](https://static001.geekbang.org/infoq/34/34796d1ff3fb1c4dd0c9cbb9e093912c.png)
![](https://static001.geekbang.org/infoq/14/140b5f1fd56f9c73a9b7f4ad6b61de14.png)
报表设计器
![](https://static001.geekbang.org/infoq/63/63bc80daa6f30bfa894b0822f7bd491d.png)
![](https://static001.geekbang.org/infoq/a5/a5e2e8ec09a674ff0f30a8983d8a1dbf.png)
![](https://static001.geekbang.org/infoq/5e/5eea92a50e7571903966181c55d1c177.png)
![](https://static001.geekbang.org/infoq/38/38b440fdf8d6a630ae4d043c67273fa4.gif)
![](https://static001.geekbang.org/infoq/d6/d6f48a6ef38fca36ab966b8f4e89c3b3.png)
![](https://static001.geekbang.org/infoq/c5/c5062130abdd4cbcbd422846044ab322.png)
![](https://static001.geekbang.org/infoq/f9/f9a023e5dd009d1668e439c025242b7e.png)
![](https://static001.geekbang.org/infoq/87/87bee04a0150185d29dc8de22ca09777.png)
APP 效果
![](https://static001.geekbang.org/infoq/ca/caf2bdbe697f5f61cb1786a0cb139b33.png)
![](https://static001.geekbang.org/infoq/98/98d2cbadb3b6c904769c7057ddb45fb6.png)
![](https://static001.geekbang.org/infoq/c8/c871f84587c119e4cd3b4ec983c47c27.png)
![](https://static001.geekbang.org/infoq/b5/b5fb6b414a8bb9b0853d30de9a61fc27.png)
PAD 端
![](https://static001.geekbang.org/infoq/de/de511ae4650813696c6fb2e07d6f74ea.png)
![](https://static001.geekbang.org/infoq/e0/e0a36b15cfc222b96e41be92416bcfce.png)
![](https://static001.geekbang.org/infoq/b9/b9a1a76ec646290e9fb95d584d3ba714.png)
在线接口文档
![](https://static001.geekbang.org/infoq/7a/7a568974b2c5f4c01403d29b6e36a9ca.png)
![](https://static001.geekbang.org/infoq/f5/f5f2d5ac7ca92fa6cb85969bb6eb6371.png)
流程设计器
![](https://static001.geekbang.org/infoq/ee/eecf648559d6de3e5a13cbd130f5f7c2.png)
![](https://static001.geekbang.org/infoq/7a/7a0b79396898888b90319d8f5f9f6f0c.png)
![](https://static001.geekbang.org/infoq/62/628cebb4bd1729cfe4106a960cfc2a4d.png)
![](https://static001.geekbang.org/infoq/bc/bc859beecd2e7cb90d91242d1b553f10.png)
![](https://static001.geekbang.org/infoq/fc/fce8c7aabebac47974c0236d97590e21.png)
![](https://static001.geekbang.org/infoq/5d/5dd7db0f7f6452b142b82f7b22f77b0b.png)
![](https://static001.geekbang.org/infoq/15/1554a72019eeed9b39d5b665308ea855.png)
表单设计器
![](https://static001.geekbang.org/infoq/9d/9d416eb8a1242d4eed2687025df0f7fb.png)
![](https://static001.geekbang.org/infoq/4b/4b7d05cb36b27eeb91096f72085bf48d.png)
![](https://static001.geekbang.org/infoq/45/45e6f69e1c2b0c28054538760ec2de01.png)
大屏设计器
![](https://static001.geekbang.org/infoq/bf/bf34b7f84e5f85ccab5f0d6ca0b7f6ac.png)
![](https://static001.geekbang.org/infoq/22/22a0d1e25f7e8190c244ed1c3cf92958.png)
![](https://static001.geekbang.org/infoq/3b/3b2dc750b2bc08e0f7102ca749f57969.png)
![](https://static001.geekbang.org/infoq/03/038bc2b545e8f31c64ffc30f82ee6a5f.png)
![](https://static001.geekbang.org/infoq/4d/4d01b2d9d51a448ca51d9e406878feb3.png)
评论