项目介绍

项目介绍

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

当前版本:v3.6.1 | 2023-12-11

源码下载

源码下载

github地址

github地址

  • 后端:https://github.com/jeecgboot/jeecg-boot
  • 前端:https://github.com/jeecgboot/jeecgboot-vue3
gitee地址

gitee地址

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

升级日志

Online低代码功能专项升级,JS增强支持代码提示、新增一对多内嵌风格和一对多Tab风格、Online新增新用户操作引导、人大金仓、达梦数据库兼容工作等等。
ONLINE升级日志

ONLINE升级日志

  • Online操作新用户引导功能
  • 新增一对多内嵌风格
  • 新增一对多Tab风格
  • Online JS增强支持api提示
  • 树列表支持查询
  • 防止SQL注入风险,下拉搜索组件参数规则变更(支持表字典白名单控制、SQL注入安全加强)
  • 人大金仓、达梦数据库兼容工作
  • 【安全】online敏感接口,加权限注解
  • 【严重bug修复】online删除字段,其他tab不同步删除导致的问题
  • 使用在线Online开发,出现搜索框前面的label字被截断 ·Issue #5387
  • online表单开发新增时,字段信息校验提示被遮挡 ·Issue #5407
  • 在线表单中设置的页面配置中高级配置中设置的label长度,在列表与详情界面无效 ·Issue #5400
  • js 自定义按钮表达式 怎么支持多个字段判断? ·Issue #769
  • 开启服务代理后,刷新接口报错 ·Issue #5431
  • 在线生成表单没有见到空行,但页面属性会报空行数据错误 ·Issue #5487
  • oracle数据,online表单中的 “关联记录” 功能模块BUG ·Issue #5321
  • online表单生成时,创建字段后删除,页面属性、检验字段、外键处对应字段无法删除 ·Issue #813
  • 在线生成删除多余字段后保存失败 ·Issue #815
  • AUTO在线表单导出null ·Issue #5529
  • Online在线功能ERP主题,从表记录被误删除 ·Issue #5591
  • online表单配置成单表(树)后,界面搜索不起作用 ·Issue #888
  • 【QQYUN-6685】link按钮添加多表达式
  • 【issues/5371】一对多子表popup增加多选
  • 【QQYUN-6647】页面配置中高级配置中设置的label长度,在列表与详情界面无效
  • 【QQYUN-6594】使用在线Online开发,出现搜索框前面的label字被截断
  • 【QQYUN-6588】代码警告,子表多出空白列
  • 【QQYUN-4263】Online报表支持跨页选择导出问题
  • 【issues/5371】一对多子表popup增加多选
  • 【QQYUN-6808】online编辑字段多了卡顿
  • online报表导出时间类型,导出的时间带T
其他升级日志

其他升级日志

  • 升级底层依赖autopoi版本到1.4.7
  • 升级底层依赖jimureport版本到1.6.6
  • Online表单开发-在数据库属性页面新增字段删除后,页面属性没有同步删除 ·Issue #5505
  • tabel的列设置隐藏列保存后切换路由问题 ·Issue #825
  • 使用BasicTable表格的更多操作按钮禁用属性BUG ·Issue #839
  • JImageUpload 开启 multiple, 上传多个图片,返回的上传成功文件列表中只有第一个文件名称 ·Issue #846
  • 使用代码里的代码生成器 ·Issue #833
  • 3.6.0(发布时间:2023-10-23)树形表格 复选框 不能回显 ·Issue #831
  • JSelectDept点击x关掉或者点击取消按钮关闭弹窗,再打开选择部门的窗口勾选消失了 ·Issue #863
  • 用户管理-岗位仍然不回显 ·Issue #855
  • BasicForm表单中第一次就使用复制粘贴操作input框,规则校验没触发 ·Issue #5579
  • JCodeEditor组件初始化时没有设置mode ·Issue #869
  • MarkdownViewer组件样式有点难看 ·Issue #872
  • BasicTable组件设置hideSelectAll: true无法隐藏全选框 ·Issue #5595
  • tsConfig.json中有报错。 ·Issue #5564
  • 当表格无数据且显示合计栏,关闭tab页后,BasicTable报错 ·Issue #894
  • 在JSearchSelect组件标签上添加class/style样式不会生效 ·Issue #897
  • jeecg-uniapp-master前端项目无法集成到企业微信OAuth2登录 ·Issue #5533
  • POI导出一对多只有一条数据时,疯狂打印错误日志 ·Issue #5528
  • 导出表格设置了数字格式导出之后仍然是文本格式,并且无法进行计算 ·Issue #5538
  • 系统菜单,编辑内容时,显示文本框不居中 ·Issue #790
  • 3.6.0升级后,组件页面显示错位 ·Issue #5514
  • 登录报错 ·Issue #5516
  • 登录报错 Cannot destructure property "userlnfo' of (intermediate value)' as it is undefined. ·Issue #812
  • useCustomSelection.tsx 同步选中内容有问题 ·Issue #828
  • 用户管理-》新增用户 职务、部门接口会调用多次,页面请求过多性能太差 ·Issue #788
  • dev模式,修改代码后modal卡死,新增详情编辑一点就卡死#860
升级SQL

升级SQL

3.6.0升级至3.6.1版本对应的增量升级SQL,执行完后,还需要手工给admin角色分配(sql解析接口、同步数据库接口、导入表接口)按钮权限。

--新增风格一对多内嵌和Tab风格
INSERTINTOsys_permission(id,parent_id,name,url,component,is_route,component_name,redirect,menu_type,perms,perms_type,sort_no,always_show,icon,is_leaf,keep_alive,hidden,hide_tab,description,create_by,create_time,update_by,update_time,del_flag,rule_flag,status,internal_or_external)
VALUES('1691031996d5931315212','1455100420297859074','AUTO在线一对多内嵌','/online/cgformInnerTableList/:id','super/online/cgform/auto/innerTable/OnlCgformInnerTableList',1,'',NULL,1,NULL,'0',1.00,0,NULL,1,0,1,0,NULL,'admin','2023-08-1418:20:20','admin','2023-08-1418:46:18',0,0,NULL,0);
INSERTINTOsys_permission(id,parent_id,name,url,component,is_route,component_name,redirect,menu_type,perms,perms_type,sort_no,always_show,icon,is_leaf,keep_alive,hidden,hide_tab,description,create_by,create_time,update_by,update_time,del_flag,rule_flag,status,internal_or_external)
VALUES('1691031996d5931315213','1455100420297859074','AUTO在线Tab风格','/online/cgformTabList/:id','super/online/cgform/auto/tab/OnlCgformTabList',1,'',NULL,1,NULL,'0',1.00,0,NULL,1,0,1,0,NULL,'admin','2023-08-1418:20:20','admin','2023-08-1418:46:18',0,0,NULL,0);
--【安全】online敏感接口,加权限注解(sql解析接口、同步数据库接口、导入表接口)
INSERTINTOsys_permission(id,parent_id,name,url,component,is_route,component_name,redirect,menu_type,perms,perms_type,sort_no,always_show,icon,is_leaf,keep_alive,hidden,hide_tab,description,create_by,create_time,update_by,update_time,del_flag,rule_flag,status,internal_or_external)VALUES('1699374704168534017','1460888189937176577','SQL解析',NULL,NULL,0,NULL,NULL,2,'online:report:parseSql','1',NULL,0,NULL,1,0,0,0,NULL,'admin','2023-09-0618:51:17',NULL,NULL,0,0,'1',0);
INSERTINTOsys_permission(id,parent_id,name,url,component,is_route,component_name,redirect,menu_type,perms,perms_type,sort_no,always_show,icon,is_leaf,keep_alive,hidden,hide_tab,description,create_by,create_time,update_by,update_time,del_flag,rule_flag,status,internal_or_external)VALUES('1699374509749960705','1455101470794850305','查询数据库表名',NULL,NULL,0,NULL,NULL,2,'online:form:queryTables','1',NULL,0,NULL,1,0,0,0,NULL,'admin','2023-09-0618:50:31',NULL,NULL,0,0,'1',0);
INSERTINTOsys_permission(id,parent_id,name,url,component,is_route,component_name,redirect,menu_type,perms,perms_type,sort_no,always_show,icon,is_leaf,keep_alive,hidden,hide_tab,description,create_by,create_time,update_by,update_time,del_flag,rule_flag,status,internal_or_external)VALUES('1699374269152100354','1455101470794850305','同步数据库',NULL,NULL,0,NULL,NULL,2,'online:form:syncDb','1',NULL,0,NULL,1,0,0,0,NULL,'admin','2023-09-0618:49:33',NULL,NULL,0,0,'1',0);
updatesys_permissionsetis_leaf=0whereidin('1460888189937176577','1455101470794850305');

新功能效果图

新功能效果图

  • JS增强代码提示

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

  • 新手操作引导

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

技术交流

技术交流

  • 开发文档:https://help.jeecg.com
  • 在线演示:http://boot3.jeecg.com
为什么选择 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端

PC端

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

系统交互

系统交互

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

图表示例

图表示例

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

仪表盘设计器

仪表盘设计器

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

报表设计器

报表设计器

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

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

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

UNIAPP效果

UNIAPP效果

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

手机端

手机端

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

PAD端

PAD端

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

在线接口文档

在线接口文档

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

更多高级功能

流程设计

流程设计

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

简版流程设计

简版流程设计

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

表单设计器

表单设计器

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

大屏设计器

大屏设计器

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

零代码应用

零代码应用

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

欢迎吐槽,欢迎star~