0°

JeeSite V4.2.0 公测版发布、可视化数据大屏、安全审计、接口增强

文章转载开源中国

升级内容

  • 后端依赖: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/

演示地址:http://demo.jeesite.com

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!