KOCA升级说明
1. KOCA后端
开发框架(framework)
依赖版本升级说明:
-
druid与druid-spring-boot-starter升级版本至1.2.23
-
dom4j升级版本至
2.1.4
-
spring-kafka升级版本至
2.9.11
-
guava升级版本至32.0.0-android
-
grpc-netty/grpc-protobuf/grpc-stub/grpc-netty-shaded 升级版本至
1.53.0
-
hazelcast升级至
5.3.5
-
derby升级至
10.17.1.0
-
postgresql升级至
42.5.5
-
snakeyaml升级至
1.33
-
logback-core升级至
1.2.13
-
spring-boot-autoconfigure升级至2.5.15
-
spring-boot-starter-web升级至2.5.12
-
spring-security-core
升级至5.8.0
-
spring-web
升级至5.3.36
基础(koca-core):
- PageParam新增orderBy字段,支持接收排序信息
影响范围:无
安全认证(koca-auth):
- 添加webflux支持hazelcast作为session缓存
影响范围: 无
- 添加koca-auth-security-defense模块,作为xss安全防御攻击模块
影响范围: 无
通用工具 (koca-common-tools)
- JsonUtils支持自定义扩展类型支持
- 调整sm2加解密实现,与前端sm2加密对应.
影响范围:之前版本java SM2加解密实现
Bex引擎 (koca-bex):
-
BexConfigurer
新增方法通过bex类型获取bex对象集合 - bex参数解析支持多种类型参数解析,提升参数处理性能, 兼容原JSON类型解析。
- 支持bex请求参数配置source时,从原始请求参数中匹配对应的字段作为实际值,示例:source=“user.name” ;
影响范围:无
分布式锁 (koca-distributed-lock)
- 优化分布式锁jdbc模式下获取锁事务超时处理机制.
- 新增提供基于hazelcast cp subsystem的分别式锁实现
koca-distributed-lock-hazelcast
. - 新增提供基于hazelcast 、zookeeper的主从选举实现
影响范围:koca-distributed-lock-jdbc事务超时场景
异构数据库函数(koca-hdb-function)
- 新增
DB_STR_TO_INTEGER
、DB_STR_TO_NUM
函数 -
DB_DATE_FORMAT
函数支持yyyy-mm-dd
格式化
影响范围:无
koca-mybatis:
- 修复mybatis
LanguageInterceptor
在dao存在多个keyproperties时,只保留了第一个keyProperty的bug. - 分页查询支持order by 排序
影响范围: 此版本因使用koca-core PageParams
新增 orderBy
字段, 需升级koca-core到5.2.0
koca-jdbc:
- 支持使用p6spy时,JdbcHelper分页查询自动识别数据库类型
- JdbcHepler分页查询支持order by 排序
影响范围: 此版本因使用koca-core PageParams
新增 orderBy
字段, 需升级koca-core到5.2.0
koca-boot-autoconfig:
- 修复5.1.0版本bex装配不能加载MybatisServiceExecutorImpl bean的问题。
影响范围: 无
koca-client
- 添加前端认证信息远程调用透传功能
- 添加spring mvc 接口调用兼容
- 添加最小连接策略负载均衡
影响范围:需要RpcInvokeContext实体类更新,需升级koca-rpc-commons到5.2.0
注册中心相关,使用旧版本的koca-cloud-registry-api-discovery相关依赖 需要更新到5.2.0
2 KOCA前端
框架
VUE3新特性:
- 支持自定义路由初始化完成回调方法afterInitRoutes
- multiTabsSetting 添加homeText
配置,支持自定义 tab 栏主页文字
- 添加硬件插件检测功能 【查看详情】
- 消息通知列表内容支持点击跳转
- 添加showReviewRequestMsg
配置,支持复核请求完成后弹出接口返回的 msg
- MIX_SIDEBAR_SUB
模式下,支持父菜单配置菜单路径
- 请求会话过期支持设置是否弹出重新登录确认框,添加自定义开启方法
- 框架添加全局eventBus
- 框架store模块支持设置缓存主键前缀
- 添加iframe外嵌模式
- 请求加密支持动态密钥
- 菜单支持设置为首页
- 框架字典添加是否使用子系统id配置
- 框架添加afterLogin钩子
组件
系统设置
- 节假日管理不可设置当日之前的日期
通用复核
- 我的待办添加批量复核功能
- 复核查询添加查看复核人功能
- 通用复核支持复核子应用页面
通用查询
- 通用查询导出按钮支持添加权限控制
流程管理
- 支持在 config.json 中配置设计器静态资源路径
微前端
- 微前端支持子应用嵌套
- 微前端支持子应用路由无缓存
#### VUE3 Bug修复:
框架
- 修复点击租户子菜单父菜单会默认折叠的问题
- 修复框架自定义routerlayout失败问题
- 修复路由重定向页签名显示错误问题
- 修复菜单没有children字段报错问题
- 修复页签名称无法修改问题
- 修复静态路由meta配置未覆盖菜单路由问题
- 修复路由path解析带参数问题
- 修复会话过期对话框弹出多个的问题
- 框架会话过期弹框过滤退出登录接口
- 修复框架iframe组件高度初始化计算错误问题,修复html类型父菜单点击失效问题,修复路由重定向参数丢失问题
- 修复路由表生成过程中未过滤按钮类型,导致页面刷新路由失败问题
- 修复框架首页路径自定义失效问题,刷新浏览器失效问题
人员管理
- 修复菜单管理页面页签菜单不支持设置按钮权限问题
卡片管理
- 修复卡片重叠问题
- 修复点击设置后卡片列表未勾选以及点击保存按钮无效的问题
- 修复卡片拖拽后位置及宽度未自适应问题
定时任务
- 任务参数新增后,输入框没有清空
通用复核
- 修复复核页面微前端下关闭页签缓存问题
微前端
- 修复微前端页面内路由跳转无法生成页签问题
- 修复子应用权限获取失败问题
- 修复子应用字典数据未过滤问题
- 修复子应用配置覆盖主应用问题
- 修复微前端下对话框无法拖拽到右侧问题
- 修复微前端下退出登录后子应用缓存还存在问题
- 修复微前端下子应用菜单数据获取失败问题
- 修复微前端不显示的页面高度丢失问题
VUE3 优化:
框架
- iframe页面支持传递参数,缓存功能优化,支持路由跳转参数
- 菜单字体颜色使用css变量
- 页签关闭图标支持动画展示
- 混合菜单模式支持选择中样式
- 框架支持自定义接口请求环境版本
- 框架添加自定义获取更新日期配置
- 图片资源大小优化
- 框架添加是否在首页时清空选中菜单配置
- sm4解密返回格式化
流程管理
- 前端不限制 URL 表单的 url 长度
- 表单管理页面添加分页
- 整体管理页面的视觉优化
- 表单设计器支持更多的控件
- 新增流程卡片,支持单独在 iframe 中展示流程图,流程详情
微前端
- 微前端执行模式修改,禁用间断执行模式
- 微前端支持子应用更新触发资源刷新提示
- 微前端子系统菜单数据传递完善
UI
VUE3 新特性:
新增 @szkingdom.koca.pro/grid-layout
网格布局组件,【查看详情】
kui-form
- form-item 添加label-tips
属性,支持表单 label 后添加提示
- 新增show-single-line
属性,折叠表单是否只显示一行
- 分组模式下增加title
插槽,支持自定义分组名称
kui-process-designer
- 支持右键菜单
- 新增 defaultEdgeAttrs
defaultNodeAttrs
属性
- 支持 node:click
事件
MessageBox
- 支持在指定区域内弹出
kui-drawer
- 新增 partial
属性,支持在内容区域展开
kui-export
- 导出组件添加新风格
kui-table-page
- tablePage组件添加齿轮按钮功能
kui-page
- page组件添加搜索条件设置和列设置功能
kui-tree
- 树组件支持大数据
kui-select
- 下拉选择组件支持显示optionTip
kui-table
- 表格组件支持列拖
#### VUE3 Bug修复:
kui-input
- 修复配置 maxlength, showWordLimit 属性时,type=textarea
时,maxlength 不显示
kui-select
- 修复多选数量很多时,多选框高度变化
- 修复大数据下拉框配置的 labelKey 为数组时,下拉框选项多渲染一个 label 的问题
- 修复下拉选择组件反选功能失效问题
- 修复下拉选择组件微前端下lodashDebounce获取参数失效问题
kui-process-designer
- 修复设置 readOnly 时节点还可以被选中问题
kui-form
- 修复 label 为空时,labelWidth 不生效
- 修复预览模式,selectlabelKey
为数组展示不正常
- 修复表单组件用户自定义col-row无法设置表单项宽度问题
kui-number-format
- 修复显示输入多个 0 开头的情况
- 修复光标在文本中间位置输入时,光标自动跳到最后
- 修复外部更改绑定值后,输入相同的数值,没有重新赋值
kui-date
- 修复 type 为 datetimerange
时,选完日期后面板就关闭,时间还未选择的情况
kui-table
- 修复大数据表格的 columns 动态变化时报错
- 修复表格组件字典翻译失败问题
- 复设置表格size属性导致按钮size被覆盖问题
- 修复无限滚动指令功能失效导致表格无限滚动功能失效问题
kui-tree
- 修复树组件节点宽度问题导致文字提示功能失效
kui-drawer-page
- 修复drawer-page组件数据污染导致接口调用错误问题
kui-table-page
- 修复表格导出组件数据没有动态获取问题
kui-image
- 修复新版本vue(3.4.15)下组件报错问题
kui-export
- 导出组件支持识别动态列
#### VUE3 优化:
- 组件库多余 hooks 清理
kui-table-select
- 修改 kui-table-select 组件的align
属性的默认值为center
kui-layout
- 拖拽视觉优化
kui-dialog
- 设置 partial 属性为 true
后,开启 teleport
- 组件部分样式字体大小支持配置
- 对话框组件表头图片替换成webp格式
kui-message
- 组件部分样式字体大小支持配置
kui-tree
- 组件部分样式字体大小支持配置
kui-table
- 大数据表格的 column.type
支持 action
,作用与 column.type
设置 button
相同
- 自定义渲染的单元格默认关闭 showOverflowTooltip
kui-time
- 绑定值支持数值类型
kui-radio
- 调整 radio-button
为 small
时的样式
kui-table
- 修改单元格内边距后,单元格判断 tooltip 是否显示的计算问题
- 单元格内容是空格时,也显示 emptyCellText
kui-dropdown
- 支持字符串图标
kui-form-page
- 设置显示展开收起按钮时,还是要根据 hideNum
属性进行判断
kui-tag
- 优化 click
事件,修饰类型的图标不再需要单独再绑定 iconClick
kui-cascader
- 支持内容显示不全时,显示 tooltip
kui-autocomplete
- 支持内容显示不全时,显示 tooltip
kui-select
- 远程搜索时,第一次 focus
调用 remoteMethod
- 下拉选择组件支持xss
kui-input-number
- controls
设置为 right
时,样式优化
kui-input
- 调整 prefixIcon
和 suffixIcon
为空字符串时的样式
3.组件
3.1 技术组件
3.1.1 基础组件
主键生成器-数据库序列生成(koca-admin-id-generator-seq)
- 修复instanceBuffer对象可能为null的问题;补充debug日志信息打印
- 新增序列生成支持按步长生成,如设置autoIncrement=2, 序列按1、3、5生成
- 新增支持按传参业务日期生成序列;
- 新增支持按传参子序列生成序列,各子序列使用相同的父序列配置规则,但生成内容各自独立。
影响范围:无;只有使用koca-admin-id-generator-seq 中 Sequence 接口才支持按传参业务日期和传参子序列生成序列的能力
流程管理(koca-admin-workflow)
- 组件整体分包分层,与fowable解耦,底层流程引擎支持camunda。
- 流程设计页面重构,优化流程设计的操作方式
- 新增流程卡片,优化流程详情的打开速度
- 表单设计页面重构,优化绑定表单项数据项操作,新增子表,弹出框表等控件
- 整体管理页面的视觉优化
具体详情见 组件文档-流程管理 模块文档
影响范围:无。
3.1.2 资管场景
缓存(koca-assets-cache)
- 性能优化 & 内存占用优化
- 修复crc计算的数据顺序不同导致值不相等的问题
- 修复按条件删除数据时,非map类型的数据可能出现的类型转换异常报错
- 修复put(K, V)插入BeanMap类型的数据时,可能出现方法未实现的异常问题
- 新增查询版本链信息的监控接口
- 将CacheKeyUtils的一些方法标记为@Deprecated;将KaceCaffeineCache、KaceOhcCache、KaceRedisCache标记为@Deprecated
影响范围:无;
通用查询(koca-assets-common-query):
- 请求体增加extParam参数,并添加QueryParamAdaptor接口,用于给业务自定义封装bex请求参数
影响范围: 无
- 通用查询增加事件,增加按照字段排序功能
影响范围: 无
通用导出(koca-assets-common-export-poi):
- 总数问题修改提交,增加开关,适应不需要累加的情况
影响范围: 无
- 通用导出增加wps表格格式.et导出
影响范围: 无
- 导出bug修复,解决空文件死限循环问题
影响范围: 无
通用复核(koca-assets-confirmV2)
-
新增支持controller类型接口进行复核,操作方式和bex接口类似
-
旧值查询额外增加主键配置(data_id_exp)和额外参数(api_param)配置获取旧值查询,多个主键使用,拼接;支持多层数据配置,用.拼接,如:head.type,旧值查询额外参数配置为JSON格式
-
复核设置新增额外拦截参数(old_value_params_ext),配置需要检查的参数字段名,存在多层时用.拼接,如:operType,head.type;同时功能接口配置使用_拼接检查的参数值,如:P000001_0_1
-
复核设置新增审核url,默认使用复核配置表里面的page_url,没有配置就选用对应菜单表里面的url
-
配置表新增right_type(A、U、D),等价于bex接口公参里的action
-
配置表新增tenant_id(系统服务名)
-
复核配置的相关操作单独拆分为 koca-assets-common-confirm-setting, 不强依赖于 koca-auth-core ,提供相关接口获取用户信息
-
复核待办、复核查询支持可配置的排序方式
-
增加拦截端复核开关设置
-
服务端远程服务调用支持自定义扩展调用方式
-
判断是否复核的逻辑都放在拦截端,服务端只做复核逻辑处理,不涉及是否复核逻辑判断,调整查询配置的逻辑
-
审批后的回调业务接口支持根据服务名和 userid 参数等生成对应的认证信息
-
回调接口优先获取配置表里面的serviceName,为空则获取tenantId
-
优化异常处理,异常处理抛出对应的服务名和apiId
-
拦截端提取获取公参的接口,认证信息不强依赖于koca-auth-core
-
拦截端调用服务端提取通用的BexClient方式调用,兼容老版本BexClient
-
复核配置表-额外增加主键复核apiId,原来是只根据 menuid 来获取对应的配置信息
-
服务端提取通用的rpcClient调用方式
-
复核流程业务操作关系表新增字段 confirm_api_id、tenant_id 作为主键,避免单独使用重复的menuid关联流程方案
-
旧值查询支持传递 contentPath
影响范围: 5.1.0-5.2.0 此版本改动比较大,除了之前复核已有的功能点,还针对不同系统之间的调用方式和统一认证等扩展额外的处理逻辑打通数据服务。如需使用请按照官网提供的操作文档指引来进行部署操作。需使用koca-client 5.2.0
通用模块(kace-common):
- 将缓存数据拆分为kace-common-meta包
影响范围: 使用kace-common包的服务
- 所有拦截器都增加了开关,可以选择性开启关闭。具体查看官网文档
3.1.3 lcp低码组件
- 移动端页面管理 lcp-runtime-mobile-page
- 新增移动端运行时组件,提供移动端页面、组件设计能力
- 接口设计 lcp-runtime-api-manage
- 支持 koca bex json url导入
- bug修复
- 修复数据源为mysql时,分页查询报错问题
- 修复查询模型分组参数校验问题
- 修复模型方法-默认的queryDetail方法当查询结果为空时会直接报错问题
- 前端设计器
- 新增PC端/移动端页面、组件逻辑设计器功能,支持页面逻辑编排
- 优化设计器使用体验,修复已知bug
2、版本升级方案:
升级前准备:
KOCA 5.2.0交付件
升级操作指引:
- 将依赖koca相关pom依赖版本升级为5.2.0
- 执行KOCA 5.2.0增量脚本
3、其它注意事项:
无