项目介绍
JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!
当前版本:v3.3.0 | 2022-07-25
源码下载
- https://github.com/jeecgboot/jeecg-boot
- https://gitee.com/jeecg/jeecg-boot
技术文档
- 官方网站: http://www.jeecg.com
- 技术文档: http://doc.jeecg.com
- 在线演示: http://boot.jeecg.com
- 新手入门: http://jeecg.com/doc/quickstart
升级日志
不兼容的升级点:Websocket安全加强,增加 token 校验、接口签名拦截器的时间戳改造、System模块重构大。平滑升级有难度,请仔细对比修改日志。
重点升级
- websocket安全加强,增加token校验
- 【签名改造】 解决X-TIMESTAMP时区问题
- System模块开展代码p3c规范扫描大重构
- 升级代码生成器,支持生成权限注解和菜单的SQL
- vue2弹窗支持任意拖动位置
- 微服务模式下,多租户不支持问题修复
- 模板消息重构,提供全局统一推送接口(支持钉钉、企业微信、邮件、短信、系统消息)
- 提供数据脱敏注解
- 发现的SQL漏洞修复
- Vue3前端与后台版本号同步,功能也已经全部同步
后台问题
- 分表分库的demo以及分库分表整合案例的文档issues/I52EN1
- 签名校验中的时间校验有时区问题issues/3482
- websocket服务端,存在性能和安全问题issues/3278
- 代码生成模板中,前端代码多了一个结尾issues/I53X5M
- post请求X_SIGN签名拦截校验后报错, request body 为空issues/I53J5E
- JwtFilter中ThreadLocal需要及时清除issues/I53J5E
- Online表单开发,代码生成时选择ERP页面风格,vue2前端文件错误issues/I54TAK
- category/loadOne接口问题issues/3663
- 3.2.0用online表单生成erp抛出异常issues/I55OSQ
- 获取系统用户列表时,使用SQL注入生效issues/3676
- 这块代码有SQL注入的风险issues/3538
- online表单开发 功能测试和生成的代码结果不一致bugissues/3625
- excel导出导出转换器接口无法找到issues/3708
- seata测试product服务启动失败issues/I57ZUG
- 建议升级fastjson版本至1.2.83,低版本爆出漏洞issues/I58VD6
- 字典接口存在SQL注入风险issues/3713
- @JRepeat注解添加之后无法实现重复提交的拦截提示issues/I59M95
- 路由网关无法添加path过滤issues/I57I6O
- 3.0微服务版存在Spring Cloud Gateway SpEL表达式注入问题issues/I55RTF
- 生产prod的问题issues/I5A134
- 平台维护的路由网关菜单问题issues/3763
- 3.2.0 rabbitma 发送延迟消息存在5秒中的间隔issues/3755
- Autopoi字段Type文档与实际代码控制不一致issues/3732
- 3.2版本,跑测试用例代码抛出异常issues/I561IU
- DictAspect Jackson序列化报错issues/3629
- 自动生成的后台接口/exportXls中直接使用queryWrapper过滤issues/I58SM9
- 拼写错误,JeeccgBaseConfigissues/I5CMHC
- SQL增强bugissues/I5ATD8
- 多租户微服务之间调用找不到tenant-id(自定义页面)issues/I5AO20
- 中转HTTP请求,解决跨域问题bugissues/3826
- SQL注入及盲注高风险issues/I5C3VP
- 数据权限规则问题issues/3810
- 数据脱敏注解怎么用不了issues/3852
- 根据模板导出excel,无法导出图片issues/I59983
- 指定带过滤条件的字典table在生成代码后失效issues/I59983
- 启动报错,单体应用升级至V3.2.0版本issues/I55DJD
- 启动报错:java.lang.ArrayIndexOutOfBoundsException: -1issues/3653
- 项目启动后报错,数组下标越界issues/I55PDE
Vue2前端
- online在线生成小问题issues/3420
- 通过Online表单开发后,数据达到57万后,导出的excel中提示超时issues/I4JRE8
- 代码生成app页面没有此jsissues/I4WFGF
- character ‘@’ that cannot start any tokenissues/I4XI00
- vue有些页面报错,但是在线演示的却没有issues/I4X63V
- JeecgBoot一对多示例,表单删除issues/I4VYOC
- 项目运行起来后前端访问列表页下的角色列表和用户列表报错issues/3472
- 给新建用户赋予角色的逻辑漏洞issues/3461
- 启动的时候提示信息issues/I52HJC
- 单标签页模式下,打开外部链接 报错误 “这是最后一页,不能再关闭了啦”issues/3546
- 用户为上级 负责部门下拉框选项的数据没有数据,需要从普通切换到上级才能有数据issues/I52Z8Z
- 富文本编辑器在服务器图片上传是相对路径issues/I4BCC3
- j-vxe-table点击事件冲突问题issues/I54E2M
- 部门用户可以有 admin权限的问题issues/3806
- JTreeSelect树形下拉框(异步加载) 自定义查询条件 查询结果问题issues/3709
- 下拉搜索框条件过滤issues/I5DAPN
- 内嵌子表风格bugissues/3800
Vue3前端
- 代码编辑器默认样式改成idea风格
- 支持企业微信/钉钉 oauth2登录
- 角色支持首页配置
- 我的消息–全部已读等接口报错issues/3420
- JTreeSelect 下拉树自定义组件 查询不到数据issues/96
- online配置部门选择后编辑,查看数据应该显示部门名称,不是部门代码issues/I5F3P4
- 前端升级到vue3后,从企业微信和钉钉的工作台免登入失败issues/I5BG1I
- Online对接积木报表后不显示打印按钮issues/3843
- JVxeTypes.upload 文件上传的时候,触发不了编辑issues/I5FTO6
- 是否支持OAuth2登录issues/I5DJZ8
- 附表问题控件类型问题issues/3854
- 列表查看详情,富文本不能下拉issues/I5ABAO
- 顶部菜单混合模式 分割菜单点击 导航无法显示issues/I5BIPO
Autopoi
- [issues/I4PU45] @excel里面新增属性fixedIndex
- 导入字典替换需要将—替换成_,不然数据库会存
- mybatis-plus升级 时间字段变成了jdk8的LocalDateTime,导致格式化失败
- AutoPOI (Excel工具)==>excel根据模板导出功能issues/3687
- AutoPoi excel导入 ImportParams 中没有startSheetIndex参数issues/I57UPC
- autopoi模板导出Excel功能,#fe: 横向遍历不好用issues/3328
为什么选择 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,基于角色的访问控制)
系统功能模块
├─系统管理
│ ├─用户管理
│ ├─角色管理
│ ├─菜单管理
│ ├─权限设置(支持按钮权限、数据权限)
│ ├─表单权限(控制字段禁用、隐藏)
│ ├─部门管理
│ ├─我的部门(二级管理员)
│ └─字典管理
│ └─分类字典
│ └─系统公告
│ └─职务管理
│ └─通讯录
│ └─多租户管理
├─Online在线开发(低代码)
│ ├─Online在线表单 - 功能已开放
│ ├─Online代码生成器 - 功能已开放
│ ├─Online在线报表 - 功能已开放
│ ├─Online在线图表(暂不开源)
│ ├─Online图表模板配置(暂不开源)
│ ├─Online布局设计(暂不开源)
│ ├─多数据源管理 - 功能已开放
├─积木报表设计器(低代码)
│ ├─打印设计器 - 功能已开放
│ ├─数据报表设计 - 功能已开放
│ ├─图形报表设计(支持Echart) - 功能已开放
│ ├─大屏设计器(暂不开源)
├─消息中心
│ ├─消息管理
│ ├─模板管理
├─代码生成器(低代码)
│ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音)
│ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择)
│ ├─代码生成器模板(生成代码,自带excel导入导出)
│ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成)
│ ├─高级查询器(弹窗自动组合查询条件)
│ ├─Excel导入导出工具集成(支持单表,一对多 导入导出)
│ ├─平台移动自适应支持
├─系统监控
│ ├─Gateway路由网关
│ ├─性能扫描监控
│ │ ├─监控 Redis
│ │ ├─Tomcat
│ │ ├─jvm
│ │ ├─服务器信息
│ │ ├─请求追踪
│ │ ├─磁盘监控
│ ├─定时任务
│ ├─系统日志
│ ├─消息中心(支持短信、邮件、微信推送等等)
│ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况)
│ ├─系统通知
│ ├─SQL监控
│ ├─swagger-ui(在线接口文档)
│─报表示例
│ ├─曲线图
│ └─饼状图
│ └─柱状图
│ └─折线图
│ └─面积图
│ └─雷达图
│ └─仪表图
│ └─进度条
│ └─排名列表
│ └─等等
│─大屏模板
│ ├─作战指挥中心大屏
│ └─物流服务中心大屏
│─常用示例
│ ├─自定义组件
│ ├─对象存储(对接阿里云)
│ ├─JVXETable示例(各种复杂ERP布局示例)
│ ├─单表模型例子
│ └─一对多模型例子
│ └─打印例子
│ └─一对多TAB例子
│ └─内嵌table例子
│ └─常用选择组件
│ └─异步树table
│ └─接口模拟测试
│ └─表格合计示例
│ └─异步树列表示例
│ └─一对多JEditable
│ └─JEditable组件示例
│ └─图片拖拽排序
│ └─图片翻页
│ └─图片预览
│ └─PDF预览
│ └─分屏功能
│─封装通用组件
│ ├─行编辑表格JEditableTable
│ └─省略显示组件
│ └─时间控件
│ └─高级查询
│ └─用户选择组件
│ └─报表组件封装
│ └─字典组件
│ └─下拉多选组件
│ └─选人组件
│ └─选部门组件
│ └─通过部门选人组件
│ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单)
│ └─在线code编辑器
│ └─上传文件组件
│ └─验证码组件
│ └─树列表组件
│ └─表单禁用组件
│ └─等等
│─更多页面模板
│ ├─各种高级表单
│ ├─各种列表效果
│ └─结果页面
│ └─异常页面
│ └─个人页面
├─高级功能
│ ├─系统编码规则
│ ├─提供单点登录CAS集成方案
│ ├─提供APP发布方案
│ ├─集成Websocket消息通知机制
│─流程模块功能 (暂不开源)
│ ├─流程设计器
│ ├─在线表单设计
│ └─我的任务
│ └─历史流程
│ └─历史流程
│ └─流程实例管理
│ └─流程监听管理
│ └─流程表达式
│ └─我发起的流程
│ └─我的抄送
│ └─流程委派、抄送、跳转
│ └─。。。
└─其他模块
└─更多功能开发中。。
系统截图
PC端
手机端
PAD端
报表效果
大屏效果
欢迎吐槽,欢迎star~