项目介绍
JeecgBoot 是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成!JeecgBoot 引领低代码开发模式 (OnlineCoding-> 代码生成 -> 手工 MERGE), 帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!
当前版本:v3.7.1 | 2024-09-12
源码下载
- https://github.com/jeecgboot/JeecgBoot
升级日志
本版亮点:代码生成器大优化支持子包多目录和更多细节生成、积木报表最新版支持填报功能、仪表盘升级到新版、微服务网关配置简化、升级了几个底层组件、Online 功能优化等等。有升级 SQL
新功能
- 升级积木报表到最新版,拥有表单设计填报功能。
- 升级 nacos 到 2.3.2,默认支持国产达梦数据库
- 升级 xxl-job 至 2.4.1 版本,规避 CVE-2024-24113
- 升级 autopoi 到最新版 1.4.11
- 新增单体和微服务前后端一键 docker 启动
- 微服务网关配置简化,支持复制、逻辑删除、回收站
- 系统功能界面细节优化
- 修改当前登录用户权限直接生效,不需要退出重新登录
- 更新省市区数据
- sas 分支登录接口适配原前端主分支登录并缩短 token 长度
- 白名单管理权限改成请求注解方式
- websocket 总断,换一个写法
- 优化数据脱敏功能
代码生成器优化
- 代码生成支持子包多级目录
- 代码生成支持生成前端权限指令 v-auth
- 代码生成支持新控件 JPopupDict 字典
- 代码生成的查询条件范围控件更换美观的效果:日期范围、数字范围、金额范围等
- 用户和部门组件,生成代码的时候根据 Online 存储字段和显示字段配置来
- 原生表单校验不通过,未滚到未通过校验的字段
- 非原生表单校验不通过,未滚到未通过校验的字段
- 详情页面触发了校验修复
- ERP 风格子表操作列没有浮动
- 页面控件类型为下拉框时,生成的前端 vue 代码有多余的逗号
- 代码生成 int 类型字段的查询条件,没有渲染成数值输入框
- 无论是原生 erp 还是非原生,不选中主表的时候,直接导出子表,发现导出了所有数据
- 一对多 erp,也改成点击行就选中
- 一对 Tab 风格样式美化
- 代码生成 新控件 年、月、周、季度的默认值支持
- 一对多子表 popup 字典没有生成
Online 模块升级
- online 权限增加批量启用按钮
- online 字段维护,增加快速定位字段功能
- online 字段查询配置支持设置默认模糊查询
- 高级查询增加为空和非空两个条件
- online 数据权限配置,系统变量表达式错误修复
- online 图片导出改为文本导出,不再导出图片
- Online 表单表字典的条件过滤参数问题・Issue #6679
- Oline 表单下拉搜索框控件在编辑页面报错:字典 Code 格式不正确・Issue #6336
- Online 报表设计,搜索条件只展示 10 条数据・Issue #6857
- online 表单的 js 增强 onlChange () 不能响应联动组件的下拉组件值的变化・Issue #6897
- online 表单生成下拉框实际生成是文本框・Issue #7022
- Online 表单开发,范围查询不生效・Issue #7093
- online 带时间的日期,值带 T
- js 增强返回的对象方法之间不能有注释・Issue #7086
- online 索引名称增加校验
- 【Online 表单】Popup 支持动态传递表单值和系统变量
- online 报表查询条件,下列项支持滚动加载
- 新增 yml 属性 jeecg.firewall.disableSelectAll“禁止 online 报表使用 * 查询”
- online ai 生成报错
- 从其他数据库导入的表,状态怎么是已同步
- online 支持数据库 Druid 密码加密
仪表盘升级
- 重构界面风格
- 列表支持分页
- 支持配置查询条件
- 分类目录树支持自定义
- 新增组件金字塔漏斗图、圆形雷达图
- 图表钻取效果优化
- 联动效果优化
- 仪表盘移动端布局手机端预览无法滑动
- 更新省市区数据
- 仪表盘中的查询条件为空・Issue #2823
- 仪表盘路由跳转没反应・Issue #6852
- 仪表盘移动端布局手机端预览无法滑动・Issue #2934
- 大屏设计器 - 地图类组件 --> 离线地图 --> 气泡标注地图・Issue #2775
issue 处理
- 企业微信登录成功后没有给登录用户设置登录部门,orgCode 为空,导致添加其它的数据没有自动注入 sys_org_code・Issue #6634
- 部门人员选择组件出现人员重复以及数量不对的情况・Issue #6342
- 开启租户数据隔离,接入钉钉后默认租户为 0 了・Issue #6652
- 上传组件 JUpload 配置 beforeUpload 阻止了上传,前端页面中还是显示该缩略图・Issue #6357
- 内存信息 - 立即更新 功能报错・Issue #6635
- EditableCell 组件值为数字 0 时不展示・Issue #6851
- 我的部门・Issue #6862
- 暗黑主题模式下,按钮风格不一致,有的显示边框,有的不显示,并且鼠标放在按钮上的时候,也没有焦点显示・Issue #6374
- 本问题是 issues/1222 的问题, 新的版本 3.7 中,仍然没有修复。・Issue #6380
- JRangeDate 组件设置允许起始项部分为空时不返回值・Issue #6368
- 登录完成后就一直处于等待,不能进入主页面・Issue #6861
- JSearchSelect 组件异步查询不生效・Issue #6681
- user-dropdown 这个组件用 key 作为 prop 名称・Issue #6855
- 【3.7.0】searchFormSchema 配置单个 label 的 labelWidth 不生效・Issue #6865
- JPopup 控件 单选模式下 已选择数据标签项存在问题,求助帮忙看看・Issue #6883
- 登录完成后前端死循环,不能进入主页面・Issue #6884
- 部门角色授权错误・Issue #6875
- 多语言无刷新切换时,BasicColumn 和 FormSchema 里面的值不能正常切换・Issue #6908
- JPopup 弹窗选择组件如何渲染图片?・Issue #6365
- 3.7.0 数据权限自动生成的系统变量前缀错误・Issue #6963
- druid 数据库密码加密后,同步数据库 -> 普通同步(保留表数据)报错・Issue #6889
- 小铃铛不提示 (遗留 bug)--author:taoyan 2022-7-13 for: VUEN-1674【严重 bug】・Issue #6662
- EditableCell 组件值为数字 0 时不展示・Issue #6851
- 希望 JTreeSelect 组件能支持 antdv 对应的 a-tree-select 组件的 title 插槽・Issue #6953
- 官网的表格组件,在应用 mock 自动生成数据的演示中,翻页后,数据的 id 和图片都不会自动刷新,而 vben 官网是可以刷新的。・Issue #6943
- vue3 前端 tinynce 中的对象类型 RawEditorSettings 不存在定义・Issue #6928
- execl 转 html 报错 d != org.apache.poi.ss.usermodel.FillPatternType・Issue #6932
- 升级最新版看看・Issue #6958
- 切换标签页页面一直处于加载状态,Cannot access 'ScrollContainer' before initialization。・Issue #6920
- EditableCell 组件显示值问题,解决了 0 不显示问题导致长度为 0 的文本无法编辑・Issue #6957
- 【积木报表】开发阶段修改前后端的签名密钥串导致门户设计的 SQL 解析提示签名验证失败错误,恢复默认签名密钥串使用正常・Issue #6941
- JVxeTable addRows 后表格数据错误・Issue #7013
- JVxeTable 表格 Column 配置 formatter 属性不生效・Issue #6950
- autopoi 通过 word 模板生成 word 时:三目、求长、常量、日期转换没起效果・Issue #6096
- JSearchSelect 组件文本回显问题・Issue #7008
- 报表下钻的时候,传递过去的参数并未生效,使用的是参数默认值・Issue #2702
- 原生 vue3 设置排序字段后不生效报错・Issue #6937
- 开启多租户后 Swagger/Knife 在线接口文档调试提示无权限・Issue #6987
- AutoPoi 在将 excel 转换为 LIst 时,对象的属性为 LocalDate、LocalDateTIme 类型对象,因为其不是 Java 基础类。会导致转换失败,使用自定义数据处理器也不行。esaypoi 可以正常转换。・Issue #6209
- 地区选择器,杭州仍然是旧的划分,存在江干区下城区,没有钱塘区・Issue #7049
- 官网演示一对多示例,当编辑订单时,子表新增多行客户信息和机票信息,每次都只能保存一条记录。・Issue #7048
- 使用 appendSchemaByField 后提交时验证报错・Issue #7042
- basicTable 中树形表格的 checkStrictly 设置无效・Issue #6990
- Redis 锁无法释放,造成 redis 死锁造成大量的 redis exists redis 命令引起 redis QPS 异常飙升・Issue #6876
- ApiSelect.vue 文件版本更新之后联动更新字段不生效了・Issue #6999
- Docker 一键启动微服务前后端,mysql 镜像找不到・Issue #7119
- 富文本编辑器,无法上传多个图片・Issue #7076
- 主附表启用联合查询附表字段内容显示不全;java 增强附表内容不能修改;系统编码规则重复调用后台方法两次?・Issue #7095
- 省市区联动组件数据问题・Issue #7151
- 微服务新增模块 controller 类接口方法中免登录 Token 注解 @IgnoreAuth 不生效・Issue #7081
- BasicTable 表尾合计行 无法实时同步列宽拖动进行同步・Issue #7101
- 使用 RestUitl 类时发现 RestTemplate 超时・Issue #7140
- TemplateExportParams 类建议增加传入模板文件 InputStream 的方式・Issue #7084
AutoPOI 问题
- 导入 map, 使其有序
- 解决遍历行的次行合并样式问题
- 加强继承扩展便利性
- issue/#5933 增加清除缓存方法
- Excel 导入时空行校验问题
- 生成代码后子表图片无法导出 (流)
- 子表图片导入报错
- 嵌入单元格图片无法导入
- 负数被识别成非数字
- [issues/7048] TemplateExportParams 类建议增加传入模板文件 InputStream 的方式
- [issues/6925] autopoi 通过 word 模板生成 word 时:三目、求长、常量、日期转换没起效果
- [TV360X-1292] 对象的属性为 LocalDate、LocalDateTIme 类型对象兼容
- [issues/6925] xlsx 模版导出图片
- [TV360X-1953] execl 转 html 报错 d != org.apache.poi.ss.usermodel.FillPatternType
技术交流
- 开发文档:https://help.jeecg.com
- 在线演示:http://boot3.jeecg.com
- 快速入门:新手指南 | 代码生成
- 视频教程: http://jeecg.com/doc/video
为什么选择 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~