项目介绍
JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性!
当前版本:v2.4.2 | 2021-01-26
源码下载
- https://github.com/zhangdaiscott/jeecg-boot
- https://gitee.com/jeecg/jeecg-boot
技术文档
- 技术官网: http://www.jeecg.com
- 在线演示: http://boot.jeecg.com
- 技术文档: http://doc.jeecg.com
- 常见问题: http://jeecg.com/doc/qa
- 视频教程: http://jeecg.com/doc/video
- QQ群:③816531124
升级日志
此版本为深度测试版本,历经一个月的集中测试,主要修复已知bug和强化功能,重点升级了代码生成器、集成了积木报表,提供在线报表设计工具。积木报表: http://jimureport.com/plan
代码生成器升级
- 数据库兼容性深度测试、简化生成代码、丰富组件的支持
- 支持自定义树生成组件生成
- 支持高级查询的下拉多选、下拉搜索的生成
- 在oracle下代码生成报错处理
- ERP风格 子表配置唯一校验,输入时报错
- 一对多代码生成,子表未清空子表数据(导致数据混乱问题)
- 支持更多校验规则生成
- 大字段Blob类型支持强化
- 简化生成的VUE代码,自定义组件改成全局注册
- 生成目录选择缓存失效问题
后台功能升级
- 集成了积木报表JimuReport
- 重构分布式锁模块
- 升级minio版本到8.0.3
- 升级autpoi版本到1.2.5
- 解决第三方登录justauth新版依赖 okhttp版本冲突--
- 上传文件名中文转字母逻辑删掉
- 支持逗号的等于查询 如(下拉多选)
- SpringBoot监控请求Httptrace不见处理
- sysUser中rel_tenant_ids为空时,可能导致MybatisPlusConfig中出现空指针异常
- 【高级查询】 oracle 日期等于查询报错
- 导入Excel校验类FieldPresenceUtil 迁移到autopoi中
- 【单元测试】新增几个单元测试类
- 消息推送Websocket加入redis发布订阅功能,支持集群
- 字典数据值维护功能,添加重复校验
- sys_gateway_route表字段persist 命名不规范修改
- 【分类字典】子节点全部删除后,父节点仍然显示 点开后无子节点问题
- 日志保存失败,导致业务操作也失败问题
- 多数据源配置,多增加了几种数据库类型
- 职位功能导入失败处理
前端UI升级
- 删除无用的组件,简化代码
- 自定义组件改成全局注册,省去了组件手工引入
- 升级ant-design-vue到最新1.7.2
- CardList列表加载不出来处理
- 消除路由编辑界面添加path报错
- 用户编辑头像为空的情况下,无法改头像
- 系统公告,查看均可编辑保存成功修改
- 上传组件样式问题修复
- 数据字典禁用和正常区别开,添加背景颜色
- 退出登录清空缓存的用户信息
- 【严重问题】首页的系统设置没了
- 省市区组件导致切换页面浏览器报错
- 唯一校验为空页面出现异常代码问题
- popup支持带逗号查询
- 下拉搜索性能优化,支持指定页数查询
- 高级查询popup支持多选
- JVxeTable匹配删除按钮权限控制报错
- JVxeTable新增组件 选择用户选择部门
- 字典常用js方法改成全局注册initDictOptionsinitDictOptionsfilterMultiDictTextfilterDictTextfilterDictTextfilterDictTextByCache
- 错误处理Error in render: "TypeError: Cannot read property 'style' of undefined"
- 首页风格,暗黑风格还原
低代码功能升级
- Online表单一对一支持设置默认值
- Online表单提交之前新增 beforeSubmit方法
- Online功能测试,行编辑组件默认换成JVxeTable(支持切换)
- Online视图支持唯一校验规则
- Online视图去除增强配置按钮
- Online 树形列表支持滚动条
- Online功能测试数据默认排序改成id
- Online popup支持翻页多选
- Online文件上传上传失败提示并删除无效预览
- 【Online表单】校验字段-验证规则 6-16位数字实际可输入18位数字 单表及行编辑
- 【Online表单权限】行编辑的问题,一对多子表,子表'新增' '删除' 按钮未控制
- 【Online】sql增强 java增强配置页面修改成列表方式
- 【Online】行编辑组件JVxeTable, 日期、时间控件长度修改
- 【Online】报表排序bug优化
- 【Online】树形列表bug修改后,还是显示原来值 暂时去掉缓存
- 【Online】表单行编辑组件,支持选择人、选择部门等组件
- 【Online报表】sqlserver下配置oracle多数据源,时间查询报错
Issues处理
- 【online】2.4版本更新后子表onlChange方法不生效 #2059
- Jackson配置WRITE_NUMBERS_AS_STRINGS 之后,页面崩溃,精度丢失问题没法解决 #2075
- 2.4Redis工具存入key,value取不出来 #2071
- 2.4 表单js增强 主表修改子表无法进入return语句块中 issues/I2818V
- 代码生成器bug反馈 issues/I256ZE
- online表单生成视图超过2个报错 #2080
- 前端增加用户模块 密码的校验规则没有生效 #2063
- 2.4在线表单导入配置java增强,不会抛出异常,即使导入不成功也不会。 #2070
- 注册用户总是提示“手机验证码错误” #2081
- 当用户单租户多部门时存在未setTenant的BUG #2053
- 设置菜单消失 #2079
- 2,4版本问题如果url中有包括中文(已编码),就报400 Bad Request #2069
- j-search-select-tag 使用下拉搜索框 加载字典数据 因数据太多 选择点击时 慢 甚至卡死 请求优化方案 #1924
- popup多行错位 #2093
- 列表自定义项,弹出的popover会随columns的个数及title长度而不合理地变宽 #2030
- 生成的表单复制到项目内,如果菜单配置为一级菜单后,各一级菜单切换时,页面刷新有问题 #1843
- 首页点击其他菜单跳转页面时,2个页面会出现同时出现的问题 #1893
- 附表如何添加部门、用户等基础资料的选择 #2118
- MySQL 8 persist关键字问题报错 #2140
- 于SpringBoot 请求参数包含 [] 特殊符号 返回400状态 #1795
- 上传图片报错 #2090
- 正式环境Redis的keys问题 #1778
- 高级查询组件中无法关闭popup #2099
- Online控件默认值表达式 使用 系统上下文变量 有bug issues/I28TH9
- 代码生成器 生成的一对多表单关闭modal 后没有重置子表数据 点击新增后 会显示上一次编辑的表单数据issues/I29E6M
- hutool包冲突 issues/I2CFAS
- 后端省市区ProvinceCityArea读取json文件bug #2179
- 系统通知,报错 #2153
- 2.4版 jeecg-boot-module-demo下的SampleTest测试运行不起来 #2216
- 建议sys_gateway_route表字段persist修改一下 issues/I281X6
- online 代码生成的vue页面和online功能测试中的不一致。在功能测试中商品分类是树状下拉框,生成代码后变成input框了。 #2044
- 列表自定义项,弹出的popover会随columns的个数及title长度而不合理地变宽 #2030
- 2.4版本在线生成主附表 生成有误 issues/I29ZGO
如果你是老版本JeecgBoot,也需要积木报表,可以手工集成 ,参考文档 http://report.jeecg.com/2078875
为什么选择 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,基于角色的访问控制)
系统功能模块
代码语言:javascript复制├─系统管理
│ ├─用户管理
│ ├─角色管理
│ ├─菜单管理
│ ├─权限设置(支持按钮权限、数据权限)
│ ├─表单权限(控制字段禁用、隐藏)
│ ├─部门管理
│ ├─我的部门(二级管理员)
│ └─字典管理
│ └─分类字典
│ └─系统公告
│ └─职务管理
│ └─通讯录
│ └─多租户管理
├─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~