升级内容
- 后端依赖:springboot 2.2.8、spring framework 5.2.7、mybatis 3.5.5、mybatis-spring 2.0.3、jsqlparser 3.1、druid 1.1.22、shiro 1.5.3、j2cache 2.8.0、beetl 3.1、commons-fileupload 1.4、commons-beanutils 1.9.4、commons-text 1.8、ant 1.10.7、jackson 2.11.0、fastjson 1.2.70、dom4j 2.1.1、jsoup 1.12.2、thumbnailator 0.4.11、twelvemonkeys 3.5、blade-patchca 1.1.2、zxing 3.4.0、poi 4.1.2;
- 其它依赖:tomcat 9.0、mysql jdbc 8.0、oracle ojdbc8、jtds 1.3.1、mssql 7.4.1、postgresql 42.2 等等;
- JeeSite Cloud 版本:spring cloud Hoxton.SR5 2.2、openfeign 10.10.1、nacos 1.2.1、zipkin 2.19.3
- 前端依赖:jquery 3.5、toastr 2.1 等等(兼容 ie9+ 及其它所有浏览器)支持前后分离应用 API 自适应;
- 重构数据库初始化程序,耦合性更低,各自模块管理各自的初始化脚本和版本升级脚本;自动检测模块相关数据表的安装状态,根据情况初始化;官方升级模块中不会包含任何删除操作,防止误操作所以脚本更安全。
- 新增插件:JS/CSS 压缩 Maven 插件工具,支持 ES6 语法。
- JeeSite Cloud Hoxton 2.2 增强版同步发布。集成阿里优秀组件 Nacos 服务治理与配置中心、集成 Sentinel 流量卫兵;集成 Zipkin 链路追踪;集成 LCN 分布式事务等,详见 JeeSite Cloud 介绍,你一定喜欢。
- 支持 JDK 11。
内置功能
- 用户选择组件:新增左树右表结构展现,支持维度:按组织机构、按岗位查询、按角色查询、按用户类型查询
- 新增文件预览模块:jeesite-module-filepreview(替代原模块 weboffice)支持 office 转换为 pdf 在线预览(LibreOffice);支持图片放大缩小旋转等操作;支持视频在线播放,支持 txt 等在线预览。
- 新增可视化数据大屏模块:jeesite-module-visual(Avue-data 的后台实现)拖拽即可无需编程就能轻松搭建数据大屏,多种图表组件支撑多种数据类型的分析展示
- 安全审计:新增账号密码审计(未修改初始密码、使用简单密码、定期未修改密码、长期未登录、未设置密保、以上全部、审计结果数据导出);菜单权限审计(根据菜单及权限查询用户);用户权限审计(根据用户查询菜单及权限);有效审查账号及关键功能权限的安全范围。
- 访问日志:新增日期快速选择范围示例(如:今日、本周、本季度、上月)
- 访问日志:新增登录失败日志记录,方便安全审计
- 新增 jeesite-module-oss-minio 云存储模块
- 优化体验:Tab页签新增右键:新窗口打开
- 服务器监控:信息监控内核升级改进
- 新增亮蓝主题
前端组件
- form:fileupload 组件:增加一些回调事件,如创建、完成、添加和删除文件;
- form:fileupload 组件:支持上传后,即可预览文件;支持点击文件名预览或者下载
- form:fileupload 组件:新增图片放大缩小旋转预览;禁止重复上传文件等;
- form:select 组件:新增 itemStatus 属性,支持停用的字典也显示到列表里,但是不可选择,使用方法:dictType 加 __all 后缀,则返回不选择的停用状态的字典。
- form:radio、form:checkbox、form:select 组件:增加只读属性,可以替代 disabled + hidden
- form:radio 组件:新增 blankOption;select 新增 blankOptionValue 给空白选择项目设置一个值
- form:treeselect 和 listselect 组件:新增弹窗之前调用的函数,可修改弹窗 options 选项,或阻止弹窗
- form:treeselect 树选择优化:只有双击节点的时候才关闭树。
- form:listselect 组件:新增 setSelectDataFuncName、checkFuncName 属性
- 新增 beetl dict 工具:简化 DictUtils 的书写,如:dict.label、dict.value、dict.json
- 全面优化 js.confirm、ajaxSubmit、ajaxSubmitForm 方法,支持 options 对象参数,增强扩展性
- select2 多选情况下不自动关闭,并禁用 First Item 高亮
接口优化
- 登录接口:优化多次调用登录接口,允许改变登录身份,无需退出再登录
- 登录接口:登录提交信息加密 shiro.loginSubmit.secretKey 新增 Base64 的支持
- 消除缓存工具误用,将 CacheUtils 里的 sysCache 缓存分离出 SysCacheUtils 工具
- 新增使用智能参数接收器,同时支持 JSON 和 FormData 的参数接受,一接口多用
- 优化 crudservice 的 delete 方法,支持传递 id_in 接受多条数据删除
- page 优化,简化手机端应用,当填写没有的页码的时候返回空数据
- 用户类型接口优化,Cloud 环境下从基础微服务中获取数据
- __ajax=json 支持添加到 header 里面,简化 url 参数
其它改进
- 数据权限:新增 API 方式实现(适应 Cloud 环境,基础用户表与业务数据表跨库的情况)
- 新增配置:jdbc.remarksReporting 连接属性设置(可获取到表的remark备注)
- 新增配置:web.jsonp.enabled 参数,默认不开启(为兼用旧版保留,建议使用 CORS)
- 新增配置:web.view.favorPathExtension 和 favorParameter 参数,默认关闭 .json、.xml 后缀匹配,默认开启使用 __ajax=json、__ajax=xml 参数名称匹配
- 移除 j2cache.properties 配置文件,将内容移动到 application.yml,并加 j2cache 前缀,统一管理。
- BPM:任务列表,新增按流程名称查询、表单KEY查询、业务KEY查询等
- BPM:退回到指定处理人更准确(当退回节点没有处理人的时候优化)
- BPM:特事特办自由跳转后,支持跳转的节点设定处理人。
- BPM:flowable 脚本初始化改进,解决因jdbc驱动高版本和使用低版本数据库时导致初始化失败问题
- BPM:BpmTask 增加 claimTime 签收时间和接受人编码 assigneeCode 字段
- BPM:提交意见存储 bytes 重写,解决不受部署环境影响导致的存储意见数据乱码问题。
- JOB:增加按名称和分组查询条件;增加查询权限控制(系统为全局任务;普通看自己创建;管理员看全部)
- Swagger:支持微服务文档管理,微服务访问路径:${adminPath}/${spring.application.name}/swagger/swagger-ui.html
- mybatis 类型别名扫描 有原来的 BaseEntity 替换为 @Table 注解扫描,避免有些不想被扫描的到的实体作为别名。
- JsonMapper、XmlMapper:操作工具类,增加 JsonView 过滤参数,方便过滤所需数据
- datasource:数据源切换增加缓存提高性能(Class.forName可能会消耗时间)
- datasource:新增 jdbc.encrypt.url 是否加密参数
- sqlserver jdbc:支持 xa 数据源;新增 h2 数据库初始化
- 替换 docker 插件,可直接通过 maven 插件部署和运行
- excel 工具支持字典数据为多个的时候的数据解析
- excel 导入工具支持 BigDecimal 类型
- 其它各种细节优化改进。
升级方法
- service.get(pkClass, pkValue, isNewRecord) 替换为 service.getAndValid(),参考 EmpUserController
- service.findPage(page, entity) 替换为 entity.setPage(page); service.findPage(entity);
- service.convertChildList(sourceList, targetList, parentCode) 替换为 service.convertTreeList(sourceList, parentCode)
- fileUploadService.compressImage 替换为 ImageUtils#thumbnails(File, int, int, String)
- common 项目的 com.jeesite.common.idgen.IdGenerate 重命名为 com.jeesite.common.idgen.IdGen
- mybatis 类型别名扫描有原来的 BaseEntity 替换为 @Table 注解扫描,如果提示找不到别名就添加此注解
- shiro.loginSubmit.secretKey 加密默认为 Base64,请注意更新 DesUtils.java 和 des.js 文件
- 对象序列化统一管理,请将 com.jeesite.common.lang.ObjectUtils 类更新到最新版本
- 系统缓存 sysCache 消除无用,接口改进,替换如下:
- CacheUtils.get(key) 替换为 SysCacheUtils.get(key) 方法
- CacheUtils.get(key, defaultValue) 替换为 SysCacheUtils.get(key, defaultValue) 方法
- CacheUtils.put(key, value) 替换为 SysCacheUtils.put(key, value) 方法
- CacheUtils.remove(key) 替换为 SysCacheUtils.remove(key) 方法
- CacheUtils.clear 替换为 CacheUtils.clearCache
- 服务接口改进:默认关闭 .json、.xml 后缀匹配,请使用 __ajax=json、__ajax=xml 参数名称匹配,也可以通过 web.view.favorPathExtension 和 favorParameter 参数调整默认设置。
- form:radio 新增了 blankOption=”true” 属性,如果不需要,请删掉 blankOption 属性
- form:radio、form:checkbox、form:select 新增了 readonly=”true” 属性,如果你之前使用了 disabled + hidden,需要删除 readonly 属性
- jQuery 升级到 3.5 可能会有一些不兼容,详见:https://jquery.com/upgrade-guide/3.0/
- 全局搜索 function onTablePageClose 方法,替换为 function onTabPageClose
- 在线文件预览升级(替换时选择:区分大小写、全字匹配):
- 搜索 jeesite-module-weboffice 替换为 jeesite-module-filepreview
- 搜索 preview=”weboffice” 替换为 preview=”true”
- 搜索 preview=weboffice 替换为 preview=true
更多更新日志查看: http://jeesite.com/docs/upgrade/
转自 https://www.oschina.net/news/116479/jeesite-4-2-0-released