项目介绍
JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!
当前版本:v3.6.0 | 2023-10-23
源码下载
github地址
gitee地址
升级日志
本次属于大版本升级,改动很大。例如:彻底重构了租户逻辑、第三方应用(钉钉、企业微信)对接逻辑、用户与职位关系、系统通知性能大优化;安全方面:新增字典表白名单、新增低代码开发模式(支持关闭在线开发能力)等等。
增量升级建议
重大升级日志
- 租户大重构(邀请加入租户、默认套餐包)
- 新增字典表白名单功能(只有配置了白名单,才允许访问)
- 第三方应用配置钉钉/企业微信(改成采用表来存配置信息,支持多租户)
- 用户职位关系,新增一个关系表,删除原来用户表中的字段
- 重构系统通知逻辑,性能优化
- 新增低代码开发模式(发布上线,可以关闭在线开发)
- 升级shiro-redis到3.2.2
- 用户设置深度改造
- JVxeTable 行表格组件(升级vxe-table到最新版4.5.13)
- 重构SQL注入检查工具类,更加健壮
- 系统字典项支持颜色设置
- 发送邮件接口支持抄送
- 增加单元测试代码,便于快速测试
- 升级积木报表到1.6.4最新版
- 新增表【sys_user_position 用户职位关系表】【sys_third_app_config 第三方应用配置表(钉钉/企业微信)】【sys_table_white_list 字典表白名单表】
ISSUE处理日志
- JPopup表格的选择列固定配置不生效 · Issue #757
- JPopup组件【全选】确认,显示“只能选择一条记录”,官方演示画面可再现 · Issue #761
- 404页面返回首页问题 · Issue #694
- jvxetable · Issue #748
- 表单校验dynamicRules 无法 使用失去焦点后校验 trigger: 'blur' · Issue #752
- createMessage的提示icon没有垂直居中 · Issue #5413
- Popup报表弹窗全选问题 · Issue #765
- 在线表单列表字段过多时,列头和数据对不齐 · Issue #723
- BasicTable 配置maxColumnWidth 未生效 · Issue #5411
- 3.5.5最新版执行任何SQL如果10秒以上必定异常 · Issue #5422
- 用户管理-职务 · Issue #768
- 解决用户管理负责部门不为空 而为null的情况的显示异常 · Issue #772
- 搜索框字段加了前后空格,翻页时未去除前后空格,导致查不到数据 · Issue #5430
- renderUtils 工具类渲染图片建议 · Issue #701
- 设置canResize,引起合计栏滚动条及列错位,显示100条/页,复选框只能显示3个的问题 · Issue #776
- online生成的vue代码单独删除的确认框样式有问题 · Issue #5427
- 复选框只显示3个 · Issue #785
- 打开仪表盘设计器报错Invalid bound statement (not found): org.jeecg.modules.drag.dao.OnlDragPageDao.getAll · Issue #5456
- 一对多子表popup建议增加多选 · Issue #5371
- 部门管理下部门赋权代码逻辑缺少判断条件 · Issue #5339
- 网关路由配置问题 · Issue #5331
- 列表 分类字典不显示 · Issue #777
- 3.5.5 ApiSelect修复错误 · Issue #5467
- 升级导致shardingsphere 异常,程序启动失败。 · Issue #5469
- 列表数据勾选禁用后仍能勾选问题,显示选的数据条数也是错误的 · Issue #791
- table列表增加radio禁用功能
- BasicForm支持一行显示(inline)
- 【issues/790】弹窗内文本框不居中问题
- 【issues/776】显示100条/页,复选框只能显示3个的问题
- 【issues/5407】字段信息校验是多行提示会被遮挡
- 【issues/5411】BasicTable 配置maxColumnWidth 未生效
- 【QQYUN-6603】分割线标题位置显示不正确
- 【issues/752】表单校验dynamicRules 无法 使用失去焦点后校验 trigger: 'blur'
- 系统通知卡顿问题性能优化,默认查询7日内系统通知
- 表字典白名单功能
- 首页菜单样式微调,更好看
- 前端打包警告,eval替换成new Function
- 首屏性能优化,空路由访问资源加载最少
- 前端js警告处理
- 原生模板,表单默认值带不出来 issues/5304
- 一对多erp风格支持原生生成 issues/5294
- 原生模板,查询条件样式错位修复
技术交流
- 开发文档:https://help.jeecg.com
- 官方网站: http://www.jeecg.com
- 在线演示:http://boot3.jeecg.com
- 快速入门:入门视频 | 代码生成
为什么选择 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端
系统交互
仪表盘
图表示例
仪表盘设计器
报表设计器
UNIAPP效果
手机端
PAD端
在线接口文档
更多高级功能
流程设计
简版流程设计
表单设计器
大屏设计器
零代码应用
欢迎吐槽,欢迎star~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。