项目介绍
JeecgBoot是一款基于代码生成器的低代码开发平台,开源界“小普元”超越传统商业企业开发平台!采用前后端分离架构:SpringBoot 2.x,Ant Design&Vue,Mybatis-Plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的低代码开发模式(OnlineCoding模式-> 代码生成器模式-> 手工MERGE智能开发),帮助Java项目解决70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性。JeecgBoot还独创在线开发模式(低代码):在线表单、在线报表、在线图表、在线工作流、插件能力等等。。
当前版本:v_2.2.0 | 2020-05-06
源码下载
- https://github.com/zhangdaiscott/jeecg-boot
- https://gitee.com/jeecg/jeecg-boot
技术文档
- 在线演示: http://boot.jeecg.com
- 视频教程: 实战入门视频
- 技术文档: http://doc.jeecg.com
- 常见问题: http://t.cn/A6voGt6P
升级日志
此版本重构大,历经一个月的版本测试和稳定工作,新增功能较多 ,升级会出现不兼容的情况。
升级不兼容
- 1、升级 ant-design-vue 到最新版本 1.5.2,会导致使用disabled的组件不可用(需要全局替换disabled 为readOnly;另外原来readOnly不允许全小写)
- 2、JSearchSelectTag.vue行编辑的popup传参做了修改,需要全局替换 orgFieldse 为 orgFields
- 3、 项目删除了sass,全部换成 less,其中涉及/deep/语法得改造
- 4、 Online表单的填值规则用法修改了 见文档
较大改造
- 登录的时候一次性加载系统字典,进行前端缓存,减少ajax重复请求
- 修改定时任务quartz配置
- logback-spring.xml配置不按照日期和大小生成新日志文件问题修复
- vue-cli3 编译打包进行zip压缩优化
- 根据index.html页面window._CONFIG['domianURL'],指定 axios的 baseURL(所以vue的代理没有用了)
- JEditableTable重构,新增获取值时应该把临时id去掉、行编辑修改不直接更改数据源的ID
- Online模块重点优化升级、Online代码生成器重点优化升级
- 修复上个版本三个较大问题:行编辑组件存在严重bug、上传支持minio和阿里云切换存在遗漏、Online表单存在较大问题
ONLINE升级
- Online访问权限控制实现,如果online表单配置了菜单,则用户需要授权才能访问此表单
- Online表单新增组件: 省市区地域组件、开关组件、三级联动(级联下拉)组件、markdown组件
- Online表单弹窗宽度,根据不同的列数显示不同的宽度,实现更好的效果
- Online 树表单功能一系列优化,比如数据列新增添加下级按钮功能、添加下级不自动展开列表等问题
- Online JS增强编辑器支持放大,同时JS代码变更,增加版本记忆功能,方便追踪历史
- Online JS增强支持lodash工具
- Online控件 默认值表达式功能 见文档
- Online 增加Excel导入导出转换器配置,针对各种控件的导入导出做了统一处理
- Online 列表字段排序支持配置
- Online同步数据库,数据库兼容性优化(mysql、oracle11g、SqlServer2017)
- Online功能列表,高级查询优化,丰富控件的支持(新增:用户选择、部门选择、时间等)
- Online表单配置,类型Text、date、Blob的字段长度默认设置为0
- Online自定义button,支持位置自定义(支持右侧和下方)
- Online表单列表,列表显示那些字段,支持用户个性化设置
- Online表单删除和移除逻辑优化,防止未同步情况下删除报错
- Online上传逻辑重构,针对单表、一对多行操作,都支持图片和文件上传,同时支持三种模式(minio、阿里云、本地存储)
- Online上传逻辑重构, 行编辑模式,支持图片顺序修改
- Online上传逻辑重构,在列表页面支持图片和文件的展示
- Online表单索引同步逻辑重构,同时支持选择多个字段,组合索引设置
- Online表单 excel导出实现数据权限逻辑
- Online表单列表强制列不换行,自动出现超出滚定条,支持移动端自适应(单表、树和ERP等模型都已修改)
- Online表单管理列表,回车查询和列表左右拖动移动自适应问题
- Online表单附表序号必填
- Online表名加校验不能全是数字,自动trim空格
- Online 一对多tab必填校验不通过,添加友好提醒
- Online表单控件默认值示例
- Online一对多内嵌子表风格,高级查询不好用,过滤不了数据处理
- Online表单 自定义校验规则正则,录入不成功问题处理
- Online表单设置不分页,排序后又分页了问题处理
- Online表单,下拉搜索组件,表字典配置加条件,下拉值出不来问题处理
- Online表单,一对一子表,下拉选择、时间等组件被遮挡问题处理
- Online表单树模型和一对多ERP模板支持href
- Online 报表支持上下文变量表达式
- Online 报表实现数据权限逻辑
- Online 报表新增拖动字段顺序
- Online 报表列表,sql过长截取显示
- Online 报表,popup回车查询
- Online表单auto页面弹窗改成JModule;online表单移动自适应;
Online代码生成器升级
后期重点维护ONLINE模式的代码生成器,GUI模式逐步弃用。
- 新增内嵌Table代码生成器模板
- 升级代码生成器依赖,支持返回生成结果&支持服务器端生成代码config
- 代码生成器列表,列表自适应优化,支持移动效果(强制列不换行,不过有弊端, 见文档 )
- 实体生成,自动带着swagger 注解(支持单表、一对多等模型)
- 代码生成器,列表移动自适应样式修改
- 生成后的代码导入导出bug修复
- online树代码生成器模板,直接删除一级分类会导致列表乱
- ERP代码生成器模板升级,子表支持导入导出
- ERP风格代码生成器模板问题(导入导入路径错误、swagger注解问题)
- 代码生成器,校验为空的话不生成,简化生成的代码
- 代码生成器,支持子表校验生成
- 树形列表代码生成器优化,添加子节点
- 修复bug: online字典未配置,代码生成器报错问题
- 生成的实体字段excel注解,针对系统标准字段,创建人、创建时间等字段不生成
- 生成的表单弹窗统一更换为j-modal,支持放大缩小全屏
- 代码生成,popup参数大小写 驼峰问题修复
- 生成的表单控件类型更丰富,新支持控件:markdown、省市区地域、密码、下拉搜索
- 生成的列表查询区域,控件支持加强,新支持控件:省市区地域、下拉搜索、popup、选择用户、选择部门
平台基础升级
- 针对auto隐藏路由菜单,实现自动授权,简化online菜单的授权
- IDE中找不到sun.misc.BASE64Encoder jar包问题
- 删掉作废获取所有用户角色列表接口,接口有性能问题
- 在我的消息里点击已读以后,首页上面的通知红点并没有同步更改问题修复
- 用户与部门取消关联删除关联关系bug修改
- 部门导入未刷新redis缓存
- 修复SysPermissionMapper.xml 的SQL语句不兼容SQLServer的问题
- 在线动态数据源代码重构
- 【二级管理员】部门修改、删除权限时关联删除部门角色数据
- 【二级管理员】我的部门,选中部门只能看当前部门下的角色
- 我的消息支持模糊查询
- 常用示例-对象存储文件上传优化
- 用户相关功能,sql写法不兼容其他数据库问题修复
- 图片上传组件修改
- 导入功能优化,提示准确导入成功失败信息,涉及功能 用户、角色、部门、字典、定时任务等
- 增加生产环境禁用swagger-ui配置
- 第三方登录代码集成
- 系统公告优化
- MockController 返回json数据,utf-8格式化,防止中文乱码
- 部门删除后删除部门角色等关联
- 分类字典支持选择数据,添加下级分类
UI组件升级
- 升级 ant-design-vue 为最新版本 1.5.2
- 登录验证码获取失败的时候,不显示空白
- 升级 ant-design-vue,JModal切换全屏按钮因ant升级错位问题修复
- 简化 j-modal 的相关代码
- 封装常用组件示例;JInput新增当 type 变化的时候重新计算值
- markdown集成
- 富文本支持minio上传
- 选择用户组件列表样式错位;Ellipsis.vue 优化
- JModal移动端全屏效果
- 高级查询只有在 in 模式下才能多选
- 自定义选择用户组件JSelectMultiUser的宽度和截取显示长度
- 行编辑 JEditableTable移动自适应效果;
- JEditableTable重构 行编辑新增合计功能
- JEditableTable重构 行编辑Popup请求数量过多(加缓存机制)
- JEditableTable重构,行编辑InputNumber扩展支持输入小数和负数
- JEditableTable.vue disable模式禁用添加删除按钮
- JEditableTable行编辑, popup返回值,时间赋值有问题
- JEditableTable行编辑,日期控件显示错位问题
- 高级查询移动自适应效果;
- 高级查询保存的同时也要保存匹配方式(支持and or)
- 高级查询混入统一修改
- 高级查询选择用户组件时,点开用户弹框不选择用户,直接关掉用户弹框,再次点击弹框时,无法点开问题
- 高级查询组件支持,新支持组件,选择人、选择部门、popup、时间等
- JPopup支持多选
- JPopup返回值null问题
- JPopup列表数据不刷新问题
- JSearchSelectTag.vue匹配不上数字值问题
- JSelectUserByDep 根据部门选择人组件bug
- JTreeDict.vue 分类字典组件 清空不了问题
- 常用示例,新增搜索下拉 JSearchSelectTag.vue例子
- 常用示例,新增如何关闭当前页面例子
- 常用示例,省市区三级联动的例子
- 常用示例,增加字典下拉多选组件示例
- 示例demo,关于图片的做统一优化
Issues处理
- Online表单开发,点击“新增”按钮,是否树:选择是,页面控制台报错 issues/I1BHXG
- online form表单项能否支持配置有级联关系的内容 #948
- 全局拦截异常错误的提醒文字 #768
- 建议:城市级联选择组件 #905
- 表单配置中检验字段配置href,报表中该配置字段无法看到链接 #961
- SysUserMapper.xml查询脚本数据兼容问题 #962
- 在线表单 提示 ButtonExpHandler is not defined #957
- online表单中添加自定义按钮无法显示 #973
- online报表不支持按照登录用户过滤数据 #934
- 点击新增或者编辑按钮弹框宽度的设置问题 #974
- online报表配置中使用系统参数,报错 I1AWNM
- online增强SQL变量取数为null,#{sys.sys_date} 还有#{sys.sys_time} #999
- 一个主表,多个付表。1对多。保存后,某些从表行项目内容保存成功,单重新打开数据表现丢失。 #997
- /online/cgform/api/exportXls/{code}接口问题 #1012
- 打成jar包,访问不到代码生成器模板 #1010
- online表单开发,打包后模板找不到 #865
- 已生成的代码,子表最下下行添加合计行底部固定问题 #936
- 下拉搜索框在编辑时下拉name无法带过来 #971
- 建议autoPoi升级,优化数据返回List Map格式下的复合表头导出excel的体验 #873
- 配置 Href 跳转,并没有显示为超链接 #1020
- 首次打开一对多表单,JEditableTable的addDefaultRowNum属性不生效 #1003
- autopoi 双表头问题 #862
- 应该是权限管理bug #110
- 在线 的online报表报错 #1029
- online代码生成器树形表单父节点字段名称问题 issues/I1ABGV
- 点击j-popup,里面有数据,如果选择同名的数据,文本框为空 #1044
- 关于table列宽可拖动问题 #1054
- 单表数据导出多表头 auto 的Excel注解 groupName属性 #1053
- 在线报表和在线online的问题 #1030
- J-pop组件 #1043
- 2.1.4 日志管理---没有记录查询接口参数 #1070
- 服务器日志超过设置的MaxFileSize时 #1130
- online 表单中,在 附表中存在上传图片组件,点击上传图片并提交,显示提交失败 #1074
- online表单js增强修改从表控件值问题 #1051
- 重复代理问题 #994
- 系统使用的日志包有问题 #887
- 使用sqlserver数据库,用户管理查询出错 #1140
- 主表和从表 一对一关系表单 TypeError: Cannot read property 'getAll' of undefined #1129
- ERP表单附表数据编辑后消失 issues/I1DN3B
- 多表的erp模式生成的子表,表单没有导入导出功能 issues/I1BB2U
- 用edge打开首页,整个页面动不了,控制台console打出很多错误 issues/I189B5
- 官方的快速开发平台主子表对IE11不兼容 issues/I17LEE
- 360兼容模式 修改为你说的js之后;单表的数据兼容可以;主子表的不加载;错误如下 issues/I17H8L
- Online表单开发,点击“新增”按钮,是否树:选择是,页面控制台报错 issues/I1BHXG
为什么选择 JeecgBoot?
开源界“小普元”超越传统商业企业级开发平台。引领新的开发模式(Online Coding- > 代码生成器 - > 手工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,基于角色的访问控制)
系统模块
├─系统管理
│ ├─用户管理
│ ├─角色管理
│ ├─菜单管理
│ ├─权限设置(支持按钮权限、数据权限)
│ ├─表单权限(控制字段禁用、隐藏)
│ ├─部门管理
│ └─字典管理
│ └─树分类字典
│ └─系统公告
│ └─我的组织机构(部门角色、部门权限)
│ └─职务管理
│ └─通讯录
├─消息中心
│ ├─消息管理
│ ├─模板管理
├─智能化功能
│ ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音)
│ ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择)
│ ├─代码生成器模板(生成代码,自带excel导入导出)
│ ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成)
│ ├─高级查询器(弹窗自动组合查询条件)
│ ├─Excel导入导出工具集成(支持单表,一对多 导入导出)
│ ├─平台移动自适应支持
├─系统监控
│ ├─性能扫描监控
│ │ ├─监控 Redis
│ │ ├─Tomcat
│ │ ├─jvm
│ │ ├─服务器信息
│ │ ├─请求追踪
│ │ ├─磁盘监控
│ ├─定时任务
│ ├─系统日志
│ ├─消息中心(支持短信、邮件、微信推送等等)
│ ├─数据日志(记录数据快照,可对比快照,查看数据变更情况)
│ ├─系统通知
│ ├─SQL监控
│ ├─swagger-ui(在线接口文档)
│─报表示例
│ ├─曲线图
│ └─饼状图
│ └─柱状图
│ └─折线图
│ └─面积图
│ └─雷达图
│ └─仪表图
│ └─进度条
│ └─排名列表
│ └─等等
│─大屏模板
│ ├─作战指挥中心大屏
│ └─物流服务中心大屏
│─常用示例
│ ├─自定义组件
│ ├─对象存储(对接阿里云)
│ ├─单表模型例子
│ └─一对多模型例子
│ └─打印例子
│ └─一对多TAB例子
│ └─内嵌table例子
│ └─常用选择组件
│ └─异步树table
│ └─接口模拟测试
│ └─表格合计示例
│ └─异步树列表示例
│ └─一对多JEditable
│ └─JEditable组件示例
│ └─图片拖拽排序
│ └─图片翻页
│ └─图片预览
│ └─PDF预览
│ └─分屏功能
│─封装通用组件
│ ├─行编辑表格JEditableTable
│ └─省略显示组件
│ └─时间控件
│ └─高级查询
│ └─用户选择组件
│ └─报表组件封装
│ └─字典组件
│ └─下拉多选组件
│ └─选人组件
│ └─选部门组件
│ └─通过部门选人组件
│ └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单)
│ └─在线code编辑器
│ └─上传文件组件
│ └─验证码组件
│ └─树列表组件
│ └─表单禁用组件
│ └─等等
│─更多页面模板
│ ├─各种高级表单
│ ├─各种列表效果
│ └─结果页面
│ └─异常页面
│ └─个人页面
├─高级功能
│ ├─系统编码规则
│ ├─提供单点登录CAS集成方案
│ ├─提供APP发布方案
│ ├─集成Websocket消息通知机制
├─Online在线开发(暂未开源)
│ ├─Online在线表单 - 功能已开放
│ ├─在线代码生成器 - 功能已开放
│ ├─Online在线报表 - 功能已开放
│ ├─系统编码规则生成
│ ├─系统编码规则校验
│ ├─多数据源管理
│ ├─Online在线图表
│ ├─Online图表模板
│ ├─表单设计器
└─其他模块
└─更多功能开发中。。
系统截图
大屏数据模板
PC端
手机端
PAD端
欢迎吐槽,欢迎star~
原文
https://www.oschina.net/news/115417/jeecg-boot-2-2-0-released