JeeSite v4.3.0 发布,依赖升级、断点上传、表格升级、BPM 撤回等

来源: 投稿
作者: ThinkGem
2021-07-16

升级内容

框架升级

  • 升级 Spring Boot 2.5.2、MyBatis 3.5.6、Jackson 2.12.3、Druid 1.2.6、Beetl 3.3 等等其他众多依赖

  • 升级 Spring Cloud 2020.0.3、Alibaba Cloud 2021.1、Nacos 2.0、Seata 1.4.2 等等其他众多依赖

  • 新增 readwriteSplitting 读写分离配置(不依赖shardingsphere)、高性能、支持复杂SQL、两种读库负载均衡算法、支持附加数据源读写分离、支持读写分离数据源事务

  • 新增 mybatisDaoAndDataSourceMappings 配置,指定 MyBatisDao 与数据源映射,支持使用 yml 配置的方式,即可指定 Dao 对应的数据源;数据源名支持变量,包括:{corpCode}、{userCode}、{userCache中的Key名}、{yml或sys_config中的Key名},支持分库分模式的租户模式

  • 新增 ajaxParamName、ajaxHeaderName、sessionIdHeaderName、sessionIdCookieSecure、writeCookieParamName、rememberMeHeaderName、contentSecurityPolicy 参数,详情可看 yml 对应注释

  • 新增 gen.checkTableExists 参数,支持启动项目时,不检查平台表是否存在,不执行数据库自动更新程序

  • 新增 job.jobStore.driverDelegateClass 参数,可自定义 Quartz 方言

  • 在线文档 swagger ui 替换 knife4j ui 升级体验

  • 分库分表框架 ShardingSphere 升级到 5.0

  • i18n 语言设置,支持客户端存储和读取

  • 新增 LDAP 认证登录

  • 支持神通数据库

功能模块

  • 代码生成:生成环节新增子表展示,生成结果的界面预览,更直观展示生成的内容

  • 表单实例:新增9栅格布局,方便支持3列表单,第一个标签对齐演示

  • 表单实例:新增A4纸格式的表格表单/单据实例/表单打印等实例

  • 表单实例:新增下拉框级联选择组件,城市联动例子

  • 主题美化:主子表样式美化,可编辑表格样式美化

  • 用户管理:导入导出问的人比较多,放到醒目位置

  • 用户管理:搜索条件新增,按角色查询框

  • 用户类型:授权角色,支持其它用户类型角色授权

  • 字典管理:增加图标设置,下拉框选项前显示图标

  • 模块管理:限制内置模块不能创建代码,防止创建空模块的误解

  • 文件预览:增加预览图片窗口的上一张和下一张功能

  • 内容管理:栏目和站点添加快捷进入站点链接

  • 菜单管理:地址变量新增 corpCode、corpName、userCache 中的 Key

  • BPM 内核 Flowable 升级到 6.6.0 版本,忽略 Flowable 的数据库版本更新错误检查

  • BPM 新增导出和导入流程 zip 压缩包(包含:流程bpmn、流程图、表单、流程事件)

  • BPM 新增撤回/取回/撤销功能,当下一步未办理时,可进行该操作

  • BPM 新增退回快捷键:退回到发起人、退回到上一步、退回到任意环节

  • BPM 流程退回环节列表优化,只能选择上游节点

  • BPM 增加流程选项的一些工具提示

  • BPM 脚本编辑器离开的光标隐藏,美化界面

  • BPM 增加脚本安全简单检查代码

  • BPM 打通业务和任务,支持从我相关的流程和业务表单里进入,进行快速办理任务

  • BPM API 方面新增通过业务找当前用户的任务接口

  • BPM 增加 CMD 权限验证,提高接口调用的安全性

  • BPM 优化已知异常,控制台不显示无用的错误信息,方便审计

  • BPM 表单模式的时候,待办、已办、我相关的页面,改进点击没有进行弹窗的问题

  • BPM 模型设计器,如果不是删除全部,则恢复第一个历史数据,作为新版本使用。删除的版本存入历史版本

  • BPM 模型设计器,增加自定义 flowable.modelerMybatisMappingFile 设置

  • BPM 模型设计器,增加分页功能,数据多的时候提升性能

  • 数据大屏:内核升级,新增导出、新增数据源、新增模板库、众多功能改进

工具组件

  • DataGrid 新增右侧锁定列,演示详见用户管理列表;

  • DataGrid 支持小屏幕或大屏幕情况下自动隐藏锁定列;

  • DataGrid 支持多表头情况下的锁定列;

  • DataGrid 支持分组表的展开和折叠锁定列;

  • DataGrid 完成ie9+及其他所有浏览器的锁定列测试;

  • DataGrid 列名为actions的操作列自动为锁定列;

  • DataGrid 子表新增单选框和复选框的支持

  • DataGrid 新增支持 url+postData 方式的排序功能

  • DataGrid 给操作列增加一些默认值 fixed:true,frozen:true,sortable:false,title:false 所以去掉代码里的默认设置

  • DataGrid 编辑的表格默认表格左上角显示加号;

  • DataGrid 新增新增行属性和事件:插入行位置、插入位置源、插入行后回调

  • DataGrid 默认启用表单验证,layout 添加 libs: [‘validate’](升级注意)

  • DataGrid 优化体验,点击分页控件后数据滚动到顶部

  • DataGrid 的行 id 将为空,导致代码生成的列出现非编辑状态的问题

  • $(element).select2() 替换为 js.select2() 方便统筹

  • Excel 新增 RoleListType 导入导出类型转换类

  • Excel 改进导入导出,属性为对象的时候,不用再进行判断为空并new对象了

  • xssFilter 去掉 UReport 的单引号和双引号的替换

  • xssFilter 和 sqlFilter 增加附加参数,方便追踪调用来源

  • JsonMapper 增加日期类型的默认转换格式,并兼容 @JsonFormat 注解

  • PropertiesUtils 增加 getPropertyToBoolean、getPropertyToInteger 方法

  • ReflectUtils 支持级联对象为空的方法赋值

  • CacheUtils 增加 get 带 ttl 参数的方法

  • OAuth2 新增 oauth2.

    .className 配置参数,支持自定义客户端

  • ObjectUtils.toDouble 支持带 * 的值,方便字节赋值,如:10*1024*1024

  • FileUploadUtils.saveFileUpload 增加 entity 参数,以便支持 @RequestBody 的文件上传接口

  • 上传文件 新增 上传断点续传 file.checkpoint,支持多线程并发分片上传

  • 上传文件 新增 是否启用秒传开关 file.checkmd5,关闭后不检查 MD5

  • 强化 md5File 截取前后内容,更确保唯一性,支持读取超大文件秒级完成

  • JustAuth 升级到 1.16.1

  • WxJava 升级到 4.0.9

其它改进

  • IE 下的登录输入框右侧的图标被叉号盖住的问题优化

  • 文件上传优化 ie10 ie11 支持h5,就不需要安装flash

  • 优化体验,弹窗内容高度与设定高度差值小于50的自动修正高度

  • 改进消息推送高并发下报错 ConcurrentModificationException 问题

  • 记住用户名 Cookie 增加过期时间(如果不指定可能会 Session 失效后过期)

  • 如果默认数据源,不是 DruidDataSource 数据源,则创建新的 job 数据源

  • 优化 preInsert 的 this.updateBy 属性赋值 改为 this.setUpdateBy 方法赋值

  • 将带下划线的请求头,改为减号,统一规范,省去一些设置

  • 修正当 job.autoStartup 为 false 的时候,导致永久不能启动的问题

  • SpringBoot 2.4 以后不支持 .json 后缀的 URL 的问题改进

  • data-layer-full=”true” 有时无效的问题修正

  • form:treeselect 的搜索 change 加一点延迟

Cloud微服务

  • 移除 ribbon 替换为 loadbalancer,移除 hystrix 替换为 sentinel,升级时注意依赖管理

  • 更新 Cloud 版本的代码生成器(强劲生成,提供微服务模块生成和增删改查生成,无需手写一行代码)

  • 新增 test3 模块,用来展示代码生成示例结果,该模块完全没有手写,全部为生成的

  • POM 依赖,结构优化调整,增加 parent-web 项目,方便统一维护 web 项目必须的一些依赖

  • 修正 EmpUtils.getOffice() 的时候报找不到 employeeService 的问题 v4.2.3+

  • 开箱即用,简化 Seata 分布式事务处理的操作

升级方法

  • 升级前请先备份数据库,因为升级 Flowable 后,可能会导致旧项目启动异常

  • 修改 pom.xml 文件中的 jeesite-parent 版本号为 4.3.0-SNAPSHOT

  • 如果你导入了 jeesite-common 源码项目,请与 git 上的代码进行同步

  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

  • 升级 SpringBoot 2.5 文档:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes

  • 升级 ShardingSphere 5.0 文档:https://github.com/apache/shardingsphere/releases/tag/5.0.0-beta

  • DataGrid 给操作列增加了 fixed:true 默认值,检查所有列表的操作列是否显示完整

  • 如果 DataGrid 页面的 layout 添加了 libs: ['validate'],将会默认启用搜索条件的表单验证

  • 请求头重命名:原 Header 名称 __ajax、__sid,更改为 x-ajax、x-token、x-remember

  • Swagger ui 替换 knife4j ui,不支持 API 名称中带 / 斜杠,请替换为 - 减号

  • 重命名类 CasAuthenticationFilter 为 CasFilter;FormAuthenticationFilter 为 FormFilter;PermissionsAuthorizationFilter 为 PermissionsFilter;RolesAuthorizationFilter 为 RolesFilter

  • Cloud 升级 nacos 2.0.2,升级文档:https://nacos.io/zh-cn/docs/2.0.0-upgrading.html

  • Cloud 移除 ribbon 替换为 loadbalancer,移除 hystrix 替换为 sentinel,升级时注意依赖管理

  • Cloud 替换 jeesite-cloud-42 为 jeesite-cloud-43,注意配置文件引用路径

  • 本次升级了众多依赖,请完整测试。

展开阅读全文
11 收藏
分享
加载中
更多评论
0 评论
11 收藏
分享
返回顶部
顶部