项目介绍

项目介绍

JeecgBoot 是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成!JeecgBoot 引领低代码开发模式 (OnlineCoding-> 代码生成 -> 手工 MERGE), 帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!

当前版本:v3.7.0 | 2024-06-17

源码下载

源码下载

  • 后端源码:https://github.com/jeecgboot/jeecg-boot
  • 前端源码:https://github.com/jeecgboot/jeecgboot-vue3
升级日志

升级日志

里程碑大版本正式发布,VUE3 版本正式进入性能和功能健壮阶段,此版本之后不再维护 vue2 版本。版本增量升级 SQL

主升级内容

  • 信创国产化支持,默认完美适配达梦和人大金仓国产数据库
  • 系统主题风格美化大升级、系统性能大优化、组件优化更加易用
  • 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
技术交流

技术交流

  • 开发文档:https://help.jeecg.com
  • 在线演示:http://boot3.jeecg.com
  • 快速入门:入门视频:https://www.bilibili.com/video/BV1V34y187Y9
  • 代码生成:https://help.jeecg.com/vue3/codegen/online.html
  • AI 助手:配置文档:https://help.jeecg.com/java/chatgpt.html
为什么选择 JeecgBoot?

为什么选择 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 端

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

系统交互

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

AI 助手 (ChatGPT)

打开网易新闻 查看精彩图片

仪表盘设计器

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

图表示例

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

报表设计器

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

打开网易新闻 查看精彩图片

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

APP 效果

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

PAD 端

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

在线接口文档

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

流程设计器

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

表单设计器

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

大屏设计器

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

欢迎吐槽,欢迎 star~