V5.9.1 / V4.7.0 更新日志、升级方法、最新版本动态
公告
- 助力小微企业发展,V4.4.1及以后版本,均无用户数限制,无在线人数限制,永久免费。
- 微信群已建立,感兴趣的小伙伴,可添加 jeesitex 邀请您进群
# V5.9.1 2024-10-22
# 升级内容
- 优化 用户管理将附属组织列表和角色列表分离出组件文件
- 优化 单表主子表演示功能分离出子表组件vue,包括代码生成模板
- 优化 BPM 调试的流程,未设置表单时,弹窗更改为消息框提示
- 优化 部分常用组件改为 setup 语法糖,方便暴露组件方法
- 优化 表单验证增加自定义验证消息显示,方便提示编辑子表中的验证信息
- 优化 Table 组件不显示 Header 的时候,优化 Form 边框和边距样式
- 优化 Table 未加载前指定一个滚动宽度,避免不出现水平滚动条
- 优化 ListSelect 弹窗组件,显示的更高一些,减少卡顿视觉
- 优化 Modal 应用,使用 ref 操作,无需通过 useModal 和 useModalInner 搭配
- 优化 Drawer 应用,使用 ref 操作,无需通过 useDrawer 和 useDrawerInner 搭配
- 优化 数据提交前后差异日志的显示布局细节
- 修正 因为自动锁屏时间设置太大导致数值溢出 #IASEUA
- 修正 从顶部菜单混合模式直接切换到左侧菜单模式时,侧边栏没有显示根菜单问题 #IASDAJ
- 其它更多细节优化改进
后端服务及全栈版
优化 编辑表格中被隐藏的旧数据行控件忽略前端校验
优化 代码生成模板新增 vue 子表独立组件的生成
优化 代码生成支持带减号的工程模块名生成工程和微服务工程
优化 驼峰命名法工具增加减号替换,不只是下划线
优化 代码生成 前端路径更改为 Vue 前端路径,仅用于分离端的代码生成路径
优化 代码生成 子表 List 字段名不带模块名
优化 webuoloader 增加 bindSortable 和 bindPreview 扩展方法
新增 监控开关参数 state.server、state.cache、state.druid
新增 fileupload 组件,支持上一个附件和下一个附件的文件预览
新增 LocalMultipartFile 类,解决本地上传超大文件时导致内存溢出问题
修正 sql server 2012 不支持 STRING_AGG 的问题
修正 DB2 数据库下 pwdUpdateRecord 设置 null 报错问题
升级 spring 5.3.39、logback 1.2.13
Spring Boot 3 版本
- 包含上述的所有升级的内容
- 修正 Flowable 7.0 "group" is null 异常
- 升级 spring boot 3.2.10
# 升级方法
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.9.1 或 5.9.1.springboot3
后端服务及全栈版
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.9.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 同上述的所有升级方法的内容
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.9.1.springboot3-SNAPSHOT
# 了解更多
- JeeSite 官网地址:http://jeesite.com (opens new window)
- JeeSite 在线文档:http://docs.jeesite.com (opens new window)
- JeeSite Vue 版演示地址:http://vue.jeesite.com (opens new window)
- JeeSite 全栈版演示地址:http://demo.jeesite.com (opens new window)
- JeeSite 源码下载地址:https://gitee.com/thinkgem/jeesite5 (opens new window)
- JeeSite Vue 前端源码:https://gitee.com/thinkgem/jeesite-vue (opens new window)
- JeeSite 跨平台手机端:https://gitee.com/thinkgem/jeesite-uniapp (opens new window)
- JeeSite Cloud 微服务:https://gitee.com/thinkgem/jeesite-cloud (opens new window)
- JeeSite 客户端安装程序:https://gitee.com/thinkgem/jeesite-client (opens new window)
# JeeSite 生态系统
- 分布式微服务(Spring Cloud):https://gitee.com/thinkgem/jeesite-cloud (opens new window)
- Flowable 业务流程引擎(BPM):http://jeesite.com/docs/bpm/ (opens new window)
- 多站点内容管理模块(CMS):https://jeesite.com/docs/cms/ (opens new window)
- 手机端移动端:https://gitee.com/thinkgem/jeesite-uniapp (opens new window)
- PC 客户端程序:https://gitee.com/thinkgem/jeesite-client (opens new window)
- Vue3 分离版本:https://gitee.com/thinkgem/jeesite-vue (opens new window)
- JeeSite 统一认证:https://jeesite.com/docs/oauth2-server (opens new window)
- JFlow 工作流引擎:https://gitee.com/thinkgem/jeesite-jflow (opens new window)
- Mybatis-Plus: https://gitee.com/thinkgem/jeesite-mybatisplus (opens new window)
- Magic 接口快速开发:https://gitee.com/thinkgem/jeesite-magic-api (opens new window)
- 内外网中间件:https://my.oschina.net/thinkgem/blog/4624519 (opens new window)
# V5.9.0 2024-09-18
# 升级内容
升级 众多依赖,改进 lint 配置,通过 tsc 类型检查,移除个别过时依赖库
升级 重构 vite 编译配置文件,重构 vite 插件,重构全局类型,重构扩展配置,方便复用
新增 支持 Vue 地址路由参数,使用 {param1} 自动替换为 :param1,用法详见 params.vue
新增 Table 编辑组件:Upload、CheckboxGroup、RadioButtonGroup、RadioGroup
新增 Table 编辑组件 Upload 组件将 插槽 换为 内置 的示例,支持 editRule 验证
优化 导出 Excel 数据按钮,新增 loading 状态
优化 表单组件,如 Select、Checkbox、Radio 等的 v-model:value 功能
优化 PageWrapper 的 contentFullHeight 选项,在不同场景下的高度计算
优化 Form 栅格布局,如果未设置 xs 屏幕参数,则使用 sm 或 md 的设置
优化 FormGroup 组件 增加参数接受,方便自定义
优化 Select 组件放在 Input 的 addonAfter 插槽中的样式
优化 Select 组件 dictType 属性,只显示根节点的数据,否则请用 TreeSelect
优化 Modal 最大化时调用 resize 事件,方便刷新内容布局
优化 Modal 防止点击全屏按钮,误触关闭对话框按钮
优化 页面页签来回切换时,保持 table 的滚动条位置
优化 某些特殊情况下的抽屉和弹窗内容边距细节
优化 error-log 错误日志钩子记录界面页面
优化 Tree 类型 ActionItem 替换为 TreeActionItem
优化 Form 类型 ButtonProps 替换为 FormButtonProps
优化 Layout 组件全局注册改为用到时单独引用
优化 文件管理,标签颜色,改为颜色选择框
优化 查询的更多按钮,显示一个双箭头
优化 BPM 当一个表单对应多个流程的时候,已办任务和我相关流程的流程跟踪信息的准确性
优化 updateTableDataRecord 接口,防止原来表格里没有的列不能更新上的问题
修正 小屏幕下,刷新页面,顶部菜单布局未还原的问题
修正 Tabs 表单实例中,子表不显示水平滚动条问题
修正 新版 chrome 提示 aria-hidden 错误
修正 table 设置 title 属性提示未定义问题
修正 ellipsis 失效问题 #IAIU6H
修正 锁屏界面的日期时间错误
其它 更多细节优化改进
后端服务及全栈版
新增 数据源管理,新增连接等待时间、连接失败中断默认参数
新增 数据源管理,添加集群支持,单机修改后自动同步到集群其它节点
新增 jdbc.breakAfterAcquireFailure 连接失败后中断尝试参数
新增 代码生成,增加 gen.simpleRequestMapping 可简洁 url 地址
新增 BpmTaskService、BpmRuntimeService 统计待办和流程个数接口
新增 BPM 新增流程重启,对已经结束的流程重新发起,保留原表单数据
优化 BPM 流程表单模板,支持从表单进入显示审批意见框
优化 BpmTask 实体,增加 owner 字段返回
优化 界面体验优化,小屏幕下的菜单按钮布局优化
优化 消息推送查询列表,增加水平滚动条
优化 大多数功能,默认显示列表搜索框
优化 js.getDictLabel 返回标签并带 data-value 字典值,方便获取
修正 DB2 下 current schema 语法替换为 VALUES current schema
修正 大屏 record 建表语句 longtext 重复的的问题
微服务版,升级 nacos 2.4.2
Spring Boot 3 版本
- 包含上述的所有升级的内容
# 升级方法
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 角色 menuTreeData 接口替换为 roleMenuTreeData;
- 角色 formAuthDataScope 替换为 roleFormAuthDataScope;
- 角色 ctrlDataTreeData 替换为 roleCtrlDataTreeData;
- 角色 saveAuthDataScope 替换为 roleSaveAuthDataScope
- 租户 corpAdmin resetpwd 接口名称替换为 corpAdminResetpwd
- 移除 flowchart 组件,默认暂时未用到,可根据自己需要可添加
- 注意 Select 组件 dictType 属性,只显示根节点的数据,否则请用 TreeSelect
- 匹配后端版本为
JeeSite v5.9.0 或 5.9.0.springboot3
后端服务及全栈版
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.9.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 同上述的所有升级方法的内容
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.9.0.springboot3-SNAPSHOT
# V5.8.1 2024-8-12
# 升级内容
新增 static 静态文件项目,减轻核心模块和框架包大小
新增 开放 beetl 表单控件、beetl 函数、js 组件插件等
增加 Excel 导入导出测试类,增加模板导出方法及测试类
新增 Excel 导入导出支持 ExcelFields 注解添加到类上
新增 SM2Utils、SM3Utils、SM4Utils 国密算法工具类及测试类
新增 encrypt.defaultKey 参数,适用于 Aes、M3 加密的默认秘钥
新增 encrypt.storeBase64 参数,是否将 Hex 编码改为 Base64 编码存储
新增 encrypt.smAlgorithm 参数,一键替换 SHA-1 替换为 SM3、AES 替换为 SM4 国密算法
新增 EncryptTypeHandler、SM4TypeHandler 国密加密的 MyBatis Handler
新增 web.isDefaultResult 参数,支持默认全局进行接口结果包装为 { code: 200, msg: "", data: {} | [] }
新增 web.resultParamName 和 headerParamName 参数,支持对个别结果进行包装
新增 PwdService 服务类方便自定义重写密码相关的实现
新增 ckplayer 插件,替换 UEditor 上传的视频播放
新增 test 模块,将 web 下的 test 独立出来,方便代码管理
新增 附属部门切换接口 switchOffice,方便获取当前默认部门,工具见 EmpUtils
新增 sqlMap.forceUpdateColumns 强制更新列功能,让 isUpdate 为 false 的字段更新
新增 DBM 数据表管理草稿暂存功能,确认建表时,再将表结构和索引同步到数据库
新增 userService.findListByMobile 根据手机号返回用户最基本的信息接口
优化 将账号+手机验证码登录,替换为手机号+验证码登录;支持手机号绑定多个账号的登录
优化 查询的更多按钮展示,显示一个双箭头,增加动画效果
优化 默认添加 webp 格式的图片上传
修改 DBM dropTable 替换为 deleteTable 逻辑删表,新增 dropTable 物理删除表
修改 setCurrentCorpCode to setCurrentCorp,原方法标记为 Deprecated
修改 removeCurrentCorpCode to removeCurrentCorp,原方法标记为 Deprecated
修正 前端使用 location 下的 schemeHttps 的跳转未生效问题
Spring Boot 3 版本
- 包含上述的所有升级的内容
- 修正 spring boot 3.2 的一些兼容问题
- 移除 fst 依赖
Vue 分离端版本
- 新增 主题设置中新增页面字体大小动态调整
- 新增 页面水印方法调用库及实例
- 新增 插槽中多个表单组件的使用例子
- 新增 下拉框组件使用 API 数据源例子
- 修正 子表的自定义验证没有阻断提交的问题
- 修正 改变主题色后,主色按钮的 focus 颜色不对问题
- 修正 升级依赖而导致的 Modal 右上角不显示关闭按钮
- 修正 角色自定义的首页后,关掉浏览器,再重新登录时默认的首页也打开了的问题
# V5.8.0 2024-7-3
# 升级内容
升级 mybatis 3.5.15、jsqlparser 4.7、tools...
新增 在线设计数据库表动态建模,延伸阅读:https://mp.weixin.qq.com/s/jM3_z1Z8AwSbGh4Y02DuEA (opens new window)
新增 file.uploadPath 参数增加变量 bizType、corpCode、userCode、userType、userCache中的key
新增 ctxPath 参数,当映射根路径不同的时候使用,可自定义
新增 BPM 工作流引擎,加签减签时,增加加减原因提交
优化 BPM nextUserTasks 接口增加 executionId 参数,流程变量计算的时候使用
优化 BPM 待办任务增加发起流程者startUserName 和 startTime 时间数据返回
优化 sso 接口,对成功之后调整的 url 进行改进,更好的兼容 vue 分离端跳转
优化 ReflectUtils ASM 有方法重载时,需优先获取无参数的方法名
优化 内部消息查看,增加空值校验
优化 CookieUtils、skinName 增加 XSS 过滤
优化 j2cache.default_cache_null_object 默认为 true
修正 代码生成 Vue 模板,文件上传对象 TS type 的问题
修正 大文件下载,只能下载 2G 文件的问题
Spring Boot 3 版本
- 包含上述的所有升级的内容
- 升级 spring boot 3.2.7、shiro 2.0.1、shardingsphere 5.5.0、tools...
- 微服务版升级 spring cloud 2023、alibaba cloud 2023、other...
Vue 分离端版本
- 升级 vue 3.4.30、antdv 4.2.3、vite 5.3.2
- 新增 菜单管理 vue 组件支持链接目标为 _blank 跳转到新窗口
- 新增 BasicTree 树形组件,增加指定层级的搜索功能 pr_2
- 新增 ListSelect 列表选择组件,增加 afterFetch 表格属性传递 pr_21
- 新增 BPM 加减签时,增加加签减签的原因输入框
- 新增 PageWrapper 页面组件,增加右侧栏,并优化代码
- 新增 增加日期组件默认值例子,见 testData/form.vue、list.vue
- 优化 Collapse 折叠组件,支持点击标题栏展开折叠
- 优化 组件 FormItem 增加 colProps type 定义
- 优化 组件 FormItem 增加 colLayout 是否启用布局属性
- 优化 BasicForm setFieldsValue 值为数值 0 的时候设置问题
- 优化 日期选择组件时,如果默认值是字符串的时候再进行转换
- 优化 布局 全屏 IFRAME 的时候多出垂直滚动条问题
- 优化 无框架和有框架下的表格自动高度计算细节
- 优化 去掉附属机构子表的水平滚动条避免影响美观
- 修正 updateTableData后,再打开其它列表数据时没有更新列表数据问题
- 修正 在 vue 点击注销后,通过sso接口跳转回来时反复重定向问题
- 修正 不同的表单的 ListSelect 组件,查询表单展开后关闭,然后在另外的表单弹窗选择时,查询表单反复折叠展开的问题 #I9RCBH
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.8.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 同上述的所有升级方法的内容
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.8.0.springboot3-SNAPSHOT
Vue 分离端版本
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.8.0 或 5.8.0.springboot3
# V5.7.1 2024-5-13
# 升级内容
新增 IdGen.randomShortString() 方法,随机生成一个短字符串
新增 PropertiesUtils、Global 一些便捷方法,如果有设定属性值再执行某操作
新增 连接池 queryTimeout 查询超时时间、transactionQueryTimeout 事务超时时间参数
新增 @Table 支持获取 application.yml、jeesite-xxx.yml 中的属性值作为表名
新增 @SqlFilter validator 验证注解,便捷控制 表单 提交参数避免非法 sql 提交
新增 sqlite 数据库查询表、列、分页支持、新增 cockroachdb 数据库分页支持
新增 dataGrid 编辑表格,下拉框增加 itemTitle 属性,鼠标放到选项上后,显示的提示信息
新增 RoutingDataSource 增加 validateConnection 验证连接状态方法
新增 RoutingDataSource 增加 getJdbcTemplate 等相关方法
新增 支持通过 init-data 脚本直接初始化达梦数据库或人大金仓数据库
新增 开源流程分类功能,可作为通用业务分类,菜单地址为 /biz/bizCategory
新增 工作流 flowable.categoryTableName 参数属性配置表名,如 bpm_category
新增 工作流 bpm:comment 组件增加 showCommWords 参数
新增 能接受异常的 FunctionCatchException 函数类
优化 代码生成 类型优化,数据库类型为 int 时,默认转换为 integer
优化 代码生成 sql server 下 显示 varchar(max) 而不是 varchar(-1)
优化 代码生成 postgresql 和 h2 下的字段类型进行简化显示
优化 代码生成 达梦数据库 NVARCHAR2 类型获取数据长度不正确问题
优化 GenUtils 验证表是否存在方法,支持多数据源情况下的验证
优化 日志标题,增加上级菜单和权限获取,提高日志标题生成的准确率
优化 字典管理,字典值 dict_value 字段存储加长到 500 字节
优化 字典数据管理,去掉停用和启用校验下级的限制,并支持级联更新
优化 重命名一些 CMS 模块字段名,避免某些数据库不允许字段名使用关键字的问题,省去加引号
优化 修改前后差异数据日志,表格展示美化,视觉优化,数据显示优化,支持 Swagger 注解获取标签
优化 当全局开启 JTA/XA 时,可通过 jdbc.xa 或 jdbc.xxx.xa 参数关闭某一个数据源的 XA
优化 dataGrid editGridAddRowCallback(dataGridId, options) 增加 options 参数
优化 form:radio 单选框和 form:select 下拉框控件只显示字典类型的根节点数据
优化 表单页面,美化表单的子标题,缩进一些及其它细节
优化 编辑表格的控件样式,下划线改为激活控件时显示
优化 公司、部门、岗位增加 代码字段 的模糊查询
优化 弹窗带表格多出滚动条、标题图标细节美化
优化 表单页面,提示问号图标显示优化
优化 消息模板的内容 支持 html 格式
优化 升级 bootstrap css 3.4.1
优化 layer.msg 非正常消息,设置 timeout 为 10秒,长一些
优化 json 提交表单,新增 data-json-ignore 排除不想被序列化的参数
修改 json 提交表单,data-params 重命名为 data-url-params
新增 validation 的 abc123 验证类型,增加字母开头的验证要求
修正 多数据源情况下的 tableAndColumn 参数没有区分问题
修正 弹窗的表单,点击保存调用两次 callback 的问题
修正 js.formatMoney 负数的时候多返回一个逗号的问题
修正 微服务下 jobLog 打不开的问题
升级 可视化数据大屏 v2.6 【预览】 (opens new window)
Spring Boot 3 版本
- 包含上述的所有升级的内容
Vue 分离端版本
- 新增 Upload 组件增加 size 参数
- 新增 抽屉鼠标拖拽调整宽度,默认 true
- 优化 表单填写提示图标更换为问号,并优化大小
- 优化 编辑表格 样式,如输入框、下拉框、选择框等组件,去掉边框和背景
- 优化 编辑表格 Upload 组件展示小一点,防止行高撑大
- 优化 弹窗和抽屉 的内容间距
- 修正 抽屉 不显示加载框的问题
- 修正 路由表单,打开多个的时候,依次关闭到最后一个,表格高度不对问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.7.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 修改 json 提交表单,data-params 重命名为 data-url-params, extend 重命名 jsonExtend
- 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 同上述的所有升级方法的内容
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.7.1.springboot3-SNAPSHOT
Vue 分离端版本
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.7.1 或 5.7.1.springboot3
# V5.7.0 2024-4-1
# 升级内容
新增 参数配置 IP 地址黑白名单过滤器动态参数
新增 侧边栏是否展开第一个菜单的开关 first-open
新增 AesTypeHandler 处理字段数据加密解密或脱敏
新增 JsonTypeHandler 处理字段数据进行 JSON 字符串与 Java 对象 自动互转
新增 vuePath 参数,免 nginx,直接将 vue 放 tomcat 中 history 模式映射,见 web-fast
新增 PostService 根据用户编码查询岗位列表接口
新增 sqlMap().loadJoinTableAlias("p,u") 懒加载的实例
新增 sqlMap.where.toNotBlankPkSql() 和 toNotBlankSql() 返回不为空的 where 方法,如果为空则中断
新增 ListUtils.getPageList(List list, int pageNo, int pageSize) 方法
新增 RoleService.findList 根据用户编码查询角色列表接口,同 findListByUserCode 方法
新增 模块管理 增加生成模块的基础路径和模板存储字段,生成模块代码时给于确认提示
新增 代码生成器 config.xml 的 attrType 字典增加 attrName,用于选择控件编码和名称获取
新增 代码生成器 模板 添加公司选择组件
新增 Docker 多 CPU 平台架构配置参数
新增 BPM 调试流程支持运行流程事件
新增 BPM 服务节点默认调用类
优化 根据当前用户如果没有分配主系统参数,则返回包含的第一个子系统菜单
优化 访问登录页不生成会话,有需要会话的时候再生成,如验证码验证
优化 ajax 调用 login 和 index 接口时,同时返回cookie,用于 iframe 的页面会话同步
优化 缩短 Logback 日志 TRACE_ID 的长度
优化 完善 MsgInner 内部消息保存后的提示消息
优化 模块管理微服务下 isLoader 始终为真
优化 对象存储下的文件预览,增强跨域支持
优化 TimeUtils millisecond 为 ms
优化 分页栏居右、布局调整、样式美化
修正 vue路由接口,当 http 地址没有设置组件名为 iframe 的时候会显示多个的问题
修正 达梦数据库下不允许 null 参数的问题(文件管理的文件夹新建保存)
修正 代码生成模板 logback-spring-elk 和 prod.xml 文件名
升级 seata 1.8.0、nacos 2.3.0、shardingsphere 5.4.1
Spring Boot 3 版本
- 包含上述的所有升级的内容
- 升级 spring boot 3.1.9、shiro 2.0.0 RELEASE、alibaba cloud 2023
Vue 分离端版本
升级 vite 5.2.7、vue 3.4.21、antdv 4.1.2
新增 UnoCSS 0.58 CSS 框架,替代 Windicss 框架
新增 preset-icons 图标插件,替代 vite-plugin-purge-icons 和 SvgIcon 组件
移除 vite-plugin-mock 插件,使用 tests/server 替代后端模拟数据
移除 vite-plugin-imagemin、vite-plugin-pwa 无关紧要的插件
重构 vite 配置代码、环境配置、参数配置,进行重新分类和代码完善
新增 Icon 组件支持 img 类型图标,可方便读取 /resource/img 下的图片文件
新增 Upload 组件 新增 directory 参数,支持选择文件夹上传
新增 BasicTree 组件增加 antd 原生插槽支持
优化 stylelint、prettier、eslint、type:check 通过检查
优化 将 svg 图标移到 public,减少初始页面大小,并替换使用该图标的代码
优化 替换部分 antd 图标,为 Icon 组件(删除IconData中的部分图标,可使发布包更小)
优化 右上角用户下拉、表格下方的分页和内容页滚动条闪一下的问题
优化 间距细节、主题设置布局类型显示一个加载图标,改善视觉体验
优化 替换异步加载组件的图标,默认的图标深色背景下看不清
优化 侧边栏菜单名称过长时,显示 title 提示(鼠标移动上去的提示)
优化 计算表格高度的时候先恢复滚动,可能会对滚动后打开列表页面造成的影响
优化 登录超时后不再统计在线人数、不在进行消息检测、并给于超时信息提示
优化 重构 tests/server 测试接口服务
优化 更新 404 提示消息,更友好
修正 调用 updateSchema 时,导致 field 名称重复的字段丢失问题 #I910JE
修正 记住我功能登录系统的时候没有保存令牌问题,造成后端产生多余会话
本版本升级稍微有些麻烦,因为进行的大量的重构算法改进,性能大幅度提升
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.7.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 升级 shardingsphere 5.4.1,更新方法详见文档 https://jeesite.com/docs/sharding/ (opens new window)
- 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 同上述的所有升级方法的内容
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.7.0.springboot3-SNAPSHOT
Vue 分离端版本
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 移除了多个 vite 插件,如果你有,或必须用到,可保留插件,单有些插件对 vite5 不支持。
- 使用 UnoCSS 0.58 ,移除 Windicss 框架,变更详见:https://unocss.dev/guide/why (opens new window)
- 使用 preset-icons 图标插件,替代 vite-plugin-purge-icons 插件,原用法:sun|svg 新用法:i-svg:sun
- 图标库更新,请全局搜索 给所有 icon 名称,增加 i- 前缀,IDEA 替换图标方法:
- 打开文件查找替换(Ctrl+Shift+F),选中区分大小写、全字匹配、正则表达式
<Icon(.*?) icon="(.+?)"
替换为<Icon$1 icon="i-$2"
icon\: \'(.+?)\',
替换为icon\: \'i-$1\',
preIcon="(.+?)"
替换为preIcon="i-$1"
i-icon-
替换为i-simple-line-icons:
i-fa fa-
替换为i-fa:
- 全局搜索
|svg
进行替换,原用法:sun|svg
新用法:i-svg:sun
- 全局搜索
<SvgIcon
进行替换,原用法:<SvgIcon name="sun"
新用法:<Icon icon-"i-svg:sun"
- 注意
i-
开头的图标,需要放到 vue 或 tsx 文件中才能生成图标,其它文件中的图标可放到 IconData.tsx 图标列表中 - 重命名 utils 方法 decodeByBase64 到 decryptByBase64
- 匹配后端版本为
JeeSite v5.7.0 或 5.7.0.springboot3
# V5.6.1 2024-2-18
# 升级内容
新增 keyPrefixWithDsName 参数,给缓存 Key 增加数据源名称前缀,默认 false
新增 Global.getClearCacheTime() 方法,业务自己管理是否需要更新缓存
新增 DataSourceHolder.DYNAMIC 动态数据源常量,含义与 EMPTY 相同
新增 js.ajaxSubmitJson 方法,支持 application/json 格式提交请求
新增 js.ajaxSubmitForm 支持 application/json 提交表单,支持多级属性、列表、MAP
新增 文件管理 filemanager.officeDataSource 参数,是否将部门文件柜权限归入系统数据权限中管理
新增 报表请求参数的例子、动态 url 参数获取例子
优化 maven 依赖,方便切换其它内嵌的 Web Servlet 容器服务
优化 用户状态和用户密码更改后,记住我信息也会自动失效 #I8X7LX
优化 FileUploadUtils 优先级,先从 dataMap 中获取,然后再从请求参数中获取
优化 统计条数 SQL 增加别名,如:count(1) AS num
优化 菜单管理增加无图标的默认图标显示
调整 form:fileupload 组件,代码生成时,默认加 dataMap 属性
修正 boot3 下的 HttpMediaTypeNotSupportedException 异常
修正 ueditor 黑暗模式下的文字
Spring Boot 3 版本
- 包含上述的所有升级的内容
Vue 分离端版本
新增 菜单管理 BLANK 组件名称,可不显示主框架(根菜单中设置)
新增 frame 单一组件,用来不显示框架页时的路由展示外部网页
新增 CollapseForm 组件,折叠表单风格,增加数据加载框
新增 BasicTable showSelectionBar 可在表格上方显示多选状态栏
新增 BasicTable clearSelectedOnReload 重载表格数据的时候清空已选择选项
新增 编辑表格的 validate 使用自定义校验方法的实例
新增 版本检查文件,更新系统后提醒用户刷新页面
新增 列设置的本地存储状态显示,如果修改过显示红色按钮
新增 axios authenticationHeader 参数指定不同的 token 名称
优化 仪表盘,每个组件都增加骨架屏,而不是整个组件统一控制,方便编写后台API动态数据
优化 Select 组件,支持按选项名搜索
优化 租户切换下拉框,支持按租户名称搜索
优化 编辑表格的 validate 提示 Popover 样式
优化 ListSelect 列表选择,已选择框样式改进
优化 用户管理,多选删除按钮,显示 选中用户的个数
优化 用户授权数据权限 和 角色授权数据权限的样式
优化 useGlobSetting 增加 filePreview 参数
优化 框架整体基础设施代码细节
优化 菜单管理,显示组件列
优化 登录页第三方登录图标
优化 缩短登录后的欢迎消息框为 1 秒后关闭
优化 env 和 publicPath 属性获取
重构 ColumnSetting 列表设置代码,改进性能,冻结列重置,本地存储,风格等
调整 BasicTable 重载表格后,默认清理已选择项,但可通过上述属性不清理已选择项
调整 BasicTable clearSelectOnPageChange 重命名为 clearSelectedOnReload 属性
调整 退出登录的时候,不清理本地缓存 localStorage(注意本地缓存请勿存放用户信息,用户信息应存入sessionStorage,而不是localStorage)
调整 主题设置的清理缓存按钮改为:清理缓存并刷新页面,不退出登录
调整 本地缓存超期时间修改,默认为 60 天
修正 ListSelect 翻页后,已选择项目丢失问题(antdv 版本兼容问题)
修正 BasicTable 树表第一列锁定的时候布局问题
修正 黑暗主题下标题文字显示不清楚问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.6.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 修改默认值,oracle 下默认不启用 maxPoolPreparedStatementPerConnectionSize 可根据需要开启
- 调整 form:fileupload 文件上传组件,在代码生成时,默认增加 dataMap="true" 属性
- 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.6.1.springboot3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 修改默认值,oracle 下默认不启用 maxPoolPreparedStatementPerConnectionSize 可根据需要开启
- 调整 form:fileupload 文件上传组件,在代码生成时,默认增加 dataMap="true" 属性
- 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 注意升级内容中为 “调整” 开始的信息,根据提示观察是否有业务上使用,然后进行修改。
- 匹配后端版本为
JeeSite v5.6.1
# V5.6.0 2024-1-3
# 升级内容
升级 spring boot 2.7.18、jackson 2.16.0、mybatis 3.5.14、shiro 1.13.0
新增 DataGrid editGridInputFormListIsMap 参数,支持Map格式的提交参数
新增 DictUtils.setDictList 方法的 List 参数,方便构建字典缓存
新增 代码生成模板 Vue路由表单、Vue弹窗表单、仅后端模板
新增 文件标签管理、标签分配、标签查询、分享点击次数
新增 文件管理 upload 表,数据管理更高效
新增 大屏轮播功能、轮播选项、排序
优化 系统数据库初始化基础数据脚本
优化 用户管理 解冻用户功能提示信息
优化 不同场景下的修改密码后的跳转页面操作
优化 在线用户列表,超时时间数值类型的排序
优化 当不设置 adminPath 的时候,oauth2 的地址认证排除
优化 Layer 弹窗后首先关闭获取焦点,防止回车弹出多个
优化 登录超时后,导出 Excel,不提示登录界面,则提示超时信息
优化 生成模板选择框宽一点,显示更多内容
优化 DataGrid 拖拽行的颜色违和感
优化 点击流程图空白处关闭 tip
优化 配置类 ShiroConfig 改为 ShiroAutoConfiguration 方便重写
修正 不调用自定义的消息推送类型的 buildReceiveCode 方法的问题
修正 Vue路由 ureport 多个预览文件只显示一个的问题。
修正 select2 组件 i18n 显示不正确
Spring Boot 3 版本
- 包含上述的所有升级的内容
- 升级 spring boot 3.1.8、jackson 2.16.0、mybatis 3.5.14、shiro 2.0.0-a4、swagger3 2.2.19
- 升级 elasticsearch 8.11.1
Vue 分离端版本
升级依赖 antdv 4.0.7、axios 1.6.2、vue 3.3.11 等等
升级 树表的局部刷新改进,删除、停用、启用、修改父节点的情况下完美体验
新增 TreeSelect 增加 returnFullName 和 returnFullNameSplit 属性,支持返回树的全路径名返回
新增 ListSelect 组件 configFile 参数,可将选择配置文件放到业务目录,不是组件目录了
新增 ListSelect 增加 isShowCode 可设置右侧选择列表中是否显示编码的参数开关
新增 BasicTable 增加 defaultRowSelection 属性,通过右上角给表格设置复选框的时候加载默认参数
新增 BasicTable 编辑表格增加 ListSelect、TextArea 组件
新增 BasicTable 编辑表格组件大小调整为正常
新增 BasicModal 增加 appendHeader 标题后插槽
新增 BpmButton 将提交审批信息移动到提交对话框中开关
新增 BpmButton 增加 Size 参数,可以调整按钮和边距大小
新增 listToTree 列表到树的转换方法,添加全名字段,方便 TreeSelect 时返回树全路径名
新增 用户管理新增批量删除,点击表格右上角设置按钮,选中复选框后,列表行打钩,即可显示删除按钮
新增 强化路由表单、可折叠表单示例、用户个性化表单示例、主子表的列表选择示例
新增 文件标签管理、标签分配、标签查询 Vue 版
优化 BasicTable 的 reload 增强,支持树表修改父节点情况下的局部刷新
优化 BasicTable 标题后面加按钮的样式美化
优化 修改密码后提示成功后,自动跳转到登录页
修正 上传组件文件查看列表黑暗模式下的显示
修正 Upload 组件,新增表单某些情况下 dataMap 为字符串的问题
修正 BasicTable 下的插槽 必须有 tableTitle 否则 插槽 toolbar 中的内容无法显示
修正 BasicTable 指定 rowSelection 的 onChange 事件后,然后在表格设置里关闭和开启复选框一次操作后 onChange 失效问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.6.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 配置类 ShiroConfig 改为 ShiroAutoConfiguration 方便重写,请升级该类,两个类保留一个
- 配置参数 spring.data.elasticsearch.enabled 替换为 spring.elasticsearch.enabled
- 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.6.0.springboot3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 配置类 ShiroConfig 改为 ShiroAutoConfiguration 方便重写,请升级该类,两个类保留一个
- 配置参数 spring.data.elasticsearch.enabled 替换为 spring.elasticsearch.enabled
- Elasticsearch 从 7 升级到 8,会有很多 API 变化,参见 ElasticsearchTest.java
- 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.6.0
# V5.5.2 2023-11-21
# 升级内容
- 新增 文件上传支持自定义存储表,业务上可独立 file_upload 表,与系统文件上传表分离存储
- 新增 sqlMap.column.toSqlNoAlias() 方法,可以在 mapper 中调用,返回不包含别名的列数据
- 新增 Web 服务脚本,可方便进行 run、start、restart、stop 管理服务
- 新增 富文本中的文件和图片、用户头像的对象存储调用
- 新增 Vue 的 ListSelect 选择框代码生成模板
- 新增 Quartz、Flowable 表 ER 图和注释
- 新增 jdbc.connectTimeout 和 jdbc.socketTimeout 连接池参数
- 新增 一个日志清理接口 logService.deleteLogBefore() 可根据需要创建 job 调用
- 调整 工具 Byte 字节格式化默认显示两位小数
- 优化 服务启动脚本,支持在任意目录运行,无需切换到具体目录下
- 优化 数据库设计模型完善,并生成 Excel 表格和 PNG 模型图
- 优化 查询和重置按钮增加图标、搜索框布局优化改进
Spring Boot 3 版本
- 升级 flowable 7.0.0 release
- 新增 微小服务 Web Mini 支持只连接业务库,不使用自带 sys 表的支持
- 修正 ExceptionUtils 包名取不到 jakarta 异常类,导致前端异常信息不能正确显示
- 修正 代码生成模板,中的错误 javax 没有修改为 jakarta 的问题
- 修正 接口调用时 context-type 重复问题,导致接口调用400错误
Vue 分离端版本
- 新增 Upload 组件支持后端服务地址属性自定义设置
- 新增 单元格变色和行变色的例子 testData/list.vue
- 新增 路由表单保存后刷新列表数据例子
- 优化 表格上的 tabs 美化、标题配色优化
- 优化 布局调整,将表格的搜索表单,调整到页面标题的下面
- 优化 ListSelect 细节样式、美化树标题样式、美化布局等
- 优化 标题配色、表格上页签、黑暗主题、主题设置抽屉的遮罩透明等
- 修正 编辑 table 的 change 事件调用2次的问题 #I8F3O7
- 修正 文件管理目录树,窗口改变大小的时候刷新目录树的问题
- 修正 表单组件 labelValue 可能为空时的异常
- 更新 package.json 依赖库
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.5.2-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.5.2.springboot3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.5.2
# V5.5.1 2023-10-17
# 升级内容
新增 数据权限调用 User 参数,可以传递自定义用户对象参数筛选数据
新增 菜单链接地址动态参数 loginCode 登录编码
新增 微信公众号扫码登录
优化 更新 area 行政区划、区域数据
优化 JsonMapper,增加XSS过滤通用方法
优化 FileUtils.page,在 linux 去掉多余的前缀
优化 JsonMapper 增加多个初始化方法,方便公共调用
优化 流程没有关联业务的时候,允许从待办页面进入调试页面
优化 macOS 下的磁盘列表过滤
修正 代码生成器,当列名备注包含“."的时候生成注解不完整修正
修正 数据权限 API 模式调用问题 apiMode 5.5.0+;
修正 job 定时任务新增的时候多主键不能编辑的问题
修正 SqlServer2012 驱动下报 OFFSET 错误问题
微服务 升级 Nacos 2.2.4,注意该版本默认开启auth,请在配置文件里添加账号和密码
Spring boot 3 版本
- 包含上述 5.5.1 版本和 5.5.0 版本的所有更新内容
- 升级 spring cloud 2022.0.4、alibaba 2022.0.0.0正式版、nacos 2.2.4
- 新增 一个极小的内核 web 服务,快至 1 秒启动项目
- 新增 静态文件 static 项目,减轻 Core 大小
- 开源 基础功能的前端视图和控制器文件
- 开源 layout、strength 等 js 组件
- 开源 beetl 全部组件源码
Vue 分离端版本
- 新增 树选择和列表选择复选框例子
- 新增 固定表格高度例子,点击新增滚动到底部
- 新增 微信公众号二维码扫描登录功能
- 优化 PageWrapper 组件折叠图标
- 修正 column.children 多表头时,因上个版本修正子表问题,没有显示 title 问题
- 修正 ListSelect 第一次弹窗没有回显问题
- 修正 TreeSelect 带复选框的时候缩进对不齐的问题
- 修正 复选框 Tree 搜索框有记录的时候选不上问题
- 修正 Safari 浏览器下首次加载顶部菜单重叠问题
- 修正 PageWrapper 组件 title 不为 false 的时候不显示指定标题问题
- 修正 BasicTable 添加 expandedRowRender 插槽时报错问题 #I7VIGZ
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.5.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Spring Boot 3 版本
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.5.1.springboot3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.5.1
# V5.5.0 2023-8-25
# 升级内容
升级 spring boot 2.7.14、justauth 1.16.5、antdv 4.0.0
调整 语法 html 和 js 编写不同的占位符,减少IDE标红提示
新增 支持数据源独立设置XA开关,如 jdbc.数据源名.xa: false
新增 当前用户展示子系统列表过滤,进入角色管理中配置包含系统
新增 js ajax 下载 clearParams 参数,可清理掉不需要添加的请求参数
优化 子系统,角色增加包含系统参数,切换系统时只需展示当前用户包含的子系统
优化 fileupload 增加缩略图生成设置,前端组件可使用 imageThumbName 使用缩略图
优化 fileupload 使用 returnPath 时的下载还原原始文件名
优化 翰高数据库有原来的 oracle 语法换为原生 postgresql 语法
优化 导出,查询后默认不添加 pageNo 参数
优化 界面,默认隐藏表单右上角按钮
修正 jquery migrate 版本,处理ie9下的一些兼容问题
修正 GBase 数据库,多余的 remarksReporting 属性问题,支持设置为空
修正 SqlServer2012 驱动下初始化库报 OFFSET 错误问题
修正 树表更新子节点状态,字段名错误问题(所有版本)
修正 初始化库的时候 area 表没有插入数据问题
优化 用户头像获取接口,排除 http 的地址,不增加 ctxPath
其它细节更多改进...
Vue 分离端版本
升级 antdv4.0.0、vite4.4.9 等等
新增 ListSelect 组件 queryParams 参数
新增 Upload 组件 图片最大宽高的压缩参数
新增 Upload 组件 缩略图生成预览参数支持
新增 对话框弹窗、路由页签的弹窗表单例子
新增 downloadByUrl post 带参数下载文件
新增 iframe 支持 query 参数接受
新增 BpmButton initialize 事件
优化 国际化语言包完善(用户组织公司岗位个人中心)
优化 在线用户列表查询换 Switch 组件
优化 权限类型的菜单也可以设置组件名称
优化 升级 antdv4 后的整体配色、布局等细节
简化 视图组件名称,直接通过 name 统一设置
修正 解决 Radio 组件 onChange 调用 2 次的问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.5.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 关于 Beetl 语法 html 和 js 编写不同的占位符,查找替换方法(使用正则表达式、全字匹配):
\$\{@DictUtils\.getDictListJson\(\'(.+?)\'\)\}
替换为"#\{@DictUtils\.getDictListJson\(\'$1\'\)\}"
\$\{toJson\((.+?)\)\}
替换为"#\{toJson\($1\)\}"
\/\/\<\% (.+?) \%\>
替换为//# $1
- 将 MapperHelper.getIdNames 重命名为 MapperHelper.getPkColumn。
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - Antdv 4.0 相比 3.2 改动还是比较大的,遗弃和修改了很多内容,但是您也无需担心升级的问题
- 由于 JeeSite 封装了各种业务组件,所以业务代码上变化不是很大,您对 JeeSite 改动越少,升级越容易
- 请先了解 Ant Design Vue 4.0 的升级指南:https://antdv.com/docs/vue/migration-v4-cn (opens new window)
- 全局替换,匹配文件
*.vue,*.ts,*.tsx
(区分大小写、全字匹配,注意排除掉 css、sys.ts 文件):dropdownClassName
替换为popupClassName
visible
替换为open
- 关于 antdv4 样式 less 替换 CSS-in-JS 实现动态主题
- 为了方便升级 jeesite 保留了 less,减少升级难度
- 同时支持 CSS-in-JS 提供更好的动态主题支持
- 业务中的样式可通过 css and 选择器,可覆盖 antdv 中的样式
- 匹配后端版本为
JeeSite v5.5.0
# V5.4.1 2023-7-25
# 升级内容
- 新增 对象存储 增加 expires 参数,生成私有对象地址的有效期
- 去掉 对象存储 publicUrl 中的桶名称(阿里云、七牛云、腾讯云、MinIO)
- 增加 配置参数 web.xssFilterExcludeUri 方便排除一些特殊地址不过滤
- 优化 文件预览 禁用pdfobject,直接使用pdfjs,防止pdf中的js运行
- 优化 数据源 createDruidDataSource 接口,可以自定义xa数据源
- 优化 支持自定义 j2Cache 的二级缓存,可以将 Redis 替换为同类产品
- 优化 文件管理 groupType 参数,文件柜编码开头为 self 的自动过滤自己的,开头是 office 自动过滤本部门的
- 优化 主题风格细节、多语言国际化译文
- 修正 因修改右上角消息溢出,导致国际化en英文环境下的,用户下拉换行的问题
- 修正 tree 删除问题 #I7GCVK
- Cloud 新增消息模块独立微服务
- Cloud 新增文件模块独立微服务
- Cloud 新增扩展模块独立微服务
- Cloud 升级 seata 1.6.1
Vue 分离端版本
- 功能国际化语言包完善
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.4.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 对象存储 MinIO 公共访问地址中不再增加桶名,请在 publicUrl 中添加桶名
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.4.1
# V4.7.0 2023-7-25
# 升级内容
- 升级 springboot 2.7.12、mybatis 3.5.13、jsqlparser 4.6、druid 1.2.18、commons-io 2.13
- 升级 poi 5.2.3、groovy 3.0.17、thumbnailator 0.4.19、twelvemonkeys 3.9.3、zxing 3.5.1
- 升级 UReport 的POI5.2.3、Antlr4.7.2,并增加slf4j日志、修正日期类型格式化的问题
- DataGrid 防止有冻结列的时候进行全部隐藏和显示后出现重复列问题 #I6Y5SQ
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.7.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 本版本升级了众多第三方依赖包,请进行系统功能完整测试。
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# Spring Boot 3 初版
是时候为 Spring Boot 3 做准备了,2018年2月 Spring Boot 进入 2.0 时代,距今已经 5 年了。2022 年 11 月 Spring Boot 3.0 正式发布,它将基于 Spring Framework 6.0,并且需要 Java 17 版本,同时它也将是 Jakarta EE 9 的第一个 Spring Boot 版本。如今 Spring Boot 3.1 已经发布,也带来了非常好的新特性,同时也支持了 Java 20。
为跟近技术时代,周边生态依赖库大部分也对 Spring Boot 3 做了相应支持,所以 JeeSite 是时候发布 Spring Boot 3 版本了。
同时 JeeSite 对 Spring Boot 2 的版本将持续更新,请大家放心使用。
# 技术栈
- JDK 17+
- Servlet 5.0+
- Jakarta 6.0.0
- Spring Boot 3.1.1
- Apache Shiro 2.0.0
- Spring Cloud 2022.0.3
- Spring Cloud Alibaba 2022.0.0
- Spring Framework 6.0.10
- OpenAPI 3 and Springdoc 2.0
- Atomiko Transactions 6.0
- Spring Boot Admin 3.1
- Flowable 7.0.0
- 等等其它依赖更新
Vue 分离端版本
- TypeScript 5.1.6
- Vite 4.3.9
- Vue 3.3.4
- Ant Design Vue 4.0.0
- 等等其它依赖更新
# 下载地址
- JeeSite:https://gitee.com/thinkgem/jeesite5/tree/v5.springboot3/ (opens new window)
- JeeSite Cloud:https://gitee.com/thinkgem/jeesite-cloud/tree/v5.springboot3.cloud/ (opens new window)
- JeeSite Vue:https://gitee.com/thinkgem/jeesite-vue/tree/next/ (opens new window)
# 升级方法
- Spring Boot 3.0 升级指南:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes (opens new window)
- Spring Boot 3.1 升级指南:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.1-Release-Notes (opens new window)
- 升级到 OpenAPI 3 and Springdoc:https://springdoc.org/#migrating-from-springfox (opens new window)
- 升级到 Ant Design Vue 4.0:https://antdv.com/docs/vue/migration-v4-cn (opens new window)
# V5.4.0 2023-6-26
# 升级内容
升级 springboot 2.7.12、mybatis 3.5.13、jsqlparser 4.6、druid 1.2.18、commons-io 2.13
升级 poi 5.2.3、groovy 3.0.17、thumbnailator 0.4.19、twelvemonkeys 3.9.3、zxing 3.5.1
升级 minio 8.5.3、aliyun oss 3.16.3、cos api 5.6.149、qiniu 7.13.1、weixin java 4.5.1
升级 UReport 的POI5.2.3、Antlr4.7.2,并增加slf4j日志、修正日期类型格式化的问题
升级 jquery 3.7.0、jquery ui 1.13 等依赖
移除 commons-collections、commons-beanutils 依赖,升级注意
新增 角色 增加桌面地址配置参数,排序越靠前优先级越高
新增 角色 增加显示隐藏设置,可以在身份切换中隐藏显示
新增 岗位 增加关联角色,在特殊业务场景下使用该关系
新增 代码生成 主键支持为bigint类型,树表主键和父键也支持bigint类型
新增 jeesite-common 模块下的多个工具测试类,并进行代码优化
新增 StringUtils 工具增加 splitComma、joinComma 方法
新增 UEditor 简洁主题和各项体验改进并前后源代码全部移动到 module-core 模块下
新增 PageUtils.findList 提升大数据量查询性能,避免一次性查询太多数据造成内存压力
新增 支持多子系统下的功能权限共享;支持当前多子系统、当前多身份角色的接口
新增 BPM 流程表单选项,新增发起人是否允许终止流程开关
优化 @Table 允许覆盖 include 里定义 @Column,放到要覆盖的 include 上面即可
优化 角色 treeData 接口,如果没有传参用户类型的时候,则增加用户类型显示在名称中
优化 角色 UserUtils.getRoleList() 接口,增加返回默认角色,方便数据权限没有配置的时候使用默认角色的配置
优化 执行逻辑删除的时候,同时修改主键字段值增加删除标识,方便再次使用这个主键值(可选项)
优化 移除 BaseEntity 里的 idColumnName 和 idAttrName 属性,使用 MapperHelper.getIdNames 替代,优化性能
优化 代码生成的树表显示编码字段可以设置为空,不设置的时候不显示树编码,树显示名称字段必须设置
优化 会话的 sysCode 和 roleCode 存储,支持多个系统,支持多个角色,多个使用逗号隔开
优化 代码生成 微服务模板,默认给 Controller 增加全局事务注解
修正 同一个事务,执行同一个dao方法,只有分页参数不同的时候,没有实际执行查询的问题
修正 dataGrid 开启锁定列后,并且某列名为 frozen 时,表头会错乱 #I7B7I9
更多细节功能优化
Vue 分离端版本
- 新增 机构管理 导入导出功能
- 新增 角色管理 增加是否可见
- 新增 岗位管理 增加关联角色设置
- 新增 子系统切换和角色切换迁移到开源版
- 新增 后台参数设置桌面地址,vue页面支持跳转
- 新增 流程表单支持页签方式打开,表单参数增加 _target=route
- 优化 菜单管理 组件参数和路由地址举例帮助
- 优化 减少一些登录超时消息提示
- 优化 异常信息体验优化 #I78JS0
- 更多细节功能优化
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.4.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 将 idColumnName 和 idAttrName,修改为 MapperHelper.getIdNames 方法获取
- 移除 commons-collections、commons-beanutils 依赖,升级注意
- 对象库公共访问地址中不再增加桶名,请在 publicUrl 中添加桶名
- 本版本升级了众多第三方依赖包,请进行系统功能完整测试。
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 默认表单验证规则 有 change 修改为 blur,可能会对您现有表单验证产生影响
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.4.0
# V5.3.2 2023-5-10
# 升级内容
新增 CMS 增加 ES 全文检索功能
新增 CMS 页面高速缓存网页静态化缓存
新增 CMS 的栏目权限(基于数据权限配置)
新增 ELK 日志搜集、可视化查询分析系统配置及文档
新增 Global.getConfigToArray、getPropertyToArray、getConfigToLong 方法
新增 PropertiesUtils.getPropertyToArray 方法
新增 js.addTabPage 方法增加 lazyload 懒加载参数
新增 开源 jeesite-module-app 手机端服务模块
优化 缓存管理 当 key 出现特殊字符的时候,也可以读取显示
优化 PropertiesUtils 支持多个 profiles 获取
优化 CMS 根据栏目查询,包含下级栏目的文章
优化 Log 访问日志查询功能优化改进
优化 微服务下的 job 实例名称默认配置参数
优化 idea 检测不到 SentinelApplication 的问题
修正 Vue 树表切换不同上级的时候,没有更新辅助字段问题
修正 DataGrid 防止有冻结列的时候进行全部隐藏和显示后出现重复列问题 #I6Y5SQ
修正 CMS 的 ViewConfig 配置存取问题
升级 依赖 jodconverter 4.4.6
Vue 分离端版本
- 升级 依赖 vite4.3.1、antdv3.2.17、等等
- 新增 根据角色分配用户、取消角色授权、查询功能
- 优化 主题抽屉,可以点击遮罩关闭,遮罩为透明色
- 优化 表单验证规则默认修改为blur,解决下拉框选择扔提示验证空的问题
- 优化 ListSelect 组件 setSelectList 方法接口,方便设置选择
- 优化 Upload 上传文件类型从后台获取参数
- 增加 Table 表头自定义过滤实例
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.3.2-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 默认表单验证规则 有 change 修改为 blur,可能会对您现有表单验证产生影响
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.3.2
,可以兼容JeeSite v5.1.0+
# V5.3.1 2023-4-6
# 升级内容
升级 spring boot 2.7.10
新增 mybatis.scanTypeAliasesBasePackage 配置,减少启动时间
新增 JoinTable 的 lazy 懒加载属性,标记为懒加载的,默认不进行联表,当需要时再联表
新增 js.cookie 默认存 localStorage,可通过 window.cookieToLocalStorage 关闭默认
新增 oauth2.callbackUrl 回调后的跳转地址(可自定义vue版的账号绑定)
新增 子表编辑的另一种实现例子beetl(当点击行的时候开启编辑状态)
新增 BPM 多实例加减签,串行加减签、并行加减签
新增 BPM 模型的数据对象,在启动流程时作为默认流程变量
新增 BPM currentCmd 线程变量,并优化新增一些 CMD 的类型
优化 BPM 模型的字符串变量中包含逗号的时候自动转换为List,如果增加单引号或双引号,可强制为字符串
优化 BPM 下一步处理人逻辑,并行场景下不影响其他并行任务的节点;会签节点执行人与设置人数相等时自动设定每个会签人。
优化 BPM 退回、撤回、自由流跳转逻辑:并行内的节点跳转,不影响其它并行中的任务;并行内向外跳转,不影响流程正常结束;并行外向内跳转,不影响并行中其它任务,只处理跳转的节点所在串行节点
优化 BPM 撤回,支持退回的任务进行撤回操作;支持并行向内向外会签等的撤回
优化 BPM 自由流,支持选择多节点跳转,适应于并行流程的场景
优化 BPM 工具 BpmUtils.isCurrentCmd 支持获取线程变量里存储的数据
优化 BPM 默认不继承上级任务的优先级,根据需要模型里设置,或每次审批的时候根据需要指定
优化 Cloud 下 避免同时依赖 bpm-rest 和 bpm-client 导致的 BpmUtilsEntity 类冲突问题
优化 文件管理,防止还未上传完成的时候就点击了确定,导致没有上传成功的问题beetl
优化 dataGrid 当没有指定src并锁定表格高度的时候,点击增行按钮后自动滚动到底部
优化 Job 作业调度列表中,增加未启动定时器的时候不能立即运行一次的要求
优化 OSS 对象存储的时候,上传增加 contentType 设置
优化 CMS 各种 url 生成调用,简化网页模板
修正 BPM 并行退回时,有时候会没有产生下一步任务或流程没有结束问题
修正 BPM 模型删除的提示信息,修复点击下载xml时,不下载文件问题
修正 oauth2 绑定账号后的没有跳转到 vue 页面的问题
修正 Cloud 下 BpmEntity 的 id 丢失问题
升级 JeeSite Cloud 社区版,可以商用。
Vue 分离端版本
- 新增 模块管理增加工程代码生成功能界面
- 新增 Upload 文件上传的必填验证实例
- 新增 BPM 会签任务加签减签功能界面
- 新增 Tabs 表单,拆分表单表单示例
- 优化 远程表单验证,减少请求频率
- 优化 treeselect 增加虚拟滚动
- 优化 showMessage 方法中包含大文本的时候自动切换到 showMessageModal
- 修正 Table 当子表滚动条拖拽到最右边的时候,不提示表单验证消息问题 #I6LM2N
- 修正 Upload 子表附件有时候会串的问题 #I6LIGF
- 修正 DatePicker 不是中文问题 #I6N7DU
- 修正 codemirror 代码组件的错误
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.3.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.3.1
,可以兼容JeeSite v5.1.0+
# V4.6.2 2023-3-27
# 升级内容
- 升级 spring boot 2.7.10
- 增加 子表初始非编辑状态,点击行再编辑的存储例子
- 优化 展开当前级别树表时,加载框显示1次,不频闪了
- 优化 内容管理网站主题,细节风格美化。
- 优化 列表查询,点击重置按钮后即查询
- 优化 分页输入框显示样式,分页参数容错
- 优化 表格分页的输入框宽度,根据输入页码自适应
- 优化 右上角消息太多时,有时文字溢出的样式
- 修正 非黑暗模式下,登录页的页签 hover 黑色的问题
- 修正 jqgrid custom_value 的提示信息不正确问题
- 修正 CMS 文字扩展字段不能保存问题 #I6IBXO
- 修正 CMS CmsUtils.getArticleList 的 isQueryArticleData 参数不生效问题 #I6HN74
- 修正 CAS中央认证服务退出后,没有退出客户端的问题
- 升级 JeeSite Cloud 社区版,可以商用。
- 升级 可视化数据大屏 v2.5 【预览】 (opens new window)
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.6.2-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# V5.3.0 2023-3-8
# 升级内容
升级 spring boot 2.7.9、spring cloud 2021.0.5、nacos 2.2.0、knife4j-ui 4.0.0 等等依赖
新增 自动扫描 @Table 的列注释到 Swagger 在线文档,并补充字段说明
新增 BaseDao 添加 executeBatch 方法,可以代替 startBatch flush endBatch 快速批量处理
新增 Page 增加一个构造方法,传递 isPaging 可快速设置是否分页
新增 oauth2.successUrl 参数,使用 OAuth2 登录后的跳转地址
新增 ureport.enabled 参数,方便已部署的应用开启关闭
新增 用户查询的 SimpleView 的 @JsonView 方便筛选敏感数据
新增 菜单地址增加 {sessionId} 参数,获取当前会话Id
新增 form:extend 组件 pathPrefix 参数,支持子类的扩展字段调用
新增 preferred-networks 参数提示,方便用户知晓
优化 Java 反射采用 ASM 并增加缓存,高并发下大幅度性能提升
优化 使用记住我功能时,系统不自动超时,不记录登录日志
优化 重置密码后清理在线的用户,并且通过记住我,记住的身份也需要重新登录
优化 SpringManagedTransaction 日志,输出到各自的业务包路径下,而不是全局
优化 @Table 生成 SQL 日志,输出到各自的业务包路径下,而不是全局
优化 TimeUtils 格式,秒后增加毫秒显示,补全显示天时分、时分秒毫秒
优化 CMS 当只给用户内容发布菜单授权时,栏目树没有权限加载问题
优化 ServletUtils 工具地址重定向,支持带域名的地址外部跳转
优化 分页参数不正确的时候,优化返回错误的提示信息
优化 默认给重置按钮添加 isQuick 类,点击重置按钮即查询
优化 表格分页的输入框,用户说太隐蔽了,所以增加边框提示
优化 表格分页的输入框宽度,根据输入页码自适应
优化 ${fromJson(Object)} 缓存 Class.forName
优化 给 OAuth2 的 AuthRequest 增加缓存
优化 代码替换为 @FunctionalInterface 方式
修正 CMS 文字扩展字段不能保存问题 #I6IBXO
修正 CMS CmsUtils.getArticleList 的 isQueryArticleData 参数不生效问题 #I6HN74
修正 CAS中央认证服务退出后,没有退出客户端的问题
修正 vue下的iframe打开beetl的form页面保存后,list列表页面没有刷新 #I6HBUZ
修正 elasticsearch 新版本,找不到方法的问题
修正 Cloud Bpmutils 的 BpmEntity 业务数据丢失问题
发布 JeeSite 客户端安装程序 v1.0 【下载】 (opens new window)
升级 可视化数据大屏 v2.5 【预览】 (opens new window)
Vue 分离端版本
升级 vite4.1.1、rollup3.14.0、vue3.2.47 等依赖都更新到最新稳定版
新增 分离端登录页增加租户选择框(当租户内账号唯一的情况下使用)
新增 文件上传增加 dynamicDisabled 属性支持
新增 白名单路由提示信息,方便用户使用
新增 用户管理增加性别维护字段
优化 当没开启消息推送的时候,右上角不显示消息框
优化 如果已经登录,进入登录页面时自动跳转到首页
优化 Tree 搜索框去掉无用的按钮,显示区域更大
修正 编辑表格数值输入框填写 0 的时候不能显示问题 #I6H1L6
修正 富文本编辑器全屏时的样式 #I6C0B9
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.3.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 请将 BaseEntity 类的 getIdColumnName() 方法调用,替换为 idColumnName()
- 请将 BaseEntity 类的 getIdAttrName() 方法调用,替换为 idAttrName()
- 请将 BaseEntity 类的 getSqlMap() 方法调用,替换为 sqlMap()
- 请将 BaseEntity 类的 getCurrentUser() 方法调用,替换为 currentUser()
- 请将 BaseEntity 类的 setCurrentUser(String) 方法调用,替换为 currentUser(String)
- 请将 BaseEntity 类的 getGlobal 方法调用,替换为 Global
- 请将 CrudService 类的 startBatch flush endBatch 方法调用,前面加 dao.
- 以上重命名均不会影响 Mapper xml 里调用,如:global.dbName、sqlMap.where、
currentUser.userCode;但会影响到 beetl 视图调用(Vue端不影响),如下:- 请将 xxx.currentUser.userName 替换为 user().userName
- 请将 xxx.currentUser.admin 替换为 user().admin
- BPM 流程标题生成脚本 form.currentUser 替换为 user()
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
Vue 分离端升级
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.3.0
,可以兼容JeeSite v5.1.0+
# V4.6.1 2023-2-8
# 升级内容
- 升级 spring-boot 2.7.8、mybatis 3.5.11、shiro 1.11.0、druid 1.2.15、spring cloud 2021.0.5、alibaba cloud 2021.0.4.0、seata 1.5.2、more...
- 新增 userService.saveAuthRole 该方法是不验证当前用户权限的授权角色方法
- 优化 dataGrid 设置列上的 sortable 优先级更高,树表可以设置
- 优化 缓存名称为特殊字符时,缓存管理操作删除问题
- 无用户数限制,无在线人数限制
- 多项功能细节优化
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.6.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# Vue V5.2.2 2023-1-30
# 升级内容
新增 文件管理功能、文件分享等
新增 站内消息功能、消息发布、查看
新增 消息提醒功能、未读已读消息列表、消息查看
新增 Editor 富文本编辑器的黑暗模式样式
新增 Upload 组件 是否上传附件验证例子
新增 Table 增加 filterDictType 字典过滤 Oliver
新增 Table 增加 dictType 支持多级对象 Oliver
新增 支持 PageWrapper 隐藏 title,设置为false即可
优化 登录后跳转到会话失效前的页面
优化 sys_menu_sys_code 字典加载两次的问题
优化 Date 日期选择框 黑暗模式下样式
优化 Table 表格组件 标题上的 Tabs 样式
优化 Form Text value 消除类型不匹配提示
优化 Form 当没有设置 label 的时候自适应
优化 Tree 当前切换主题色后选中的背景美观问题
优化 Table 序号列默认为锁定状态
优化 DictLabel可以不预先初始化数据,有组件自己初始化
修正 用户管理点击树,右侧部门框显示名称,而不是编码 #I66UWO
修正 优化 Editor 多个富文本情况下报错问题
修正 行政区划的区域代码查询条件
修正 SwitchCorp.vue 消除警告
修正 升级antdv3的遗留问题
# 升级方法
- 进入菜单管理,找到
内部消息
和文件管理
,去掉组件里的 IFRAME,点击保存。 - 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.2.1
,可以兼容JeeSite v5.1.0
# 后端升级内容
升级 spring-boot 2.7.8、mybatis 3.5.11、shiro 1.11.0、druid 1.2.15、more...
新增 sqlMap.where 的条件嵌套查询,可替代 andBracket、orBracket、endBracket
新增 web.staticCachePeriod 参数,响应给浏览器的静态文件缓存期限
新增 shiro.allowRedirects 参数,允许重定向的地址限定:
- 不设置时,为全部允许;
- 设置为 this 时,只允许本项目内部跳转;
- 支持通配符、支持设置多个,用逗号隔开;
- 举例:
this,http://*.jeesite.com
新增 userService.saveAuthRole 该方法是不验证当前用户权限的授权角色方法
新增 任务调度表增加一些字段,支持存储非 Cron 类型的任务数据
新增 @Table 注解缓存,性能提升
新增 oauth2.failureUrl 授权失败后跳转地址
优化 dataGrid 设置列上的 sortable 优先级更高,树表可以设置
优化 安全要求登录后重定向地址,不允许跳转到外部地址
优化 缓存名称为特殊字符时,缓存管理操作删除问题
修正 BPM 退回选择列表仅保留经过路线的节点
无用户数限制,无在线人数限制
# 后端升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.2.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# Vue V5.2.1 2022-12-5
# 升级内容
全面升级依赖库 antdv 3.2.15、vue 3.2.45、vite 3.2.4 等等
新增 树表 reload 方法增加 parentCode 参数,方便重载某个节点的下级数据
新增 强制加载接口自动展开当前节点,给已经展开的节点强制刷新数据使用
新增 useQuery 方便获取 url 请求参数方法
新增 Editor 富文本组件的图片上传
新增 Tree 异步加载示例(/src/views/sys/area/index.vue)
新增 Upload 上传组件的按钮标签设置属性,增加上传按钮click事件
新增 VITE_FILE_PREVIEW 文件预览类型参数
新增 Form Text 组件,不需要输入框的时候直接展示文本
新增 Vite Http Proxy HTTPS 认证,开发环境访问系统
新增 BasicTable 的其它插槽调用链
优化用户体验,专注用户体验细节:
- 菜单 管理编辑后自动更新树表下级节点
- 查询 打开默认的查询表单输入框回车自动提交
- 表单 默认增加冒号视觉并优化细节
- 表单 单选复选样式优化细节优化
- 表格 操作列,确认框调整到按钮左侧显示,方便鼠标操作
- 表格 空数据时,也可自适应高度,优化视觉
- 表格 增加 summary 列后也可以自适应高度
- 弹窗 Modal 默认最小高度调整为 100
- 图标 fa 类型的图标显示亮一点
- 下拉框 弹出容器 默认设置为 body,避免下拉框显示不完整
- 当直接访问首页的时候,不提示超时消息
优化 密码输入框关闭 autocomplete
优化 更改用户权限数据默认存本地会话 projectSetting.ts
优化 在线用户查询,不影响会话超时(由于轮询导致会话不超时问题)
修正 多个 Tree 的时候丢失父级选择数据问题(常见角色授权多个子系统时丢失数据)
修正 TreeSelect 第一次选择后仍然提示验证消息问题
修正 锁定屏幕密码输入框宽度太小修正
修正 表格操作列的工具提示 #I5QW73
修正 Http Proxy GET 丢失请求参数问题
修正 dev 环境下,提示 hrm 的问题
无用户数限制,无在线人数限制
# 升级方法
- 使用 VSCode 查找内容 vite-plugin-theme 替换为 vite-plugin-theme-vite3
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.2.0
,可以兼容JeeSite v5.1.0
# V4.6.0 2022-11-15
# 升级内容
升级 spring boot 2.7.4、spring cloud 2021.0.4、alibaba cloud 2021.0.4.0、nacos 2.1.1、seata 1.5.2、sentinel 1.8.5、more..
新增 oss.client.xxx.publicUrl 参数,支持公有文件下载
新增 pool.poolPreparedStatements 参数,Oracle 使用
新增 job.jobStore.misfireThreshold 参数
新增 左树右表和导入导出代码生成模板
优化 isInnerLogin 时忽略图片验证码检查
修正 form:fileupload preview=false 无效问题
修正 tableAndColumn.prefixSuffix 失效问题
修正 文件柜管理修改后未刷新文件列表问题
修正 编辑 job 时 cron 表达式回显不完整问题
修正 Cloud 下 bpm 参数 dueDate 序列化问题
可视化数据大屏升级支持快速自定义组件
无用户数限制,无在线人数限制
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.6.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 本次跨中版本升级了 Spring Boot 及 Spring Cloud 框架,建议做下完整测试
- OpenFeign 声明为
@GetMapping
的,请修改为@PostMapping
注解 - 检查 sql 中是否有 ur 关键字,可能会导致 jsqlparser 4.5 不能解析
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# Vue V5.2.0 2022-10-17
# 升级内容
- 升级 ant design 3.2.13、vue 3.2.39 等众多组件
- 多项功能细节优化、页面加载提升、性能大幅度提升
- 无用户数限制,无在线人数限制
# 升级方法
请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。如果您对
jeesite-vue
本身框架修改很少,就比较容易进行升级,如下:注意 BasicDrawer 的 wrapClassName 属性替换为 class
注意 moment 日期时间库替换为轻量级的 dayjs 日期时间库
使用 VScode 全局查找替换(选中:区分大小写和全字匹配):
_isAMomentObject
替换为format
replaceFields
替换为fieldNames
使用 VScode 全局查找替换(选中:正则表达式):
slots: \{ customRender: '(.+?)' \},
替换为slot: '$1',
注意 Antdv3 版本,表单 FormItem 下,不允许有多个表单输入组件,如果有多个请使用 FormItem 再进行嵌套一层,或者使用 FormItemRest 进行包裹排除掉即可
更多升级请看:https://www.antdv.com/docs/vue/migration-v3-cn (opens new window)
vue router 4.1.4 移除了 params 传参数,请使用 query 代替。
匹配后端版本为
JeeSite v5.2.0
,可以兼容JeeSite v5.1.0
# 后端升级内容
- 升级 spring boot 2.7.4、spring cloud 2021.0.4、alibaba cloud 2021.0.4.0、nacos 2.1.1、seata 1.5.2、sentinel 1.8.5、more..
- 新增 oss.client.xxx.publicUrl 参数,支持公有文件下载
- 新增 pool.poolPreparedStatements 参数,Oracle 使用
- 新增 XssJsonMapper @RequestBody 情况下的字符串过滤
- 新增 左树右表和导入导出功能的代码生成模板
- 优化 isInnerLogin 时忽略图片验证码检查
- 无用户数限制,无在线人数限制
# 后端升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.2.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 本次跨中版本升级了 Spring Boot 及 Spring Cloud 框架,建议做下完整测试
- OpenFeign 声明为
@GetMapping
的,请修改为@PostMapping
注解 - 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# Vue V5.1.0 2022-9-13
# 升级内容
新增 初始密码提醒和强制修改初始密码功能
新增 上传文件在线预览、SSO 单点登录实例
优化 ListSelect 组件增加左树右表功能配置
优化 ListSelect 组件自适应表格高度优化
优化 TreeSelect 组件字典类型支持树结构展示
优化 切换多语言情况下vue前端没有刷新菜单问题
优化 rules: [{ required: true }] 时的验证应与直接写 required: true 的验证相同
优化 BasicTable 表格翻页时默认自动滚动到顶部
优化 接口启用 apiUrlPrefix 参数,axios 可通过 joinPrefix 参数取消添加前缀 /js
优化 BPM 组件,并添加请假流程表单审批意见和下一步处理信息
优化 字典管理的字典数据数据加停用启用按钮
修正 单独设置 pagination: {defaultPageSize: 10 } 不生效问题
修正 在线用户点击重置没有重置操作用户组件问题 #I5NX4V
修正 用户管理的二级管理员下部门树缺少权限条件问题
# 升级方法
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 匹配后端版本为
JeeSite v5.1.0
# 后端升级内容
升级 spring boot 2.6.10、mybatis 3.5.10、jsqlparser 4.5、druid 1.2.11、spring cloud 2021.0.2、alibaba cloud 2021.0.1.0、more..
新增 方法 ValidCodeUtils.generateCaptcha 便捷生成验证码图片
新增 job.jobStore.misfireThreshold 参数
新增 BPM 获取节点的下一步处理人信息接口
新增 OSS 对象存储的文件预览(阿里、腾讯、七牛、MinIO)
优化 默认允许 @Table orderBy 排序 设置为空 v4.5.0 v5.1.0
优化 开发环境时避免 userfiles 在系统临时路径下,提升开发体验
优化 验证文件后缀放到最前面验证,防止秒传的时候没有验证文件后缀
优化 数据大屏动态查询接口,输出执行状态等错误信息
优化 消息推送接口,在特殊场景下的健壮性
优化 BPM 下一步处理人,多选情况下覆盖默认设定处理人
优化 BPM 设计器人员选择和角色选择,只显示状态为正常的数据
优化 菜单路由 menuRoute 接口,返回扩展字段信息
优化 代码生成数值类型最大数值的越界优化 #I5J7UR
优化 Cloud 流程异步脚本下报 lazy loading 异常,更新 BpmCloudUtils 文件
优化 日志记录 Log 创建时间增加秒
优化 黑暗模式下增行编辑表格的单选按钮颜色
修正 黑暗模式下的流程节点显示和选择组件的背景颜色
修正 BPM 撤回任务,下一个任务是会签的时候,提示流程已经结束的问题
修正 form:fileupload 组件 preview=false 无效问题
修正 tableAndColumn.prefixSuffix 失效问题
修正 文件柜管理修改后未刷新文件列表问题
修正 编辑 job 时 cron 表达式回显不完整问题
修正 Cloud 下 bpm 参数 dueDate 序列化问题
移除 JaxbMapper 工具类,使用 XmlMapper 替代
可视化数据大屏升级 Avue-data v2.4 支持快速自定义组件
无用户数限制,无在线人数限制
# 后端升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.1.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 本次跨中版本升级了 Spring Boot 及 Spring Cloud 框架,建议做下完整测试
- 检查 sql 中是否有 ur 关键字,可能会导致 jsqlparser 4.5 不能解析
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# V4.5.0 2022-8-8
# 升级内容
升级 spring boot 2.6.10、mybatis-spring 2.0.7、shiro 1.9.1、shardingsphere 5.1.1 等
微服务组件升级 spring cloud 2021.0.2、nacos 2.1.0、seata 1.5.0、sentinel 1.8.4 等
新增 左树右表、导入导出代码生成、微服务启动脚本模板
新增 OSS 对象存储的文件预览(阿里、腾讯、七牛、MinIO)
新增 @Table允许排序设置为空参数 mybatis.allowOrderEmpty 为空时,不自动添加主键排序条件。
新增 form:treeselect 组件的 fastSearch快速查询参数,关闭后点击查询按钮再查询
新增 DAO 批量更新语句方法,可动态 ExecutorType 指定
新增 顶部菜单自动折叠到更多下拉菜单
新增 BootStrap 版的黑暗主题模式
新增 Laydate 组件的多语言切换
新增 DiffDataUtils 差异比较工具,新增 DiffOptions 差异比较选项,自定义包含和排除等设置
新增 可以根据 window.toTopWindow 参数设定是否可以突破 iframe 到顶端的开关
优化 ListUtils 本地分页代码,如果总共就1页,则直接返回
优化 POM文件结构,对于新版IDE的一些提示优化
优化 代码生成 数值类型最大数值的越界优化 #I5J7UR
优化 新增smartToFit参数,当grid宽度小于窗口宽度时不让自适应
优化 RoutingTransactionFactory 动态数据源,实时判断
优化 点击全部已读后,更新右上角消息个数
优化 去掉基类上的事务注解,方便业务定义
优化 删除用户没有及时清除session问题pr!22
优化 流程脚本选择,管理按钮增加 bpm:bpmScript:edit 权限控制
优化 重载表格后,设置列排序显示隐藏对话框更新
修正 业务流程 撤回任务时,下一个任务是会签的时候,提示流程已经结束的问题
修正 用户管理 重命名ur是sql关键词,导致jsqlparser4.4不能解析
修正 文件管理 解决文件柜管理修改后未刷新列表问题
无用户数限制,无在线人数限制
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.5.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 本次跨中版本升级了 Spring Boot 及 Spring Cloud 框架,建议做下完整测试
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖。
# Vue V5.0.4 2022-6-27
# 升级内容
新增 ListSelect 列表选择组件
新增 锁屏密码支持账号密码解锁
新增 后台页面黑暗主题,流程图黑暗主题下调色
优化 避免文件名过长挤出操作列
优化 文件下载显示原文件名
优化 checkImgType 支持 base64 格式
修正 上传文件个数判断差 1 个
修正 Switch 为 false 的时候 foramt 不调用问题
修正 展开的表格不显示水平滚动条问题
修正 展开的表格双击展开图标的时候显示加载框问题
修正 使用展开表格时拖拽报错问题
# 升级方法
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 前端与后端版本不同,匹配后端版本为
JeeSite v5.0.2
# 后端升级内容
Spring Boot 2.5.13、Shiro 1.9.0 等等
新增 Dao 批量操作等系列的方法
新增 BootStrap CSS 的黑暗主题模式
新增 Spring configuration metadata yml 配置信息友好提示
新增 是否启用默认 Servlet 映射(启用后可访问 webapp 下的静态资源访问)
新增 支持 Spring Boot 带减号的 key 写法,自动转换为驼峰格式
新增 BPM 查询全部待办、已办流程数据接口
新增 OAuth2 state 缓存集群共享
新增 CacheUtils exists 方法
优化 去掉 Service 类上的事务注解,方便用户二开开定义
优化 切换租户条件改为权限方式,有租户管理权限的既有切换租户权限
优化 ListUtils.pageList 共 1 页的时候直接返回
优化 mime 加载,避免第三方包里含 mine.types 导致加载不正确
优化 Swagger 文档配置,内置功能增加中文解释。
优化 已经登录的账号,正常返回登录失败信息,方便前端判断
优化 DiffDataUtils 差异比较工具,新增 DiffOptions 差异比较选项,自定义包含和排除等设置
优化 便捷脚本、Docker脚本优化、Maven配置优化
优化 CacheUtils 不存储当前用户信息,防止流程标题生成串用户
优化 多线程,Redis 消息监听线程池、用户缓存清理线程池、消息推送线程池,避免高并发情况下太多的线程问题。
优化 服务器监控磁盘列表,隐藏一些不必要的盘符
优化 访问日志的控制台日志信息输出
优化 Cloud网关路由简化配置
修正 删除用户没有及时清除 session 问题 pr!22
修正 BPM 流程异步事件微服务下不执行问题
升级 Shardingsphere 5.1.1 分库分表框架
可视化数据大屏升级 Avue-data v2.3
无用户数限制,无在线人数限制
# 后端升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.0.2-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- Shiro 升级到 1.9.0 shiroFilter 方法 getInstance() 替换为 getObject()
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# Vue V5.0.3 2022-5-15
# 升级内容
新增 在线用户列表界面、3分钟内活动的用户、游客用户、强踢
新增 访问日志界面功能、异常日志、修正前后数据对比
新增 菜单管理子系统管理、右上角用户切换子系统
新增 多租户切换功能、页面缓存接口优化
新增 左树右表可拖拽调整大小 by Oliver
新增 BasicTable 表格列拖拽调整列宽功能
新增 BasicTable 树表的本地数据,展开折叠
新增 BasicTable 组件,字典类型,显示字典默认值属性 defaultValue
新增 BasicForm 表单 None 空组件,用于占位
新增 useDict 字典工具新增 initGetDictList 方法,便捷获取字典信息
新增 DictLabel 组件支持这种写法 tag red badge bg-red 多重写法
优化 内置功能体验,状态下拉框,切换后立即查询,不用点击查询按钮
优化 BasicTable 树表展开节点,异步加载性能优化
优化 BasicTable 避免 selection-change 重复调用,有数据时再调用
优化 BasicTable 单元格编辑的自动取消功能,支持除了 Input 组件外的所有组件自动取消
优化 BasicTable 单元格编辑,增加 editAutoCancel 参数,默认为不自动取消
优化 BasicForm 调整 onChange 的执行顺序,放到设置表单 Model 后
优化 BasicForm 允许表单标签 label 为空,省去设置,为空的时候不显示标签
优化 Drawer 和 Modal 当不显示确定的时候,取消按钮默认为关闭字样
优化 Dropdown 组件,保留字问题 key 修改为 value
优化 Dropdown 组件,未设置图标的时候不显示空图标
优化 缩短登录的连接超时时间,增加连接服务器超时和网络问题提示信息
优化 Vue ErrorHandle 全局错误句柄的页面布局及细节
修正 Tree 的 setCheckedKeys 方法,如果设置了空值,就报空的问题
修正 DictLabel 组件 列表上停用启用没有及时更新的问题
修正 BasicTable 编辑表格不显示数值或布尔类型的数据问题
无用户数限制,无在线人数限制
其它细节更多优化改进
# 升级方法
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码,手动解决冲突代码。 - 后端请更新 LoginController 和 CorpAdminController java 类
- 前端与后端版本不同,匹配后端版本为
JeeSite v5.0.1
# V4.4.1 2022-5-5
# 升级内容
升级 Spring Boot 2.5.13、Shiro 1.9.0、其它工具等等
新增 Spring configuration metadata yml 配置信息友好提示
新增 是否启用默认 Servlet 映射(启用后可访问 webapp 下的静态资源访问)
新增 支持 Spring Boot 带减号的 key 写法,自动转换为驼峰格式
新增 BPM 查询全部待办、已办流程数据接口
新增 OAuth2 state 缓存集群共享
新增 CacheUtils exists 方法
优化 便捷脚本、Docker脚本优化、Maven配置优化
优化 CacheUtils 不存储当前用户信息,防止流程标题生成串用户
优化 多线程,Redis 消息监听线程池、用户缓存清理线程池、消息推送线程池,避免高并发情况下太多的线程问题。
优化 服务器监控磁盘列表,隐藏一些不必要的盘符
优化 访问日志的控制台日志信息输出
优化 Cloud网关路由简化配置
修正 ie10下用户缓存问题修改头像未刷新
修正 sqlserver下流程名称排序错误
可视化数据大屏升级 Avue-data v2.3
无用户数限制,无在线人数限制
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.4.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- Shiro 升级到 1.9.0 shiroFilter 方法 getInstance() 替换为 getObject()
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# Vue V5.0.2 2022-3-31
# 升级内容
新增 Vue BPM 模块,流程按钮组件、流程图、流程代码生成
新增 oaLeave 请假流程,对应 BPM 模块的入门演示实例
新增 支持动态弹窗和抽屉,传输数据方法 setModalData setDrawerData
新增 editComponentProps 支持函数类型,方便传参返回自定义属性 Oliver
新增 VirtualScroll 虚拟列表增加 scrollToBottom 属性,可以一直滚动到最底部 Oliver
新增 CollapseContainer 折叠时,一起折叠边框,并支持 expand 双向绑定 Oliver
新增 TreeSelect 增加 isDisable 属性,自定义禁用项 Oliver
新增 Select 增加 each 属性,每次鼠标点击都重新拉取数据 Oliver
新增 用户 Excel 导入功能,Model 弹窗示例
优化 EditableCell 编辑表格,也可以使用 format 参数 Oliver
优化 RadioGroup 等组件,增加 Object 类型
优化 弹窗组件 centered 默认居中显示
优化 表单里的日期选择框样式宽度顶格
优化 去掉 firefox 下的 drawer 多余的滚动条
优化 有些浏览器不支持一个:not设置多个选择器问题
优化 所有 api 接口和 views 界面,强化类型,利于调试提醒
优化 菜单管理,如果包含
://
则默认是IFRAME
组件修正 表单 Schema 默认值,当使用 validate 情况下没有生效问题
修正 axios get 中文转义改进 #I4WFLV
无用户数限制,无在线人数限制
# 升级方法
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码。 - 前后端版本号暂不同,匹配后端版本为
JeeSite v5.0.1
# 后端升级内容
升级 Spring Boot 2.5.11
同步 V4.4.0 带来的所有新特性和优化改进
新增 Global.getPropertyToLong 方法,快速应对 Long 的属性
新增 vue 和 beetl 两种前端的菜单分类 BEETL、IFRAME、LAYOUT
新增 fixTreeData(list, parentCode, ... 方法,方便指定数据修正树结构
新增 session.sessionIdAttributeName 属性,多一种传 sid 的方式
新增 单点简单登录接口 token 支持设置时效性,1天:yyyyMMdd、1小时:yyyyMMddHH、1分钟:yyyyMMddHHmm
新增 动态数据源配置接口,提供更好的动态数据源操作方法。
新增 IdWorker 工具的 -DworkerId -DdatacenterId 参数
优化 BPM 管控系统,方便超管进行任务签收分配和查看
优化 BPM 弹窗模式下流程分类,设置弹窗大小,界面改进
优化 BPM 流程跟踪,根据情况查询历史表还是运行时表,提高性能
优化 Layer 弹窗标题优化,个别浏览器分辨率下,消除滚动条
优化 消息列表,原来发送者根据编码查找,改为根据名称查找
优化 缓存管理,不存储当前用户信息,防止获取缓存数据带上一个用户信息
优化 多线程,Redis 消息监听线程池、用户缓存清理线程池、消息推送线程池,避免高并发情况下太多的线程问题。
优化 取消 WebUploader 上传超时参数 #I4WP8B
优化 租户模式,支持显示游客在线用户查询
优化 启用多数据源条件,支持动态添加数据源的情况,自由启用数据源路由。
修正 BPM getTaskByBusinessKey 设置 userCode 无效问题
修正 form:extend 设置标签名不生效问题
关于 Spring 漏洞 https://my.oschina.net/thinkgem/blog/5507824 (opens new window)
# 后端升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.0.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.4.0 2022-3-16
# 升级内容
- 升级 spring boot 2.5.10、spring cloud gateway 3.0.7
- 新增 动态数据源配置接口,提供更好的动态数据源操作方法。
- 新增 属性获取Utils,新增 getPropertyToLong 方法。
- 新增 代码生成模板,子表生成的后端验证注解
- 新增 单点登录接口 token 可以设置时效性 shiro.sso.encryptKeyDateFormat
- 优化 登录和未登录的 session 超时时间分开,节省服务器资源
- 优化 登录的 deviceType 设备类型,如果登录时没有指定,默认为 pc
- 优化 新增孤立会话集群模式Quartz清理,减少清理任务执行次数,节省服务器资源
- 优化 微服务情况下可关闭孤立会话清理任务,只需开启core服务即可
- 优化 在线用户游客列表,删除还未来得及清理的已超时会话
- 优化 在线人数统计,增加缓存3分钟的数据,节省服务器资源
- 优化 管理界面默认不关联查询附属部门,根据自行业务修改
- 优化 取消webuploader上传超时参数 #I4WP8B
- 优化 ObjectUtils 反序列化遇到错误时忽略
- 修正 grid 当 autoencode 为 false 的时候,如果 title 未编码
- 修正 流程设计器弹窗时按 Ctrl+V 导致不能关闭对话框问题
- 修正 微服务下 fileUpload.getFileName() 为空的错误忽略
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.4.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 用户管理界面默认不关联查询附属部门,EmpUserDao.xml 根据自行业务修改
- 登录和未登录的session超时时间分开,注意 yml 中的 session 默认设置参数
- 集群环境部署下注意,本版本新增了集群模式的孤立会话清理 yml 里请开启 job
- 动态数据源 RoutingDataSource 接口发生变化,文档:https://jeesite.com/docs/dao-mybatis/#动态操作数据源 (opens new window)
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# Vue V5.0.1 2022-2-22
# 升级内容
- 新增 路由模式参数 VITE_ROUTE_WEB_HISTORY(true: history、false: hash)
- 优化 主题及黑暗主题优化细节改进,提高用户体验
- 优化 Tabs 为 1 个页签的时候,自动隐藏页签栏
- 优化 Select 下拉 options 选项类型兼容改进,ide 类型提示
- 优化 TreeSelect 下拉 treeData 选项类型兼容改进,ide 类型提示
- 优化 Tree 与 TreeSelect 的 treeData 类型,保持一致,方便后台返回直接使用
- 优化 更改默认设置,发布到 / 路径,默认 history 模式
- 优化 登录页高度过小时,可以垂直滚动登录表单
- 优化 layout 组件,自适应页面边距,适应折叠边距
- 修正 Select 使用 API 方式的时候未加载数据问题 #I4T86A
- 修正 遇到特殊字符时,表单远程验证提示错误 #I4U6AR
- 修正 代码生成的时候 选择报错问题 #I4QGOS
- 修正 Build 编译后切换主题色失效问题
- 修正 InputNumber 不能设置 0 问题
- 更多细节优化改进
# 升级方法
- 请与
jeesite-vue
代码仓库源码进行同步,合并代码。 - 暂且不跟随后端版本号,仍使用
JeeSite v5.0.0
版本 - 该版本无用户数限制,无在线人数限制。
# 后端升级内容
- 新增 转为 JeeSite Vue 提供服务的 web-api 工程
- 新增 独立 orderBy 过滤规则,只允许的特定字符
- 优化 后端 UI 跟随 JeeSite Vue 风格,IFRAME 时更贴合
- 修正 Redis 反序列化遇到错误时,忽略并更新缓存数据
- 修正 PinyinUtils 有特殊字符的时候报空问题
# 后端升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.0.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.3.3 2022-2-15
# 升级内容
- 升级 spring boot 2.5.9、mybatis 3.5.9、jsqlparser 4.3、layer 3.5、laydate 5.3、支持 jdk17
- 新增 gen.checkTableExists 参数为 false 时候的友好提示
- 新增 两套主题风格:亮蓝无界、浅蓝无界(标签融合)
- 新增 yml 环境配置实例,如:application-prod.yml
- 新增 系统管理员的默认角色,必选提示信息,增强体验
- 新增 DataGrid 表头高度调整实例 CSS 方式
- 新增 DataGrid 固定列锁定列支持鼠标滚动事件
- 新增 DataGrid 子表编辑 radio、checkbox 支持 class 属性传递
- 新增 form:select dictIcon、dictStyle 属性,是否加载字典里设置的图标和样式
- 新增 laydate 回调函数支持接收参数,例如:data-done="function(value, date, endDate){}"
- 新增 laydate data-options 属性,例如:data-options="{range: ['#startDate', '#endDate']}"
- 新增 BPM PC 表单和手机表单查看地址
- 新增 BPM 流程标题脚本生成,支持获取流程变量
- 优化 组织机构带用户接口算法优化,提升接口性能 50%
- 优化 TabPage 少于1个标签,自动隐藏标签栏
- 优化 DataGrid multiboxonly 选项,点击行的时候不进行选中或取消复选框
- 优化 form:fileupload 文件上传 md5 验证时,可获取biz信息 v4.3.3+
- 优化 Log 日志差异比较,忽略 avatarBase64 较大的属性比较
- 优化 BPM 模型保存,防止数据库里 lastUpdatedBy 为空的时候报错
- 修正 Weixin getUserByWxOpenid 出现死循环问题
- 修正 DataGrid 多级表头拖拽时有点错位的情况
- Cloud 升级 sentinel 1.8.1
- Cloud 新增 BpmCloudUtils 微服务环境下的 BPM 调用工具
- Cloud 优化 多处细节
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.3.3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 升级了 layer 3.5 组件,查找替换 /3.1/layer.js 为 /3.5/layer.js
- 升级了 laydate 5.3 组件,查找替换 /5.0/laydate.js 为 /5.3/laydate.js
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# Vue V5.0.0 2022-2-10
# 升级内容
感谢 JeeSite 支持者,因为有您,JeeSite 团队才更有动力去专注做好这件事,更感谢付费支持 JeeSite 平台的企业及同仁,是您让我们有力量💪。为更好的回馈社区,感恩用户,在此发布 JeeSite Vue 5.0 社区版,该版本无用户数限制,无在线人数限制。
版本介绍:https://jeesite.com/docs/jeesite-vue/ (opens new window)
安装部署:https://jeesite.com/docs/vue-install-deploy/ (opens new window)
V5 目前主要针对 Vue 分离版本,不使用 Vue 可以不更新到 V5。
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为5.0.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 若开启了租户模式,注意角色编码和岗位编码,新增 viewCode 属性带来的业务影响
- 属性名重命名,dictLabelOrig、menuNameOrig、isShowNameOrig 后缀 Orig 替换为 Raw
- 字典 treeData 接口,参数名 isShowNameOrig 替换为 isShowRawName
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# 从 V4.x 升级到 V5.x 版本
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为想要升级的版本号-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 查看你当前版本到要升级的版本范围的升级日志中的升级方法,对业务上有调整的地方进行修改
- 跨大版本建议您先备份数据库,启动项目后会自动升级数据表结构和基础数据。如果没有更新更新,可以尝试:将
js_sys_module
表中的current_version
版本号,手动降级为4.3.0
,这样系统就会自动在此版本上进行升级为5.x.x
的版本。由于您降级为4.3.0
后可能会出现中间版本的升级 SQL 重复执行,所以执行升级期间可能会遇到 “已存在” 的信息,您可以忽略它。升级完成后也可能会出现重复的菜单,手动删除即可。 - V5.x 同时支持全栈开发和 Vue 分离版功能协作,当项目工期比较紧急的时候,可以先迁移部分重要功能到 Vue 上来。个别功能可以在菜单管理里配置为 IFRAME 组件,即可继续使用全栈页面展示,为您上线周期做一个很好的缓冲。
# V4.3.2 2021-12-28
# 升级内容
菜单主题风格,激活菜单圆润风格。
主题整体美化,标准14字号,色调细节。
Tab 页签增加关闭全部功能;Tab 增加图标。
dataGrid 列表设置,选择列全选按钮放左下角。
表单组件:增加 readonly 全局只读属性,支持整个表单只读。
文件预览:如果有预览文件就预览,不管是否安装office转换服务
代码生成模板:非字符串类型默认增加 isUpdateForce
访问日志:提交前后差异数据输出结果优化
安全升级:防登录信息过长攻击
SqlMap 增加 maxJoinTableNum 选项,可设置最大联表个数(-1 为不限制,n 为 JoinTable n张表,0 为 不进行 JoinTable 查询)
layer 优化 msg 弹窗,超时时间比较长的加关闭创建按钮,全屏消息的增宽显示更多内容。
Select2 组件优化,当超过设置最大选择长度时,自动关闭下拉框
如果开启租户模式,登录未设置 corpCode 的不在在线列表中显示
代码生成优化,字段类型有精度的时候也可以返回数值
BPM 待办接口增加 identityLinks 的返回。
BPM 增加取消签收 unclaim 接口
微信接口工具升级 wxjava 4.2.2.B
在线文档UI升级 knife4j 2.0.9
大屏升级,修复已知问题
升级其它依赖库
修正左树右表的情况下,没有刷新树表的表格问题
修正ie9的上传问题,因为ie9的flash不能获取md5,所以不支持秒传
修正租户模式下,相同的表单Key,不同的流程Key,时缓存串的问题 v4.2.3+
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.3.2-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.1.9.1 无限制社区版
- 去除系统用户数量和最大在线人数限制
- 升级 shiro 1.8.0 其它版本也可参照升级
- 改善登录性能,修正已知问题。
- 地址:https://gitee.com/thinkgem/jeesite5/tree/v4.1_dev/ (opens new window)
# 升级方法
- 如果当前您使用的 v4.1 及之前版本步骤如下:
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.9-SNAPSHOT
- 如果您导入了
jeesite-common
源码项目,请与git
上的代码进行同步 - 如果您导入了
jeesite-module-core
源码项目,请与git
上的代码进行同步 - 如果有一些依赖包没有下载到,可能是因为您的 Maven 仓库地址没有更新到最新的
- 修改所有
- 如果当前您使用的 v4.1 以后版本,若想使用这个版本:
- 您可以重新下载 v4.1 版本代码,然后将您的代码再拷贝进来。
- 有些比较大的改动您可以看以往升级日志,逆向修改下即可。
# V4.3.1 2021-11-18
# 升级内容
- spring boot 2.5.6、mybatis 3.5.7、druid 1.2.8、jackson 2.13
- 浏览器升级提示信息的页面更新优化,过低版本浏览器引导页面
- 菜单权限接口:用户菜单权限查询 SQL 全版本优化(性能提升)
- 访问日志:增加访问日志类型快捷操作选项卡界面
- 内置功能:公司管理、菜单管理、行政区划增加左树右表界面
- 组织机构:公司和部门树 treeData 接口增加返回 viewCode 数据
- 组织机构:新增导入导出,并优化 ExcelField 注解写到构造上,方便管理
- 代码生成:新增表单(1列、2列、3列)布局选项的快速选择,相比列设置栅格,更便于操作和理解
- 代码生成:是不是数据表都都生成 findPage 方法,方便调用
- 代码生成:模块优化,如果是 PK 则必须生成到表单
- 代码生成:增加子表的表单验证类生成
- 用户列表选择组件的机构和角色列表增加 isAll 参数
- 防止只升级版本号同步Core代码时,造成的未执行升级脚本问题
- 注解名更新 @Length 改为 @Size 规范名称(两注解功能一致)
- DataGrid:新增分组表和冻结列的合并单元格支持
- form 组件:新增不使用 path 属性,使用 name 的时候 defaultValue 仍然有效
- form 组件:如果没有返回 labelValue,则获取 value 显示
- BPM:待办已办增加返回上一个处理人参数 extendMap[prevAssignee]=true
- BPM:新增 BpmUtils.updateStatus 支持 Class 类型 serviceBeanName 参数
- 可视化大屏版本升级 2021-11-15 新增诸多功能
- 作业调度:接口增加创建者查询条件
- 菜单管理:增加停用启用功能
- 新增 SAP HANA 数据库的支持
# 问题改进
- 优化防止 form:hidden 的 type 属性与 model 属性冲突
- 增加参数 max-http-form-post-size: 20MB 提交的包大小限制
- BPM: 请假流程管理,bpm:button 审核状态时显示提交按钮的问题
- 修正 shardingsphere jdbc 因表名大小写不对应报错的问题
- 修正当不设置 ctrlDataParentCodesAttrName 参数的时候报空问题
- 修正 DataGrid 只开启右侧锁定列的时候排序报错
- 修正代码生成多选字段验证时的问题
- 修正删除用户的提示信息
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.3.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.3.0.2 2021-10-08
# 升级内容
- 增加 Datagrid 的 options.gridMinMeight 最小高度设置
- 增加 web.securityMode 开关,控制一些风险功能的操作
- 优化 ztree 图标显示,可区分半选中状态
- 优化 oauth2 client 的超时时间,默认 30 秒
- 优化 Cloud 下或引入第三方插件的时候 Validator 可能会有冲突问题
- 优化 扩展 Lang 语言包时,如果没有定义的前端语言包,则不报错
- 优化 自定义登录页时,不在 adminPath 下的时候,地址不对问题
- 优化 uni-app h5 的流程图展示,可以拖拽
- 优化 Swagger Models 的扫描
- 修正 select2 禁用的时候,按空格可弹窗下拉框问题
- 修正 js.log 在 ie11 下报错兼容性问题
- 修正 Cloud 下消息内容可能会丢失问题
- 去掉 树表里的 parent 为空验证,因为无关紧要
- 字典 treeData 接口增加 cssClass 和 cssStyle 返回
- 菜单 获取菜单和权限接口增加 parentCode 参数返回
- BPM 提交流程,自动完成相同处理人时,之前是读取的是全局表单,优化为如果有定义当前节点的流程选项,则读取当前节点的选项
- BPM 增加根据流程 ids 和流程 keys 进行查询,支持 in 查询
- BPM 修正 BpmTask 的 assigneeCode 显示不正确的问题
- 发布基于 Spring Authorization Server 的 OAuth2 服务端
- 新增支持 SAP HANA 数据库
- 升级 Shiro 1.8.0
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.3.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.3.0.1 2021-8-25
# 升级内容
- CrudService 新增 updateStatusByIds 和 deleteByIds 批量方法
- BPM 新增手机端风格的流程跟踪图和流程追踪界面
- BPM 更正流程表单 URL 前面加
///
无效的问题 - BPM 增加流程接口在线文档
- 对象存储:增加 baseDir 参数
- 字典接口:treeData 包含 status 为空的数据
- 文件管理:点击文件夹树刷新的时候,右侧列表显示根文件夹数据
- 模块管理:优化模块编码的验证,支持带减号,字母开头
- layer.css 去掉top动画,不影响拖拽动作
- form:checkbox 当 name 为空的时候不发送 !号开头的参数
- 国际化译文优化,访问日志国际化,感谢 SoleMan 分享
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.3.0-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.3.0 2021-7-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.
- 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
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 升级 SpringBoot 2.5 文档:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes (opens new window)
- 升级 ShardingSphere 5.0 文档:https://github.com/apache/shardingsphere/releases/tag/5.0.0-beta (opens new window)
- 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 (opens new window)
- Cloud 移除 ribbon 替换为 loadbalancer,移除 hystrix 替换为 sentinel,升级时注意依赖管理
- 本次升级了众多依赖,请完整测试。
# V4.2.3.3 2021-5-19
# 升级内容
- 用户管理界面增加按角色查询用户下拉框查询条件
- 增加 shiro.contentSecurityPolicy 请求头配置参数
- 新增分离前端的rememberMe功能,简化记住我的功能开发
- 跨域参数 Header 支持 x-ajax, x-token, x-remember,兼容旧版命名:__ajax, __sid,预计下个中版本正式采用新版本命名,请求参数名 __ajax, __sid 不受影响
- addTabPage 新增 data-layer-full="true" 参数,弹窗后接着最大化
- 中文化图片预览下面的几个操作按钮(放大、缩小、旋转等)
- 角色授权接口 userService.saveAuth 支持非员工用户类型的授权
- 新增表格表单实例 demoFormTableForm.html
- 增加 session.sessionIdCookieSecure 配置参数
- Entity 增加 dataMap 内置属性;支持 Cloud 环境;支持 @RequestBody 方式接受 fileupload 的参数
- 修正分页 count 条数少于 pageSize 时,设置一个未知页号仍然返回了数据的问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.2.3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您是跨版本升级,请注意每一个版本的升级方法,业务上有调整的地方进行修改
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.2.3.2 2021-4-15
# 升级内容
- 新增支持移动端无 Cookie 环境下的记住我功能
- 新增移动端 APP 基础模块,版本升级、意见反馈
- 新增 CMS 模块,来自 jeesite4-cms 项目
- 新增支持 staticPrefix 不自带 ctxPath
- 增加 session.sessionIdCookieSameSite 配置参数
- 代码生成模板 Cloud 环境下的模板完善
- 代码生成 erm 模板输出 sql 路径更正
- 优化 showMessage 使用 toastr 默认的 5 秒超时时间
- 如果 Tomcat 下部署多个项目的时候 logPath 会出现项目之间串用问题,所以启用 customLogPath 名字
- BPM 启动流程时设置任务等级,第一个节点完成后,从已办里可以看到的任务等级;
- BPM 如果未选择自动完成第一个节点,则设置下一步任务信息,如:处理人,任务等级;
- BPM 打开业务表单时,自动默认当前任务的等级,方便后续任务继承这个任务等级;
- 修正 MsgPushUtils.push 方法,当多个接受者的时候,报主键重复问题。
- 修正自定义的消息类型 bulidReceiveCode 方法没有调用问题。
- 分离出来 getOauth2User 方法,方便其他模块调用存储
- 去掉 /file/ueditor 的 user 权限注解,可自定义
- 去掉大屏设计器的例子模板不允许修改提醒
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.2.3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.2.3.1 2021-3-22
# 升级内容
- 提升启动性能因为 Mapper 使用 classpath 扫描,所以不用再进行分磁盘路径扫描多次
- 新增 js.window 方法,替代 top.window,嵌入 iframe 跨域的时候规避一些问题
- @Table、sqlMap.table、dataSope 增加 nolock,仅用于 SqlServer 表后增加 WITH(NOLOCK)
- BPM 增加按流程名称排序,包括功能:待办任务、已办任务、我相关的流程
- 增加 sessionIdCookieSecure 参数配置,支持 session 的 cookie 增加 secure 属性
- 跨域配置 accessControlAllowOrigin 支持多域名、模糊匹配功能,多个使用逗号隔开
- 新增 mybatis.configLocation、mybatis.scanMapperLocations 参数自定义 Mapper xml 扫描路径
- form:extend 增加一些属性,可以自定义标签名,如:
<form:extend extendS1="自定义标签名"
- 优化体验 js.showMessage 鼠标移到上面,点击关闭按钮再关闭
- 支持链式表达式 js.select、js.iCheck、js.laydate 增加返回值
- 页签 TabPanel 增加 rightmenu 属性,可关闭右键菜单的功能
- 优化 js.cookie 的 path 为空的时候读取顶级路径
- 接口优化 role/treeData 传递 userType=__all 支持查询所有用户类型的角色
- 提示优化 用户类型的 “未知” 字典改为 “无”
- 明确 Maven 的插件版本号,方便有些 Maven 版本不一致的时候编译提示问题
- 重命名 Bean 名 securityManager 为 webSecurityManager
- 大屏设计器允许修改模板
# 问题改进
- 当 JsonMapper 的空字符串输出属性时,代码生成器的列出现非编辑状态的问题改进
- 当执行 clearCache 时不会清理掉 Caffeine 在 yml 里自定义的 TTL 配置信息
- 代码生成器 postgresql 下 “必填” 列,为空不为空反了。v4.2.2+
- 当指定 jdbc.type 为 mssql2012 的时候找不到表问题修正
- BPM 修正流程事件缺少租户条件;流程表单增加状态条件
- 改进 DES 工具类,一个或两个 key 的为空验证问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.2.3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.2.3 2021-2-22
# 升级内容
架构相关
- 升级依赖 spring boot 2.3.8、shiro 1.7.1、druid 1.2.4 等等
- 界面优化,美化表单、表格、zTree、日期选择图标、整体风格、体验优化
- 新增 mybatis.jdbcTransaction 参数,支持 MyBatis 指定 JDBC 事务管理,默认 Spring 管理事务
- 新增 page.maxPageSize 参数,防止用户填写过大导致资源占用多
- 新增菜单初始化完成后的事件:$('#leftMenu').on('initd', function(){});
- 统一忽略 user.refObj 的输出,避免通过接口获取到用户详细数据,增加数据安全性
- @Table 优化,去掉冗余字段的查询,默认使用 join 返回的数据
- 如果会话超时,则提醒用户会话超时,请重新登录的对话框
- 增加日志追踪标识,方便对每次请求执行的日志做出分析
- 当用户类型为管理员的时候,起效员工的首页个性化设置
- 500 页面优化,只将未知的异常输出到日志文件
- 增加 Tomcat 的最大 POST 数据限制参数例子
- 新增无数据库的情况下启动 Web 服务的支持
- 数据库升级脚本 mssql2012 和 mssql 兼容
- 数据库升级脚本日志支持输出到日志文件
功能模块
- 新增访问日志记录,表单提交前后的差异数据分析
- 新增 Object 对象差异化分析工具,分析结果:人性化,通用化
- 新增使用手机或邮箱找回密码开关:msg.sms.enabled、msg.email.enabled
- 找回密码和注册账号的密码填写新增密码等级提醒
- 代码生成模板主子表服务类增加子表数据查询方法
- 代码生成去掉复选框必须选择一项的验证
- 安全审计新增国际化语言包:英文、日语
- 第三方登录 OAuth2 新增绑定账号功能
- 第三方登录 OAuth2 企业微信增加 agentId 参数
- 第三方登录 OAuth2 增加 github、weibo、alipay 的参数示例
- 字典新增,默认是否系统字段的初始化,增强体验
- 角色授权用户,增加状态查询条件,方便检索停用用户
- 可视化大屏设计器升级,并本地化 visual 静态文件,支持内网访问
- BpmUtils 增加 getBpmTaskService、getBpmRuntimeService 的方法
- BPM 退回优化,如果节点为候选多个处理人的情况,直接退回到该节点最终执行人
- BPM 增加 bpm:bpmRuntime:admin 权限字符串,可终止流程、跳转流程、代办任务等
- BpmTask 通过 job 调用的时候,启用 entity 里的 CurrentUser 改进
工具组件
- 显示隐藏或排序 dataGrid 列的对话框,增加全选/取消全选复选框
- 完善新增 dataGrid 使用实例,如:高亮行、分页附加信息等
- dataGrid 的下拉框增加 cssClass 和 cssStyle 的支持
- dataGrid 的快速查询 isQuick 兼容 icheck 复选框
- dataGrid 增加 validate: false 查询表单验证参数支持
- dataGrid 编辑表格,输入框 focus 前,增加调用 beforeSelectRow 事件,可避阻止选择行事件
- js.addTabPage 增加 data-title="false" 不显示对话框标题参数;
- js.addTabPage 增加 data-shade-close="false" 点击遮罩层关闭参数
- form:fileupload 增加一些扩展字段,方便用户通过上传接口实现个性化数据存储
- form:fileupload、listselect、treeselect 支持通过 js.template 指定readonly 属性,或者通过 cssClass 指定 disabled 设置只读。
- form:input 组件的 class 增加 nolaydate 可取消 laydate 自动加载
- form:treeselect 搜索框加 autocomplete="off"
- form:treeselect 去掉返回名字中的([0-9])的替换
- form:checkbox 支持 Integer 等数值类型的数据绑定
- form:fileupload 图片上传增加 title 提示,显示上传人和时间
- form:fileupload 回调方法增加 fileUpload 参数,添加文件时可得到文件数据
- 新增样式,select2 在 input-group 的情况下的支持
- DictUtils.getDictList 当类型为空的时候忽略查询
- 新增快速保存上传文件方法:FileUploadUtils.saveFileUpload(file, fileName, bizKey, bizType, uploadType)
- DateUtils 增加 "yyyyMMdd","yyyyMM" 格式解析
- ObjectUtils 增加 logger 输出
- IdGen.nextCode 支持超长数值
微服务版
- 升级依赖 Hoxton.SR9、Sentinel 1.8.1、Zipkin 2.23.2、Nacos 1.4.1
- 独立 BPM 业务流程微服务 Web 应用,可减少 Core 的开销,按需部署 BPM 服务集群
- 集成 Seata 阿里分布式事务框架,支持 feign、hystrix、sentinel、mybatis
# 修正改进
- 修正 IOS 下单选和复选框不容易选择问题。
- 修正当开启 “密码强制修改” 的情况下,修改后不能跳转到首页的问题
- Shiro 1.7 新增了非法请求过滤器,因为不支持中文 URL,所以关闭 NonAscii 验证
- 去掉 Shiro 的 JSESSIONID 参数,因为 Shiro 1.7 版本多了 URL 特殊字符的验证,导致有时候无法跳转
- 由于数据迁移导致的 blob 字段不完整的情况下,Job 启动报错 EFBFBDEF 的问题
- 启用多租户情况下,记住我优化,增加登录回调 租户信息 的恢复
- 修正 form:select 只读并 value 为空的时候报 null 问题
- UReport2 优化可能有些环境 ooxml xmlbeans 冲突问题
- 改进 Swagger 有时候报 NumberFormatException 问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.2.3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - FAQ:同步上述代码为最新版本后,数据库表结构自动更新,无需手动干预
- 获取用户信息接口中 去掉了 refObj 属性,如果接口需要,请新增对应接口
# V4.2.2 2020-10-28
# 升级内容
功能模块
- 新增创建模块的代码生成功能,快速创建模块
- 新增 listselect 列表选择组件的代码生成模板
- 新增 Cloud 微服务模块的代码生成模板
- 新增 BPM 业务流程表单代码生成模板
- 代码生成自定义模板支持指定文件的字符集
- 生成模板的树表没有状态字段的时候不判断状态
- 菜单管理优化,选择模块改为多选下拉框
- 文件管理新增查看权限,只有分享人或接受人才可以取消共享
- 文件管理没有部门的用户不显示部门文件柜、不是当前租户的人不显示个人文件
- 文件管理增加租户支持,新增不允许上传空文件的友情提示
- 我相关的流程、流程实例流程增加快速选择日期
- 通过 Job 调用流程时,不启用 SmartComplete
- BpmTask 增加 deleteReason 字段 v4.2.1+
- 依赖模块 es 升级到 7.x 利用 RestHighLevelClient
- 新增手机号短信验证码登录 user.loginByValidCode=true
- 找回密码和注册用户敏感信息加密处理
- 可视化数据大屏 Avue-data 升级到 v2.0
架构相关
- 升级依赖 Spring Boot 2.3.4、Spring 5.2.9
- Cloud 版本升级到 Spring Cloud Hoxton.SR8、nacos 1.3.2
- 优化shiro过滤器的请求和响应对象,响应对象重写重定向,https下有些系统无法跳转,因此取消 http1.0的兼容
- 分离出控件初始化代码 js.iCheck、js.select2、js.laydate,方便二次调用
- 提高扩展性,删除所有指定 @Primary 的 Bean 定义,方便自定义
- sql 过滤优化增加 |sleep|union|load_file 函数的过滤
- 工具依赖升级,去掉一些极少用的依赖,按需加入
- 依赖的 aop 包替换为 boot-start-aop 包
- 主题优化,全屏桌面,性能及体验,主框架再次操作性能提升
- 如果是在个性化用户类型的登录界面,登录的系统,则在退出时返回对应用户类型的登录界面
- 单点登录和无条件登录接口的优化改进,并在调用登录时统一增加登录成功和失败事件,方便返回登录信息
- 调整 sysLogin、sysIndex、menuTree、forgetPwd、registerUser 的目录,方便覆写和理解;
- 增加 自定义主题视图 的 readme.txt 帮助文件,方便开发者理解。
- 支持 service 重写 newValidationException 异常抛出信息
- JeeSite 的架构有很多您意想不到的功能,不再用时方恨少,从此无烦恼
工具组件
- 所有模块增加 package.sh 打包和 deploy.sh 部署脚本
- 增加获取字典对象函数 DictUtils.getDictData
- 增加 BpmUtils.getBpmEntity 获取流程业务实体方法
- 更改 CookieUtils 默认存储路径为 contextpath 缩小存储范围
- 图片裁剪取消跨域验证,防止oss云存储的时候不能显示图片问题
- 验证码组件 validcode 增加 autocomplete="off" 避免自动完成提醒
- 验证码组件 validcode 增加 label 标签设置属性
- 富文本组件 ueditor 增加 maxHeight属性
- 优化 js.showMessage 参数 type的优先级比内容的更高
- userSelect、empUserSelect的json验证优化
- 优化排序列设置排除冻结的列
# 问题修正
- 个人信息保存即时没有显示最新信息的问题
- 优化ueditor设置高度的时候出现不必要的滚动条
- 当设置冻结列又开启了排序列的时候,冻结列失效问题
- 修正流程定义列表,返回了所有版本号的数目,总数统计不对的问题
- 解决 bpm:button 有时候 endTime 不为空,则为空字符串的时候判断错误
- 引用了fileupload类库,但没初始化fileupload控件时,textarea调整大小的时候报错
- 页面标签鼠标放上,去除的 title 显示 html 的问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.2.2-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - FAQ:同步上述代码为最新版本后,数据库表结构自动更新,无需手动干预
- 本版本调整了 sysLogin.html、sysIndex.html、topMenu*.html、leftMenu.html 位置,根据您的业务需要,将
<% include
中的sysIndex/
替换为/include/sysIndex/
路径。否则可能会出现,菜单无法显示,右上角语言图标、在线用户图标、消息提醒图标、用户头像等无法显示。自定义视图详情:点我看文档
# V4.2.1 2020-8-13
# 新增
- DataGrid 表格的表头支持 “拖拽排序”、“显示隐藏” 列
- DataGrid 新增 editGridInitRowSuccess 编辑表格控件初始化行完成后执行事件
- TabPanel 新增 data-closeable="true" data-refresh="false" 属性
- TabPanel 页签新增支持 “拖拽排序” 方便页签切换
- TabPanel 页签新增 onTabPageActive 激活Tab事件
- 新增 人大金仓数据库 支持适配,并支持 XA 数据源
- 新增 oauth2 第三方登录列表,支持解绑第三方账号
- 文件预览增加 pdfjs,支持 iOS、Android 的 PDF 预览
- 允许后台代码设定用户临时管理员身份,特殊场景下使用
- 采用消息推送模板方式时,新增支持扩展信息,如邮件的抄送密送
- 新增 近 1 周,近 n 月,近 n 天的日期快速选择(见访问日志)
- 新增 js.addMonths 日期按月加减 前端便捷函数
- 新增 core-extend 核心扩展模块实例,完全不受底层限制
- 支持 header 请求头 __ajax=json、__ajax=xml
- 内容管理 CMS 发布:https://gitee.com/thinkgem/jeesite5-cms
# 优化
- 改善体验,登录后自动跳转到登录前页面
- 改善体验,优化弹窗,小屏幕下边距减小,方便小屏幕阅读
- 改善体验,提示信息太多的时候显示垂直滚动条
- 增强核心功能,系统角色普通管理员可以添加用户
- 流程追踪列表,当创建和结束事件相同时,新增排序任务 id 排序条件
- 消息窗口 z-index 到 layer 之上,特殊场景下优化
- 登录提交信息非法请求解析错误则忽略无所谓的异常
- 请求参数 getParameterMap 方法增加 xss 过滤
- jqgrid 启用默认 html 编码,拒绝一些 xss 攻击
- ExcelImport 导入的数据进行 xss 过滤
# 修正
- Jackson XML 替代 JAXB 解决 JDK8、11 互相切换兼容的问题
- 修正使用多数据源执行 preInsert 时,偶尔导致找不到表问题(4.1.8+)
- 修正 ueditor 快速图片上传 session 丢失问题
- 修正 ie9 下日期范围控件结束时间不激活问题
- 修正文件管理树的 title 显示 undefined 问题
- 修正流程实例删除 id undefined 问题
- 分页排序漏洞修补 CNVD-C-2020-126476
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.2.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - FAQ:同步上述代码为最新版本后,数据库表结构自动更新,无需手动干预
# V4.0.8 无限制社区版
- 该版本没有系统用户数量和最大在线人数限制
- 新增亮蓝主题、浅蓝主题、优化黑色主题、黑灰主题
- 优化浏览器 130% 缩放比例,偶尔会显示垂直滚动条问题
- 优化浏览器记住密码时,需要点2次登录按钮问题
- 其它已知问题改进,代码优化,体验优化等
- 地址:https://gitee.com/thinkgem/jeesite5/tree/v4.0_dev/ (opens new window)
# 升级方法
- 如果当前您使用的 v4.0 之前版本步骤如下:
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.0.8-SNAPSHOT
- 如果您导入了
jeesite-common
源码项目,请与git
上的代码进行同步 - 如果您导入了
jeesite-module-core
源码项目,请与git
上的代码进行同步 - 如果有一些依赖包没有下载到,可能是因为您的 Maven 仓库地址没有更新到最新的
- 修改所有
- 如果当前您使用的 v4.0 之后版本,若想使用这个版本:
- 您可以重新下载 v4.0 版本代码,然后将您的代码再拷贝进来。
- 有些比较大的改动您可以看以往升级日志,逆向修改下即可。
# V4.2.0 2020-6-16 (Beta)
# 升级内容
- 后端依赖: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 接受多条数据删除
- 分页优化,简化手机端应用,当填写没有的页码的时候返回空数据
- 用户类型参数 userTypeMap,新增支持 beanName,可指定 service 名称,适应 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/ (opens new window)
- 全局搜索 function onTablePageClose 方法,替换为 function onTabPageClose
- 在线文件预览升级(替换时选择:区分大小写、全字匹配):
- 搜索 jeesite-module-weboffice 替换为 jeesite-module-filepreview
- 搜索 preview="weboffice" 替换为 preview="true"
- 搜索 preview=weboffice 替换为 preview=true
- laydate 事件改为单击,全局查找 input 属性
.focus()"
替换为.click()"
- 符合升级条件的已付费用户,正式部署时,请向售后申请更新许可文件
# V4.1.9 2020-4-15
# 新增
- 新增 子表附件存储 例子
- 新增 多次调用登录接口,允许改变登录身份,无需退出再登录
- 新增 DataSourceHolder.setJdbcTransaction() 独立设置事物模式
- 新增 Cloud Nacos 配置示例和安装文档
- 日期控件替换为 laydate
# 优化
- 优化 BPM 流程图 TIP
- 优化 更新行政区划全国数据
- 优化 登录性能,减少一次 SQL 查询
- 优化 当设置了错误的语言名称的时候,使用默认的
- 优化 数据源切换增加缓存提高性能
- 优化 Cloud Gateway 集中配置
# 修正
- 修正 角色分配用户的时候,没清理掉用户缓存问题(影响不大)
- 修正 BPM 表单标题和地址中,如果使用 currentUser 则有可能因缓存问题造成获取数据不对
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.9-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 日期控件替换为 laydate,升级方法如下(替换时选择:区分大小写、全字匹配)
- 搜索 input 的 class 样式类
Wdate-datetime
替换为laydate width-datetime
- 搜索 input 的 class 样式类
Wdate-date
替换为laydate width-date
- 搜索 input 的 class 样式类
Wdate
替换为laydate
- 搜索
onclick="WdatePicker
将 onclick 点击事件替换为:- 日期类型:
data-type="date" data-format="yyyy-MM-dd"
- 日期时间类型:
data-type="datetime" data-format="yyyy-MM-dd HH:mm"
- 日期类型:
- 如果是日期范围,您可以增加选择后事件,方便弹出结束日期选择,如:
data-done="createDate_lte.focus()"
- 搜索
WdatePicke
的 grid 子表 js 代码,删除 $(element).on('focus', function(){ ... }); 一起替换为:- 日期类型:
laydate.render({elem:element, type:'date', format:'yyyy-MM-dd'});
- 日期时间类型:
laydate.render({elem:element, type:'datetime', format:'yyyy-MM-dd HH:mm'});
- 日期类型:
- 再次全局搜索
WdatePicker
关键词,检查是否还有未替换的控件。 - 对上述所有修改的文件日期控件进行测试。
- 搜索 input 的 class 样式类
# V4.1.8.2 2020-3-3
# 新增
- 新增 OAuth2 第三方登录模块
- 新增 账号注册 界面的功能示例
- 新增微信模块,实现微信消息推送、微信公众号与JeeSite绑定登录、小程序与企业微信接口引入
- 部门树接口 isLoadUser 新增 lazy 懒加载,异步加载,点击再加载
- 新增全空格的前端验证,验证名称:isBlank
- BPM 新增 BpmTreeEntity 树表支持
- BPM 表单节点选择支持选择连线,用于连线事件设定
- Beetl 添加 hasRole 角色权限函数
- Excel 工具支持 BigDecimal 类型
- 新增 inputmask 插件金额使用例子
- 新增 editGrid 列表选择组件的例子
- Cloud 新增 代码生成模板
# 优化
- 消息列表的消息内容查询改为模糊查询
- DataGrid 优化,点击列表查询后,定向到第一页
- 实体类分离出接口 BaseEntityApi、DataEntityApi、TreeEntityApi
- 修改据库表字段 password 长度为 200,第三方系统迁移密码可能会比较长
- 当有 isQuick 的时候,树表的刷新按钮点击会刷新 2 次优化
- 仅使用国内 Maven 服务器,避免网络不好的用户下载慢
- 用户导入增加所属机构是否为空验证
- 升级 tomcat 8.5.51
# 修正
- 初始化脚本提醒优化,未设置参数的时候,否则会提示 找不到bean
- 修正当页面中有文本域的时候,并调整大小的时候,上传控件的上传按钮需要刷新
- 修正文件组件删除文件的时候没有重设文件大小问题 4.1.6+
- 修正不分页的时候,点击列表排序会造成强制分页问题
- BPM 优化 bizEntity 修改为 bpmEntity 遗漏补查
# 升级方法
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.1.8.1 2020-2-5
# 新增优化
- BPM Flowable 引擎升级到 6.5.0
- BPM 流程追踪图tip显示实际处理人信息
- BPM 新增视图文件及流程事件脚本默认包导入
- BPM 新增 bpmScriptService.runScript(id) 方法,如:在线作业调度,可以运行脚本管理的脚本
- BPM 定义了节点表单,但未设置表单 url 的时候,获取全局表单 url
- BPM 新增 flowable.tenant.enabled 配置,可以独立关闭 BPM 的租户模块
- 新增 role.corpAdminAllMenu=false 默认租户管理员分配菜单的时候只显示拥有权限的菜单
- 新增 MyBatis JdbcTransaction 事务类型的多数据源事务的支持
- 新增 Sharding JDBC 整合的例子,分区分表,读写分离
- 新增 Request Scheme 强制转换为 HTTPS 过滤器
- 新增 代码生成工具类,在超多字段的时候使用,详见 GenTableToolTest.java
- 新增 多表格联动(上下布局表格)示例,详见 demoDataGridMultiGrid.html
- Cloud 新增每个微服务可以独立调用 job, cache, server 功能
- Cloud 新增整合 TX-LCN 分布式事务框架;移除 spring-boot-admin 模块
- Cloud 增强 Feign 支持 @RequestBody 和 x-www-form-urlencoded 自适应
- Cloud 新增 BPM 微服务模块需要的 Rest 和 Client 包,Cloud 下使用 BPM
# 修正
- 修正 JeeSite Cloud 下子模块的 404 页面没加载 i18n 包问题。
- 修正文件管理的新建文件夹,选择上级文件夹时没关联分组类型的问题
- 修正 job 删除任务,没有实际删除当前正在运行的任务问题 v4.1.8
# 升级方法
- 执行
root/package.bat(sh)
打包脚本,强制更新依赖即可。
# V4.1.8 2020-1-3
# 新增
- 新增 BPM 模块,基于 Flowable(Activiti)工作流引擎,详情:https://jeesite.com/docs/bpm/ (opens new window)
- 新增更多查询选项窗口(高级查询)不常用的查询折叠起来,详见:用户管理的查询
- 新增 session.sessionIdParamName 参数,替代更改 __sid 参数或 header 的名字
- 新增导航菜单 “全部显示在顶部”,详见演示:http://demo.jeesite.com (opens new window)
- 新增 2 个黑色配色主题,界面优化,登录页增加欢迎语
- 新增 sqlMap.updateNullValue() 执行更新时不去验证字段是否为空(相当于 isUpdateForce 的全局设置)
- 新增国际化了一些系统内置功能:二级管理员、系统管理员、租户管理员、角色管理、菜单管理、模块管理、参数配置、字典管理、消息推送、国际化管理、作业监控、缓存监控、服务器监控
- 新增 beetl toBoolean、toInteger 函数,简化调用;此项升级注意:一定要同步更新beetl-core.properties文件
- 新增 TreeService.updateStatus(entity, cascadeChild) 方法,支持级联更新下级状态
- 新增 isQuick 样式类,下拉框(change)后直接进行查询操作,省去点击查询按钮再查询
- 新增连接池 jdbc.pool.keepAlive 参数,详见 application.yml 文件
- 新增 Global.updateProperty 方法,将更新属性值,写入到配置文件
- 用户管理新增员工工号字典,并保持租户内唯一性验证;employee 新增 getByEmpNo 方法,cloud版升级注意
- 消息推送 BaseMsgContent 新增 bulidReceiveCode方法,方便开发者在扩展消息类型的时候,通过 userCode 获取 receiveCode 等信息接口。receiveCode 为实际的接受者数据,如:发送短信,则receiveCode是手机号
- 授权类增加 multiAddrLoginCheck 和 doGetAuthorizationInfo 的一些回调方法,方便扩展
- 新增 shiro.accessControlAllowMethods 和 shiro.accessControlAllowHeaders 允许跨域接入的方法和请求头
- 新增 mybatis 自定义属性 @Bean("mybatisProperties") 注入 Bean 即可,方便用户自定义属性
- 新增表名和字段名加 “前缀和后缀”、“是否强制大写” 的参数,特殊情况下使用
- 新增可编辑数据表格的JSON数据获取实例,详见:demoDataGridEditGrid.html
- QueryType 新增 NOT_LIKE、LEFT_NOT_LIKE、RIGHT_NOT_LIKE 查询类型
- RoleUtils 新增 get(roleCode) 方法,并支持缓存
- logincontroller 增加 切换角色身份示例
# 优化
- 优化字典缓存。减少缓存一次性返回的数据
- 优化字典分类查询,非超级管理默认查询非系统字典
- 优化 dataGrid 表头文字过长时支持自动换行
- 微软的 sqlserver 驱动,代码生成兼容性改进
- 升级 sql 脚本执行工具类,支持 \n 并忽略、注释行
- bin 下的脚本优化,执行完成后增加 msg 对话框提醒
- 默认数据源接口优化,个性化数据源更强,更方便
- TabPanel 找不到当前tab的时候,忽略异常信息
- jqgrid 复选框列增加 cb 样式类,去掉省略号样式
- 超小屏幕的体验优化,方便弹出菜单,点击菜单自动最大化内容窗口
- disableAutoAddStatusWhere 简化操作,省去 setStatus("") 的代码
- 请标准化json/xml等页面的Content-Type响应头,去掉AcceptCharset响应头 #I155OX
- $.validator.messages.errorMessage 设置为空不输出全局错误信息
- 不建议使用 CacheUtils.put(key, value, timeToLiveInSeconds) 方法,因为 sysCache 启动系统时过早的加载了 j2cache.properties 里的默认配置,所以这里不需要设置 timeToLiveInSeconds 这个参数,否则会提示 TTL 不正确。若自定义缓存名字,请使用 CacheUtils.put(cacheName, key, value, timeToLiveInSeconds) 方法
- job 目标字符串支持使用双引号标识字符串,字符串中含逗号的不用再转义了,允许 bean 类型的参数为空
- job 监听器支持自定义扩展,通过 jobService.getScheduler().getListenerManager() 获取监听管理器
- 优化切换系统菜单小于1个的时候不展示,所有人都可以切换系统。
- 初始化用户密码后或启用用户后清理登录验证失败数据
- 员工附属机构允许相同部门不同岗位
- 日志查询表单异常信息查看界面优化
- 部分工具类健壮代码,减少报错率
# 修正
- 修正代码生成 pg 数据库分区表查询不到问题
- 修正导入用户没有同步保存用户角色权限数据的问题
- 修正 pc 端,定时消息未推送的,缺显示在了未读消息列表里的问题
- 修正 fileupload 新上传的文件,索引号错位,点击下载按钮弹出删除框问题
- 修正 filemanager findList 修改了表前缀的时候,查询语句未加表前缀变量问题
- v4.x 所有版本的 shiro 版本漏洞统一升级及改进,也可通过 RememberMeKeyGen 生成密钥
- 修正 mybatis weight 覆写时,偶尔会出现 ProviderSqlSource to DynamicSqlSource 错误(修复版本:4.1.3+)
- 修正登录页面,浏览器使用自动完成功能时,首次点击会提示账号不能为空问题
- 修正 dataGrid 空数据提醒 emptyDataHint 重复显示的问题
- 修正 select2 搜索框时,点击 2 次重置按钮才能还原问题
- 修正文件管理在多租户的情况,无分类的文件未区分租户问题
- 修正用户管理,先 reset,再赋值,会导致 isReset 的控件被清空问题
- 修正 log.enabled 关闭日志的时候没有关闭登录和退出日志记录的问题
- 修正 linux 下 ueditor 的图片预览列表的地址不对问题
- 修正当启用 CAS 并会话失效后,ajax 调用接口返回 404 的问题
- 修正代码生成模板的树表情况下,非字符串类型的查询条件错误
- 修正有时候删除作业计划后重启又恢复的问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.8-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 模板引擎 Beetl 新增了几个方法,同步更新最新的 beetl-core.properties文件
- 默认关闭了 menu.updateStatusByModuleStatus=false 设置,若使用可手动请开启
- 您在使用 $.ajax 并未指定返回类型的时候,您可能会通过 data = eval("(" + data + ")") 代码进行转换为 json 数据。在本版本升级中,标准化了 json/xml 等数据的 Content-Type 响应头,所以请去掉这个这个手动转换代码
# V4.1.7 2019-10-6
# 新增
- form:fileupload 组件,新增拖拽图片和文件排序功能。
- form:fileupload 组件,增加 maxFileSize 单独设置上传文件的大小
- 新增 file.imageMaxWidth 和 imageMaxHeight 全局设置图片上传参数
- dataGrid 新增 emptyDataHint 参数,表格内没有数据的时候是否提示 “无数据显示”
- dataGrid 新增 editGridAddRowBtnToHeader 属性,可将子表新增行按钮添加到表头上
- dataGrid 新增 editGridAddRowKeys 属性,是否开启回车键盘事件(默认关闭,升级注意)
- dataGrid 新增 multiSort 多列排序演示,指定 firstsortorder 点击标题可设定初次排序方式
- form:select 新增 readonly 方法,为true时,增加隐藏域并disabled选择框
- form:imageclip 新增 ratio 参数,可设置图片裁剪比例
- form:input 增加 dataFormat="MM-dd" 日期格式化
- 新增参数配置 gen.forceLowerCase 表名字段名是否强制小写
- 新增配置 user.loginCodeCorpUnique 登录账号租户内是否唯一
- 增加 PageView 的 @JsonView 过滤器,方便 SimpleView 使用
- SqlMap Where 联合查询,属性名支持指定别名 v4.1.6+
# 优化
- 升级依赖库 beetl 3.0、jackson to 2.10.0.pr1、fastjson 1.2.61、layer 3.1、poi 3.16
- 500 错误页面优化,当返回 json 情况下,支持返回错误信息
- userSelect 和 empUserSelect 查询表单支持 model 绑定
- ApplicationStartedEvent 替换为 SmartLifecycle 可指定执行顺序,必要时可销毁对象提高健壮性
- 消息推送,消除歧义,延迟推送改为合并推送,合并推送也是延迟推送的一种,合并推送表示:不重要的通知进行汇总,30分钟或更长执行一次,将多条消息合并为一条消息延迟推送给用户,而定时消息是设定发送时间,到达时间时推送,两者不是一回事
- 消息推送模块默认关闭,可手动 msg.enabled=true 开启
- 优化字符串替换方法 replaceAll 替换为 StringUtils.replace
- job 增加提示,字符串包含逗号的时候使用 , 字符转码
- 替换 bind(this) 语法,消除 ES5 浏览器兼容问题
- js.confirm 的 ajax 替换为 ajaxSubmit
- CacheUtils 当 key 为空的时候,忽略操作
- 健壮代码,user.roleList 永远不为空
- 角色业务范围 bizScope 去掉必填,改为非必填
- WebLogic 12c 的兼容优化,validator 低版本兼容优化
- jqgrid updateListFieldName 逗号前后允许有空格
- validation 后台验证消息国际化优化支持
- 在线用户列表 host 展示优化
- 其它很多细节的优化
# 修正
- 修正组织机构 listData 权限字符串的错误
- 修正 yml 加密 value 的时候,value 值无限延长的问题
- 修正当 fileupload 组件在 layer 里的时候(非iframe)按钮点不到的问题
- 修正上传文件提示类型错误时,但是占了一个上传位置 #I10ONG v4.1.6+
- 修正 分页情况下 mybatis foreach 参数丢失问题 v4.1.5+
- 修正可编辑的表格显示复选框的时候,点击复选框不灵活问题
- 修正消息推送,当会话失效的时候,拉取PC消息忽略处理
- IdGen.nextCode 优化,修正某些情况下的问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.7-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 本次升级了 beetl3.0 可能会有一些不兼容的地方,升级完成后测试每一个视图是否正确
- 默认关闭了,DataGrid编辑表格回车事件 editGridAddRowKeys=false,若使用请开启
- 默认关闭了,msg.enabled=false 参数,消息推送功能,若使用请开启
# V4.1.6 2019-8-6
# 新增
- 新增一套浅蓝色主题风格,新鲜感十足,仪表盘增加拖拽 box 实例
- 角色管理支持业务范围数据权限控制,比如有的功能可以看本部门数据,有的功能可以看本公司数据
- 角色管理增加 20 个扩展字段,方便用户自定义扩展;除此之外也可编写 Extend 扩展类新增字段
- 用户管理的用户导出微调,增加性别字段导出,主要是:展示Excel列宽设定,字典类型的属性
- 组织机构管理增加左树右表风格维护,支持普通管理员维护组织机构
- 菜单管理,菜单图标支持自定义图片地址设定
- 菜单管理,菜单增加页签标题的设置参数
- 新增根据角色身份切换菜单功能,原来根据子系统切换功能仍然保留
- 当顶部一级菜单没有下级菜单的时候,自动隐藏侧边栏
- 自定义主题支持内页主色调跟随主框架调色一起调整
- 在线预览组件支持 mp3、mp4、webm、ogg、mkv 视频预览(需要浏览器的支持)
- 新增 js.removeParam 移除URL地址里的某个参数的工具
- form:treeselect 新增chkbokType参数,定义复选框级联选择规则,默认:{'Y':'ps','N':'ps'}
- form:treeselect 支持异步加载,详见组件应用实例,区域选择(异步)
- form:select 下拉框 option 支持字典中设置的颜色和样式。
- 大部分 <form:* 标签加了defaultValue 默认值属性设定
- DataGrid 树表支持一级列表分页,详见:行政区划
- DataGrid 新增多列排序演示,设置属性 multiSort: true
- DataGrid 新增支持 column 的 classes 设置 width 列宽
- DataGrid 表单控件的 isReset 类支持重置表单默认值设置 data-default-value
- 单元测试优化,不再必须依赖 j2cache.proerties 属性文件,系统默认会设定一些默认值。
- DaoMapperTest 测试类新增联合查询未设定columns和attrName为this时测试方法
- DaoMapperTest 测试类新增 IN、NOT IN 测试方法
- 新增多数据源并发单元测试 MultiDataSourceTest
- @JoinTable 联合查询属性为this时也可作为查询条件
- AccountController 新增在线文档 Swagger 配置示例
- UserUtils 新增 getMenuTreeByParentCode 方法,获取子节点及所有子节点数据
- EmpUtils 工具增加几个获取员工及部门信息便捷方法
- ReflectUtils 工具 Getter Setter 支持 Map 对象参数
- IdGen 工具新增 randomInt(min, max) 随机生成指定范围的Integer值
- 增加双击 DataGrid 行,弹出详情页的例子,见代码生成实例:单表/主子表
- 新增允许的网站来源地址指定参数 shiro.allowReferers 避免一些跨站点请求伪造CSRF
- 增加子表的另一种实现方式,初始化后子表非编辑状态,需要编辑时再编辑。
- 新增 jump、jump5 元素跳跃动画 css 类
- 新增支持达梦数据库
# 优化
- 用户菜单加载优化,算法优化,缓存优化,减少 SQL 输出,登录性能倍速提升。
- @Table、@Column 注解新增高速缓存,超强优化,性能提升。若您在Debug模式修改了该注解,需要调用下 /sys/cache/clearAll 或者调用 MapperHelper.clearCache() 才可动态生效。
- 多数据源优化,原 RoutingDataSource 不再继承 AbstractRoutingDataSource 类,详见升级方法
- 依赖升级 spring boot 2.0.8、jackson 2.10.0.pr1、fastjson 1.2.58、druid 1.1.18
- 默认允许一些 HTTP Method(OPTIONS,PUT,DELETE),对于一些前端应用数据放行
- 优化初始化方法 @PostConstruct 替换为 ApplicationStartedEvent,对 Spring Cloud 应用更友好
- FileUploadServiceExtend 新增文件上传方法,支持文件不存本地直接获取文件流存储到云端
- EncodeUtils.sqlFilter 增加 case when 关键词过滤,有些安全漏洞监测提示
- 连接池 druid 监控 disabled session stat 不监控 Session,感觉用不太着,根据需要开关
- 连接池 druid 增加 maxPoolPreparedStatementPerConnectionSize 参数,可指定 PSCache 大小
- AreaController.treeData 增加 parentCode 参数,异步加载 tree 时使用
- 新增 treeService.convertTreeList 转换树表方法,性能优化
- 菜单维护列表增加修复数据按钮,但默认它是隐藏的,需要时再显示
- 明确的css设置,如 m0、p0、f14、nobg 等等,增加 !important 重要标识
- 在线用户,选中:查询所有在线、查询游客用户,不过滤重复,方便查询分析用户
- Swagger 自动扫描 Entity 参数时,忽略所有包含 ApiImplicitParams 注解的方法,让文档更清晰
- 优化初始化脚本,truncate table 改为 delete form,有些情况下 truncate 会被锁表
- 平台自动分页代码加强,忽略不是 SELECT 查询语句的操作,提高健壮性
- 忽略 RememberMe 记住我数据解密错误异常信息
- 分页控件的页面分页码只能输入数字限定
- webuploader 支持跨域提交文件
# 修正
- 优化侧边栏菜单最大化最小化时,侧边栏高度不修正问题
- 文件下载文件名、文件在线预览,在 firefox 下的兼容优化 #IZFJX
- 修正文件管理直接进入的默认列表窗口会列出子文件夹内的文件问题
- 当使用 JRebel 插件时,启动项目后自动清理缓存,若不清理启动后,缓存数据可能是错误的
- IdGen.nextCode 纯数值类型时 long 精度优化,否则可能会造成重复
- CookieUtils 支持中文 Cookie 名称,登录名为中文的时候不能记住用户名
- FileUtils.downFile 下载文件优化,支持手机播放视频。感谢Nice味道的建议
- 处理 webuploader 在 tab 下,上传按钮的 x、y 在同一个位置的时候出现重叠问题
- 新上传的文件接着删除,然后再选择多个文件上传,这时有可能会超过最大文件个数限制的问题
- 修正开启多租户情况下,非默认租户时,不允许多地登录参数设定,验证失效问题
- 修正 ie firefox edge 下 DataGrid 冻结列,滚动条下拉到底部时有一点错行问题
- 修正 DataGrid 排序后,锁定列的滚动定位不正确问题
- 修正 DataGrid 编辑表,点击按钮不能即时选择当前行问题
- 修正多个 DataGrid 情况下,偶尔会出现底部统计行有错位问题
- 修正文件上传多选情况下的一些问题优化 #IY1R6
- 修正角色停用后,登录用户仍然有停用的角色权限
- 修正 treeselect id 为数值类型的时候报错问题
- 修正validcode的isLazy=false失效问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.6-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 明确的css设置,如 m0、p0、f14、nobg 等等,增加 !important 重要标识,可能会受影响
- 升级注意 UserUtils.getMenuTree 返回值与老版本不同,如果需要全部数据请使用 getMenuList
- 多数据源优化,原 RoutingDataSource 不再继承 AbstractRoutingDataSource 类,升级方法:
- 如果您 @Autowired 注入了 RoutingDataSource 类直接获取默认数据源,则替换为 DataSource 接口;
- 多数据源类 RoutingDataSource 的方法,原 getTargetDataSource 替换 getDataSource;
- 多数据源类 RoutingDataSource 的方法,原 getTargetDataSources 替换 getDataSourceMap;
- 原 RoutingDataSource.createDataSource 改为非静态方法,所以您需要注入后才能使用。
# V4.1.5 2019-5-20
# 新增
- 新增文件管理功能,支持公共文件柜、部门文件柜、个人文件柜、文件分享、批量删除
- 新增员工用户管理的附属部门功能,一个员工可归属多个部门,并支持多部门数据权限过滤
- 新增日语语言包(感谢“国峰〓宝くじ”的支持),并开源所有国际化语言包,方便用户自定义语言包
- 新增全局默认事务超时时间参数jdbc.transactionTimeout,原jdbc.jta.transactionTimeout参数可删除
- form:fileupload 组件新增 cueWords 提示语属性,默认:或将照片(文件)拖到这里,最多可选 x 张(个)
- form:fileupload 组件新增后台服务地址自定义参数,包括:上传文件、下载文件、查询文件列表的地址指定
- form:listselect 组件新增 callbackFuncName 和 getSelectDataFuncName 自定义函数
- 增加web严格模式 web.strictMode=false(更严格的数据安全验证,如isAll=true这种参数形式将被禁用)
- 新增用户组织管理功能的控制权限设置 user.adminCtrlPermi,1拥有的权限 2管理的权限,无限级授权场景使用
- 关闭页签时回调方法 onTablePageClose(tabId, title) 增加两个参数
- 新增静态资源路径前缀配置 web.staticPrefix,可做 CDN 加速优化
- 编辑表格子表的表头增加新增按钮实例,详见 testDataForm.html
- 新增多数据源接口,方便个性化支持,可动态维护多数据源。
- ReflectUtils.invokeGetter 新增支持静态类及方法调用
- 增加 favicon 网页收藏图标,可自行替换修改
- 新增Docker部署脚本实例
# 优化
- jquery.validate 新增重置验证方法,将valid替换为resetValid用户体验会更好
- FileUploadServiceExtend 支持抛出异常,如:throw ServiceException("文件不符合要求")
- form:select 组件的 itemLabel和itemValue支持多级属性,如:employee.office.officeName
- form:listselect 组件的 itemCode和itemName支持多级属性,如:employee.office.officeName
- js.formatNumber 优化,传递null的时候返回默认值,传递0数值的时候返回0.00
- jqgrid 支持id有特殊字符的情况下的操作,如id中包含
#
号,则被替换 - 多数据源优化,去掉了多种验证方法,则简单直接设置数据源,减少高并发出错率
- @MyBatisDao 如果不设置 dataSourceName,则为 default 默认数据源
- 角色数据权限配置,支持返回数组的情况,在一个用户多个部门的场景下使用
- 支持普通用户新建角色的权限,普通用户只可分配自己拥有的菜单,不可越权
- 优化WebOffice浏览器兼容性,替换ActiveX,采用pdfobject+officeapps方式
- 根据用户查询菜单menuService.findByUserCode默认包含“默认角色”的查询
- 调度表sys_job的status设置为1后,支持启动后自动清理quartz数据
- 优化dataGrid的updateListFieldName接口,可默认不传参
- 优化TabPage页签标题上的省略号,用CSS方式,方便个性化
- 优化前端标签class="addTabPage"增加href属性的支持
- 调整 shiro.allowRequestMethods 拦截器顺序,放到静态文件之上进行验证
- 暂时去掉无用的jquery-migrate-1.4.1.min.js类库引用,如果您需要可以放开注释
- 优化 File.downFile 如果传递 source=preview 则不添加 attachment 内容描述
- 优化对 .json .xml 后缀的URI会话失效后传递支持
- 更新最新版身份证号码验证类 idcard
# 修正
- 修正密码修改策略超过n天后没有强制或提示修改密码问题
- 修正attrName为this的时候,SqlMap自定义条件下,JoinTable的条件也会重复加入的问题
- 当
@Table
如果是 UPDATE 或 DELETE 的语句,无需创建JoinTable的关联表条件 - 当子表grid有验证的时候,删除一行点击提交,再增加一行,点击提交,这时子表索引号错误问题 #ITGI8
- 改进preInsert和preUpdate调用方法,解决preInsert重复调用问题
- 优化init-data脚本,在jdbc.jta.enabled开启情况下支持初始化db
- 降级maven-surefire插件,该Maven插件的新版本可能会出现VM崩溃
- DateUtils getOfDayFirst getOfDayLast 24小时制修正
- 当adminPath修改过后,发送通知的地址不正确问题
- 会话过期后顶部菜单点击后显示json的代码优化
- 修正IE下文件上传问题,多选上传问题
- 修正/upbw/index页面的XSS漏洞
- 文字优化调整,界面错别字修正
- 修复jQuery原型污染漏洞
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.5-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您使用DataSourceHolder.setDataSourceName设置数据源,则需设置 @MyBatisDao(dataSourceName=DataSourceHolder.EMPTY)
# V4.1.4 2019-3-20
# 新增
- 新增内部消息站内信功能
- 社区版用户提升至20人同时在线
- EmpUserService 添加获取用户最基本的信息 API
- DataGrid/jqGrid 新增“没有符合数据”示例,详见 testDataList.html
- fileupload 增加 fileMeta 字段,用来存在文件信息,例如图片可存储宽高,用来做瀑布流式布局
- fileupload 支持分片上传,多线程上传,提高上传效率,yml中可开启(默认关闭)
- fileupload 支持外部调用重置 options 和刷新上传文件列表
- job 添加 instanceName 集群的实例名字段,与yml配置文件一致,在微服务模块中使用非常重要 若您在yml中修改了instanceName名字,您需要更新下sys_job 的 instanceName 字段为您修改的名字
- yml 中新增 JTA 事务超时默认设置 3 分钟示例
- yml 中新增是否允许接收跨域的 Cookie 凭证数据配置参数
- 登录地址支持传递 __url 参数,指定登录后跳转的页面
- 代码生成器新增 BigDecimal 数据类型
- 消息推送工具类支持个性化 MsgPush 对象,批量推送时,支持延迟统一推送消息
- 新增通用 Base64.encode() 和 Base64.decode() 的 js 工具
- 角色管理新增,增加用户类型,是否系统,的默认值
# 优化
- beetl 升级到 v2.9.8
- 将消息推送实现类移动到core项目下
- 基础组件(输入框、单选按钮、复选框、下拉框)的边框颜色加重一点
- mybatis 返回值为 Map 时,当返回空值字段时,仍然需要返回这个 Key
- 取消 Shiro 内部密码验证,统一使用 validatePassword 密码验证方法,简化密码存储的个性化修改
- BaseEntity 的 preInsert 和 preUpdate 去掉 abstract
- 删掉多余的 idx_sys_msg_inner_r_rc 索引
- treeselect 大数据量下,增加 loading 提示
# 修正
- 岗位管理列表根据sort字段排序修正
- 用户管理点击左侧树节点时 reset 按钮调用不对问题
- 密保修改页面文字修正:保密->密保
- 解决用户为中文的时候,记住用户名乱码问题 #IS654
- 优化 job 目标字符串中包含单引号的时候 XSS 问题 #ISGWC
- 优化 WebUploader 的输入框打开页面的时候会闪一下的问题
- 修正树表没有 status 状态字段的时候报错问题 #ITI2I
- 优化当增加spring-cloud-starter-bus-amqp类库的时候报错 #ISAWA
- 优化 imageclip 头像裁剪选择3M以上的图片的时候回显不正常问题
- 当 fileupload 一次选择多个文件的时候,文件顺序显示可能不正确问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.4-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 如果您重新定义了 jobForm.html 文件,您需要同步下次此文件
# V4.1.3 2019-2-15
# 新增
- 新增参数配置 sys.index.menuStyle=2 的时候,一级菜单显示在主框架顶部
- fileupload 组件新增 extendParams 扩展参数,附加数据,方便后台做出相应处理
- Ueditor 组件新增 StorageManager.uploadFileSuccess 方法,方便写上传文件后回调
- 新增 lang.defaultLocale 和 lang.defaultTimeZone 指定默认语言和默认时区参数,如果您使用的是v4.1.3之前版本,可在启动参数里增加 -Duser.language=zh 参数设置默认语言
- mybatis mapper xml 的 select/update/delete 新增 weight 权重属性,用于存在相同的 mapper id 时,指定优先加载顺序,权重越大优先级越大。
- 新增 jquery 快速获取 iframe 的 window 对象插件,如:layero.iframeWindow()
- 新增ImageUtils工具类快速方便生成缩略图
- 新增可编辑的Grid列表选择组件应用示例
- 主框架页PC消息提醒增加提示音
# 优化
- 支持用户自定义数据源实现,将 DataSource 注册 Bean 即可
- 支持用户点击侧边栏头像隐藏 header 部分,扩大操作区域,优化体验
- 会话ID顺序调整:优先获取 __sid 请求参数,再获取请求 header,再获取 cookie 的中的会话ID
- 前端 js.text(code, params) 方法的语言配置文件移动到 core 项目下,方便用户自定义
- 表 sys_config 的 config_key 字段设置为唯一约束属性
- 将 sysDesktop 中的 echarts 替换为本地资源文件
- 默认关闭 lang 和 job 较少运维(4.1.3+)
- 开源 SSO 简易单点登录的代码
- 支持 Docker Swarm 集群自由伸缩
- 优化代码生成模板和默认设置等细节
- 手机号验证增加 16 号码段
- 支持 PostgreSQL 11
- 日志输出格式优化
# 修正
- 修正访问登录页时未生成会话验证码初次验证失效
- 修正浏览器缩放情况下jqgrid有一像素的错位问题(兼容DPI高分屏)
- 修正账号登录安全选项锁定账号失效的问题(失效后用户名DES未解密导致)
- 修正非string符合主键的时候导致getId()返回null的问题
- 修正页签出现滚动条后,快速关闭右侧导致左侧的菜单未显示
- 修正某些linux下获取不到默认时区和默认语言环境而导致国际化切换失效。
- 修正主子表情况下,子表点击删除按钮,但不点击确认删除,保存之后仍会删除问题 #IRDVT
- 移除极少使用的metadata-extractor图片Meta获取类库,若有需要可自行添加该类库
- 修正代码生成模板,当没有status字段时误导入了DataEntity的问题
- 修正fileupload组件returnPath下的回显及下载地址不正确问题
- 修正新增子级公司的时候选择的包含机构数据无法保存问题
- 修正如果修改了登录名后,原登录名缓存未清理问题
- 修正js.cookie存储获取path问题
# Cloud版
- 支持重写 FeignRequestInterceptor 拦截器
- 添加 bootstrap.yml 属性文件加载,方便统一配置中心调用.
- 默认放开内部系统访问过滤器的局域网IP访问权限(方便调试)
- 优化数据源,微服务可以不设置默认数据源
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 默认关闭了 lang 和 job 功能,为较少运维(4.1.3+)若使用请开启
# V4.1.2 2018-12-22
# 新增
- 代码生成基础路径新增最近路径快速选择,方便用户快速选择最近设置过的路径
- 新增file.isFileStreamDown开关,是否使用文件流方式下载,不拦截userfiles的地址
- 新增JeeSite Spring Cloud的基础内置功能的Rest查询服务和FeignClient
- 新增连接池最大空闲的时间参数,默认30分钟
- 新增session.sessionIdCookiePath参数
- 新增TreeQueryService树结构查询基类
- 主题切换中新增“表单弹窗模式”、“取消页签模式”选项开关
- 新增仅查询功能(不含增删改)的代码生成模板 #IOZ3S
- 新增WebOffice在线文件预览的支持
- 新增shiro.isAllowMultiDeviceLogin参数,是否允许多账号多设备登录,如果设置为false, 其它地点登录的相同账号全部登录设备将被踢下线
- 租户管理员支持绑定角色,让不同的租户可拥有不同的菜单
# 优化
- 优化select的items为空的时候忽略错误
- 优化js.windowOpen不指定宽高时,自动根据屏幕设置大小
- 优化ScriptRunner,支持字符串中带分号的写法
- 优化xss过滤去除&和#的转换,有时候会产生一点问题
- 支持CMYK色彩格式的JPG图片压缩;优化动画效果;
- FileUtils.getContentType的准确性优化,有时候会对IOS下载视频播放造成影响
- 优化树表代码生成,展开节点清理请求参数数据时排除状态查询条件
- 优化树表管理界面,有查询条件情况下,编辑后支持刷新列表中无父节点数据
- 代码生成模板分离出dataGrid生成代码;日期控件选填显示清空按钮;仅查询生成模板优化
- 代码优化,减少一些js警告的提示。建议设置IDE忽略一些无关紧要的警告提示
- 菜单归属系统代码优化及各种细节优化
# 修正
- 修正PC消息池,有时会出现concurrent问题;redis下putPool设置不上问题
- 修正MsgPushTask查询条件不正确,导致PC消息多次推送导致失败问题
- 修复苹果手机IOS下不能左右滚动问题,另外需按如下步骤操作手机:设置 -> Safari浏览器 -> 高级 -> Experimental Features -> 关闭 Async Frame Scrolling 选项。
- 修正 /js/a/authInfo 取不到值问题;优化用户会话缓存处理;
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.2-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步
# V4.1.1 2018-11-17
# 新增
- 新增 Spring Cloud Finchley (opens new window) 的支持
- 新增代码生成 gen.enabled=true 开关
- 新增系统监控 state.enabled=true 开关
- 新增支持 iframe 内页使用 hash,addTabPage 的父级标签加 treeview 类即可
- 新增支持 sqlMap.getOrder().setOrderBy("a.update_date desc") 设置排序
- 新增参数配置、字典、数据权限、国际化、消息推送、文件服务层的重写扩展支持
- 新增 MsgPushUtils 的一个方法,填写定时发送消息时不需要填写是否合并消息参数了
- 新增 beetl xss 格式化类型,举例:${parameter.testParam,xss}
- 新增 StringUtils.trim2 方法,去除左右空格,支持清理中文空格
- 新增内部系统访问过滤器,可设置多个允许的内部系统IP地址串
# 优化
- 升级 spring boot 2.0.5 to 2.0.6
- 优化 UI 色调、微调、美化,表单控件小圆角增强平滑感
- 优化 PropertiesUtils 代码方便分布式配置中心获取数据
- 优化 webuploader.mobile.js 文件上传的精简版,仅h5用
- 优化菜单多的情况下关闭页签侧边栏会重置问题
- 区域表单响应式布局优化,缩放窗口时体验效果
- TimeUtils.formatDateAgo 代码精简优化
- 手机号验证增加199号码段
# 修正
- 修正分页title工具提示undefined的问题
- 修正tomcat容器shutdown后job未shutdown问题
- 修正记住我情况下解决偶尔出现不显示登录页面的问题
- 修正RoleDao.findListByUserCode多租户下查询不到系统角色问题
- 修正树菜单保存排序时子节点的所有排序号字段未更新问题(4.0.5以上版本)
- 修正UserUtils.putCache方法未登录系统的情况不存储问题
- 修正整合OSS对象存储生成的URL,前端显示会自带项目前缀问题 #INXBI
- 修正js.quickSelectDate报date.format未定义问题
- 修正通过logincode获取用户的缓存无法清理问题
- 修正有些功能存在xss漏洞的问题 #14
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.1.1-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步 - 由于4.1.1开始全面支持微服务,有些核心包里的功能可能根据需要发布为服务, 故将所有Service层的类分离出接口,默认接口实现类的命名约定在Service后加Support为后缀, 默认情况下此类将在autoconfigure中注册,若您想根据需要重写该类,您可继承Support的类约定用Impl为后缀, 并通过@Service注解注册该类即可,这样将会排除默认的Service加载(实例文件见:UserServiceImpl.java)。 此分离出接口操作不会影响业务代码的调用。
# V4.1.0 2018-10-14 (Beta)
# 升级内容
- 升级到 Spring Boot 2.0.5、Spring 5.0.9 以及相关依赖库全面升级
- 缓存框架将 Ehcache 2 更换为 红薯/J2Cache(Caffeine、Redis) 框架
- 轻量级 Session 对象,将用户缓存独立为缓存对象,提升会话序列化性能
- 缓存接口增强几个方法及优化,反射工具优化,支持泛型,省去强制转换代码
- 规范配置,删除 jeesite.yml 将文件内容迁移到 application.yml 文件
- 代码生成器模板移动到 jeesite-module-core 项目下,方便用户自定义
- 新增 jeesite-module-swagger 模块,文档地址:/swagger-ui.html
- 配置文件增加 msg.enabled=false 开关,可关闭消息推送功能
- 支持开发者自定义控制用户密码的加密和验证策略
- 代码生成器支持多数据源表生成;代码生成器支持栅格自定义
- form:treeselect增加callbackFuncName属性,可自定义回调方法的函数名
- sso接口优化,当用户名与当前用户不一致的情况下自动重新登录。
- 去掉 ExceptionHandler Throwable.class 异常拦截,防止扩展时不生效
- 优化用户菜单缓存,提示主页面加载速度
- 新增超级管理员可以进行租户切换功能
- 修正岗位名称唯一验证不应该是LIKE
- 修正树表名称有正则表达式特殊字符的时候更新报错 #IN6V8
- 角色数据权限范围,支持扩展自定义的数据权限,并相关权限功能优化改进
- 新增本部门数据、本公司数据、本部门和本公司数据的权限范围
- 支持菜单、用户、角色 Service 层自定义,详见 sys.service.impl 包
- 其它各种优化,性能优化,简化 Application.java
# 升级方法
建议您升级,因为升级成本不大,最低环境配置:jdk1.8、servlet3.1
查找所有 pom.xml 文件里的 4.0.[当前版本]-SNAPSHOT 替换为 4.1.0-SNAPSHOT
如果您导入 jeesite-common 和 jeesite-module-core 项目,则请与码云 4.1.0 源代码同步
查找 import org.hibernate.validator.constraints.NotBlank;
替换为 import javax.validation.constraints.NotBlank;
查找 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
替换为 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
查找 extends WebMvcConfigurerAdapte
替换为 implements WebMvcConfigurer
查找 import org.springframework.boot.web.support.SpringBootServletInitializer;
替换为 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
查找 FileUploadServiceExtendImpl 替换为 FileUploadServiceExtendSupport
查找 UserService.encryptPassword 替换为 PwdUtils.encryptPassword
查找 UserService.validatePassword 替换为 PwdUtils.validatePassword
查找 UserService.passwordModifyValid 替换为 PwdUtils.passwordModifyValid
查找 CacheUtils.removeAll() 替换为 CacheUtils.clear();
如果项目还有错误,可自行修复,通过搜索引擎查找升级SpringBoot2的相关问题
删除资源目录下的 cache/ehcache-local.xml 和 ehcache-rmi.xml 文件,使用 j2cache.properties
启动类更新 com.jeesite.modules.config.Application 移动到 com.jeesite.modules.Application 下
将 jeesite.yml 的内容与 application.yml 合并,并删除 jeesite.yml 文件
yml配置文件 ehcache.* 前缀的替换为 spring.cache.*
yml配置文件 redis.cacheAndSession 替换为 spring.cache.isClusterMode
yml配置文件新增参数 logging.config=classpath:config/logback-spring.xml
日志配置优化,重命名并移动到 src/main/resources/config/logback-spring.xml
数据权限关键视图更新:empUser*.html、company*.html、office*.html、role*.html,同步ctrlPermi相关代码
验证所有form:checkbox组件,4.0中不选中时提交null,4.1中不选中时提交空字符串
JedisUtils 不建议使用了,建议依赖注入 Spring RedisTemplate 类操作 Redis
# V4.0.7 2018-9-15
# 新增
- 配置文件增加 lang.enabled=false 开关,可关闭 i18n 多语言功能。
- 配置文件增加 job.enabled=false 开关,可关闭任务调度功能(微服务用)
- 配置文件增加 file.enabled=false 开关,可关闭上传文件功能,精简加载(微服务用)
- 配置文件增加 web.core.enabled=false 开关,可关闭核心模块的Web功能(微服务用)
- 配置文件增加 menu.updateStatusByModuleStatus=false 可关闭根据模块状态去更新相连的菜单状态(微服务用)
- 配置文件增加 mybatis.scanTypeHandlersPackage 参数,TypeHandlers的扫描基础包
- 配置文件增加 shiro.rememberMe.secretKey 参数,记住我cookie密钥自定义设置选项,提高安全性
- 配置文件增加 job.log.* 调度日志开关,可关闭或只保存错误级别的日志,详见:jeesite.yml
- 配置文件增加 job.scheduler.instanceName 参数,指定作业集群实例名。
- 增加微服务优化选项,上文中标注为“微服务用”的,可关闭一些不需要的功能开关,减少加载启动时间,控制在10秒内
- 新增@JsonView注解支持,自定义过滤Json视图输出字段。这在移动端API节省流量,隐私信息,或特殊场景下非常有用
- 工具类 NumberUtils 新增formatNumber方法,格式化数据类型格式
- 工具类 Md5Utils 增加获取文件的MD5值,并支持获取文件指定前部分的MD5
- 增加文件上传扩展服务类 FileUploadServiceExtend接口,支持将文件保存到第三方文件服务器(如飞牛、OSS等)
- 将ueditor后台上传源码开源,移到jeesite-common项目,方便扩展第三方文件存储服务器(如飞牛、OSS等)
- 菜单新增扩展字段的编辑界面
- 支持DB2数据库
# 优化
- 分页器优化,Service基类新增重载findPage(T entity),可进行entity.setPage()进行设置分页。
- application.yml增加Spring环境切换提示,不可设置为 test 它是单元测试用的环境名称
- 优化MsgPushUtils.push调用后返回MsgPush对象,方便后续处理该消息。
- 访问日志去掉日期范围查询条件,初始加载在没有时间条件的情况下查询更快
- 缓存监控的缓存值获取优化,太大的缓存预览截取一部分,防止客户端假死
- 优化ListUtils.listOrderBy支持默认升序排序
- 优化Linux下运行时,减少权限问题的产生
- 优化监控百分比参数,去除小数点
- job数据源优化,druid升级到1.1.10版本
# 修正
- 修正树表编辑后,如果当前节点下已加载了子节点,则展示错乱问题。
- 修正sqlWhere多个endBracket的情况下不输出问题,#IMJU8
- 消息推送的PC消息按钮修正;模板消息优化修正;消息推送单元测试完善
- 修正记住我的账号时,从在线列表踢出用户无效问题
- 修正@Column(typeHandler)不能设置泛型类型的问题
- 修正 js.addTabPage 的 refresh 参数不起作用问题
- 修正一个tomcat下不能部署多个应用解决
- 修正PC消息提醒获取按钮报错问题
- 修正租户缓存无法删除的问题
- 修正初始化脚本空值针错误
- 修正多主键情况下getId()获取不正确问题
- 优化有些缓存在Redis下的未保存的情况修正
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.0.7-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步
# V4.0.6 2018-8-14
# 新增
- 新增:缓存监控功能,查看缓存内存,清理缓存等
- 新增:服务器监控功能,查看CPU,内存,JVM,磁盘信息等
- 新增:通用CrudDao基类新增物理删除方法,满足一些特殊需求
- 新增:@Table支持动态表名,可指定当前实体里的一个属性的Get方法
- 新增:新增支持无页签模式和表单弹窗模式(专业版)。
- 新增:shiro.successUrl登录成功后跳转页面参数,支持ajax登录后跳转,sso下登录跳转
- 新增:@Table.@Column 的几个属性 javaType、jdbcType、typeHandler 的支持。
- 新增:一些连接池常用参数,详见 jeesite-core.yml
- 新增:是否在登录后生成新的Session(默认false)参数,详见 jeesite.yml
- 新增:MyBatis使用Map参数传递和返回实例代码,支持分页。
# 优化
- 优化:form组件path属性支持html编码属性encodeHtml默认false
- 优化:Excel导入导出的缓存清理优化,增加close方法,杜绝可能会造成内存泄露的问题
- 优化:在不开启i18n的情况下不受浏览器的语言设置影响
- 优化:模块管理增加当前版本编辑字段。
- 优化:表格分页控制部分,分离出一个pageHtmlControl方法,方便重写
- 优化:js.closeCurrentTabPage优化,支持有tabpage情况下弹窗关闭
- 优化:Global增加几个方法,快速获取属性自动转换为整型或布尔类型
- 优化:参数配置的参数值config_value允许空值
- 优化:XSS过滤方法,解决一些可能会发生的问题。
- 优化:Excel导入导出的缓存清理优化,增加close方法,杜绝可能会造成内存泄露的问题。
- 优化:支持jeesite.yml属性自定义获取客户端IP的Header名称,防止IP伪造。
- 优化:StringUtils.camelCase驼峰命名法转换,不允许第二个字符是大写,避免一些不规范代码
- 优化:降低ReflectUtils的错误级别,如果null不抛错,打印日志警告即可
- 优化:将web项目的config文件分散到jar包里,让web项目更简洁。
# 修正
- 修正:用户列表选择的selectData变量可能造成XSS漏洞
- 修正:优化form:select为multiple="true"时,如果itemValue不是字符串类型,会报错问题
- 修正:当修改表名js_前缀时,job表前缀与系统前缀没有统一的问题
- 修正:登录密码错误的时候,偶尔显示未知错误的问题
- 修正:登录页记住账号在DES加密的情况下,会有XSS漏洞
- 修正:属性配置文件${xxx}表达式为空时可能报错问题。
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.0.6-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步
# V4.0.5 2018-7-16
# 新增
- 新增:找回密码功能,支持通过手机号、邮箱、保密问题重置密码
- 新增:@Table@Column支持isUpdateForce=true强制更新,不再判断值非空情况下才加入更新(常用于Date类型)
- 新增:支持war包不解压的情况下运行(SpringBootVFS),支持引入外部yml配置文件
- 新增:数据范围过滤条件方法,实现如果之前sqlMapKey已经存在,则使用OR增加到该条件,主要用来扩展自定义的权限过滤条件(如:本部门、本公司等等): sqlMap.getDataScope().addFilter(String sqlMapKey, String sqlWhere)
- 新增:清理数据过滤条件方法:sqlMap.getDataScope().clearFilter(String sqlMapKey)
- 新增:拆离出CAS权限授权的Realm,支持开发者自定义Realm(个人版)
- 新增:form:validcode标签增加isShowLabel属性,是否显示“验证码”标签
- 新增:支持spring.profiles.active=dev的jvm参数和yml配置,指定活动环境名称参数,如:application-dev.yml
- 新增:员工用户列表选择示例代码,详见帮助文档form:listselect
# 优化
- 优化:为了防止InitData/InitCoreData单元测试误运行,增加 -Djeesite.initdata=true 参数作为校验
- 优化:当checkbox标签指定label的时候,原来未选中时是提交null,现在未选中的时候提交0选中提交1
- 优化:postgresql下,schema可以不和用户名一致的情况
- 优化:当代码生成子表,选择父表不对的情况下,可能会出现空值针
- 优化:自动更新数据库程序,各个模块的初始版本号读取用户自定义的
- 优化:Job支持指定数据源名称,数据源监控显示数据源名称,可减轻主数据源压力
- 优化:extWhereKeys 设置多个键值时,逗号后包含空格时获取不到设置的数据问题。#IL9Q3
- 优化:select下拉框,选项个数小于10个的时候不显示搜索框
- 优化:bin脚本,增加一些脚本修改的提示帮助
- 优化:PinyinUtils工具类,新增id规则过滤
# 修正
- 修正:500页面,没有ex.cause的情况报空值针问题
- 修正:用户身份为二级管理员的时候数据权限设置不正确问题
- 修正:解决Job在XA/JTA数据源下,隔一段时间报获取连接错误问题
- 修正:fileupload标签的uploadType="all"的时候allowSuffixes设置为一个后缀的时候失效问题
- 修正:listselect在jqgrid编辑行中,因注释问题引起的语法错误
- 修正:Session失效后,右上角消息数显示NaN问题
- 修正:postgresql数据库删除字段后,代码生成器查询列仍然能查询出来的问题
- 修正:yml密码加密时未找到Key的情况下,会被误认为了其它key下相同的键值名问题
- 修正:sys.login.multiAddrMessage的i18n键名调用错误
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.0.5-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步
# V4.0.4 2018-6-20
# 新增
- 新增:用户数据导入和导出功能,支持导入数据更新
- 新增:Excel导入工具想新增@ExcelField(attrName="")属性的支持
- 新增:js.ajaxSubmitForm 新增 ajax 文件下载功能,参考 empUserList.html
- 新增:MsgPushUtils.push(type...)的receiveUserCodes参数新增多个接受者支持
- 新增:receiveUserCodes用[CODE]前缀,支持直接指定手机号码或邮箱地址等等
- 新增:双击树表前的图标可刷新子节点数据,停用启用的时候非常有用;
# 优化
- 优化:shiro缓存优化
- 优化:租户功能优化
- 优化:员工编号与登录名前端验证一致
- 优化:规范用户头像base64参数名修改为 avatarBase64
- 优化:代码生成,子表选择子表,限制只选择已有生成配置的表
- 优化:停用启用树节点时,不同步更新子节点数据,更新本级的tree_leaf字段;
- 优化:增加 jdbc.jta.enabled 分布式事务开关(默认false)
- 优化:支持 -Dspring.config.location=x:/app.yml
- 优化:错误页面优化,ajax情况下返回json数据。
# 修正
- 修正:直接在WHERE后添加扩展Where语句时,移除开头AND标识符
- 修正:解决长时间不访问的时候出现connection holder is null的问题
- 修正:mapper.refresh属性参数不对,导致开发模式下mapper xml不自动刷新的问题
- 修正:生成代码绑定数据字典值不对的问题,应该返回type而不是id #IKA0C
- 修正:sqlserver数据库初始化脚本报null的问题
- 修正:#IKILZ 待审核账号登录提示i18n问题
- 修正:DictUtils.getDictLabels取不到标签问题
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.0.4-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步
# V4.0.3 2018-5-27
# 新增
- 新增:core项目增加单元测试支持类 ApplicationTest.java
- 新增:代码生成config.xml支持自定义,放同目录下config-custom.xml文件即可覆盖
- 新增:shiro.allowRequestMethods 参数,可指定允许的请求方法,默认GET,POST
- 新增:TabPanel 增加 onTablePageClose 事件
- 新增:@PatternValue验证注解,支持从属性文件中读取正则表达式
- 新增:可修改主键和loginCode的验证正则表达式
- 新增:优化userService.save方法,可支持直接保存password
- 新增:js.addTabPage增加返回值,可返回当前tab的id,方便后续事件绑定
- 新增:form:select 增加 blankOptionLabel="全部" 选项
- 新增:form:input 支持 dataFormat="datetime2",年月日时分秒
- 新增:form:fileupload 支持 returnPath=true 和 bizType 共存,bizType优先
- 新增:统一的消息提醒处理,消息推送功能,包括:PC消息、APP消息、短信、邮件、微信等等。
# 优化
- 优化:采用Mybatis-PageHelper的CountPage方法,优化count性能,感谢abel533
- 优化:弹出优化,支持 js.layer.config({shadeClose: false}) 设置
- 优化:集团模式修改为通俗名称:多租户、租户代码、租户名称。
- 优化:/a/menuTree 优化,支持 parentCode 参数
- 优化:用户管理下的授权角色、授权数据、重置密码权限不严谨问题。
- 优化:SpringMVC 优化 MaxFileSize 参数,同MaxRequestSize
- 优化:Thumbnails 自动压缩优化,支持 png,jpg,jpeg,bmp,ico 类型
- 优化:treeselect组件,当所有跟节点没有子节点的时候,不显示“展开和折叠”按钮
- 优化:Beetl 视图 include 支持相对路径,sysLogin、sysIndex 移到 themes 目录下
- 优化:代码生成模板,当存在 corp_code 字段时,BaseEntity 未 import 修正
- 优化:代码生成,当添加已经存在的表时,提示并直接进入,优化体验
- 优化:代码生成模块代码合并到框架包
- 优化:角色查询SaaS下允许共享系统角色
- 优化:js.formatMoney支持小数位数为0
- 优化:XSS非法字符过滤优化
- 优化:IE下ajax缓存优化
# 修正
- 修正:字典数据管理,上级字典切换无效问题修正。#IJO4W
- 修正:在磁盘根目录下BeetlUtil.getWebRoot()报错修正
- 修正:Excel导入时如果遇到空行可能会出现空指针异常
- 修正:Excel导入时对于带有小数部分得数据可能出现精度丢失得情况
- 修正:上传文件超过最大文件个数限制时,未知情况下仍可上传问题
- 修正:fileupload文件列表readonly=true是删除按钮还存在问题
- 修正:#IJSM4 新增公司后,用户数据权限自动添加的BUG
- 修正:代码生成器子表生成界面跳转到主表的链接不正确问题
- 修正: js.formatDate(new Date()) to "2018-05-dd HH:mm:ss" 问题
- 修正:国际化js.text()带参数的code,修正默认情况下没有加入参数值问题
- 修正:字典数据管理,上级字典切换无效问题修正。#IJO4W
- 修正:MySql下字典类型停用启用Connection is read-only修正
- 修正:添加一级的部门或公司的时候会自动给所有用户数据权限问题
- 修正:UserUtils.getUser().getRoleList()数据不对问题。
# 升级方法
- 修改所有
pom.xml
文件中的jeesite-parent
版本号为4.0.3-SNAPSHOT
- 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步
# V4.0.2 2018-4-22
# 新增
- 新增:支持分布式事务,多数据源下事务支持
- 新增:支持MyBatisDao注解指定数据源名称,Dao层动态切换数据源
- 新增:国际化底层框架、通用组件、机构管理功能和代码生成模板
- 新增:Linux下执行的Shell脚本,并优化startup脚本
- 新增:@JoinTable 的 attrName 支持 this 当前类
- 新增:Redis 增加 clientName 设置参数
- 新增:附件列表增加上传人和时间回显
# 优化
- 优化:初始化SQL脚本优化,主要针对mysql脚本;修复创建索引警告
- 优化:将timestamp替换为datetime类型,杜绝MySql下创建时间更新问题,时间不能为空问题
- 优化:设置SpringBoot的上传文件大小限制与file.maxFileSize设置统一
- 优化:ExcelExport工具类接口,更方便的支持多Sheet
- 优化:角色管理增加状态条件,优化查询
# 修正
- 修正:jquery validate remote 中文乱码导致验证失败问题
- 修正:因加载过早EmpUserService类事务失效问题
- 修正:Linux下找不到程序包 java.lang 问题
- 修正:代码生成选择多个验证条件的时候报错
# 升级方法
- 直接运行
mvn clean package -Dmaven.test.skip=true -U
强制更新即可 - 如果您修改了
parent
、common
、modules
等项目源码,请与git
上的代码进行同步
# V4.0.1 2018-3-31 (Beta)
# 新增
- 新增:国际化登录相关和错误页面信息(中文、英文)
- 新增:数据表格实例,多表头、行分组、合计行、小计行、编辑表格,实例
- 新增:表单组件实例,栅格布局(一列、两列、三列、四列),组件应用实例
- 新增:日志查询,表增加执行时间记录字段,分析页面的执行效能
- 新增:CookieUtils.getCookie() 增加 path 参数
- 新增:支持Oracle、SqlServer、PostgreSQL数据库
- 新增:zTree 增加扩展方法 expandNodeByLevel 方便根据层级展开节点
- 新增:接口API,获取用户权限信息:/a/authInfo;获取用户菜单信息:/a/menuTree
# 优化
- 优化:Spring Boot 1.5.9 升级 1.5.10
- 优化:错误页面优化、升级 beetl 2.7.26
- 优化:手机端API接口测试优化,支持验证码登录
- 优化:解压war包后可直接执行startup.bat运行项目
- 优化:一些体验和性能优化
# 修正
- 修正:DataGrid冻结行的时候超连接未绑定btnList事件问题
- 修正:Excel导入导出中的DictUtils反射方法参数顺序不对问题 #IINDU
# 版本号定义原则
JeeSite 没有采用太激进的版本管理,以稳定为主,每次个功能的升级都会考虑历史版本,所以使用 JeeSite 不用担心不能升级的情况。JeeSite 主要采用 3 级版本号管理,微小更新采用 4 级版本号,定义如下:
定义规则:V 大版本号
. 中版本号
. 小版本号
. 微版本号
- 大版本号:也称主版本号,只有特别大的架构变更才会升级,业务代码影响一般较大
- 中版本号:也称次版本号,架构方面小范围重构,第三方依赖版本升级,接口小范围变动,业务影响适中
- 小版本号:第三方依赖小版本号升级,业务基本无影响,一般可平滑升级
- 微版本号:只是一些补丁或一些功能优化,可无缝升级
您可能发现 JeeSite v4.x 在3年为什么都没有进行一次大版本的升级,是不是 JeeSite 没有跟紧时代?恰恰相反,其实我们一直在升级,JeeSite 一般每个月都发布一个版本,每个版本的升级,包括新功能增加和第三方依赖的升级。在版本控制方面,我们秉承向下兼容设计理念做了很多工作。不仅能让您的项目保持架构的最新,还能让您很容易的做到升级。
为什么 Maven 版本号使用 SNAPSHOT 快照版本?是因为快照版本号可更方便的管理和更新依赖,当有微小的变更或修订的时候,只需 Maven Update 就可以完成,无需去 pom.xml 里进行更改版本号,极大减少沟通成本,提高了工作效率。