发布日期:2023-10-10

  • 升级提醒

    • 重要提示1:自本版本开始,谷神最低JDK版本要求为JDK17,不再支持JDK8版本。
    • 重要提示2:自本版本开始,谷神最低Oracle数据库版本支持为oracle19。
    • 插件支持变更:
      • 自本版开始,不再默认支持flowable工作流组件,需要使用flowable工作流组件的项目,则采用外置插件模式支持(此处下载)。
      • 自本版开始,不再默认支持cxf(webservice)组件,需要使用cxf的项目,则采用外置插件模式支持(此处下载)。
      • 自版本开始,不再支持谷神页面模式的桌面系统,请升级上来的项目配置元桌面系统。
  • 新增功能

    • 202506160932:
      • 修复日志文件下载权限问题
      • 修复其他已知BUG
    • 202505081657:
      • gUtil增加base64方法: gUtil.base64encode(str) 把字符串编码为base64字符串
      • gUtil增加base64方法: gUtil.base64decode(str) 把字符串解码为base64字符串
      • 部分默认无权限访问地址权限设置为登录权限,如:数据字典下拉,原先默认是无权限即可访问,现改为默认需要登录权限,若程序确实需要用到权限(如:注册页面),则可以增加默认权限规则配置
      • 增加默认权限规则配置:guthon.auth.default-auth,可选值login-auth:登录权限(默认);或no-auth:无权限(老版本默认)
    • 202504110932:
      • word打印支持libreoffice方式,以解决对复杂word文件转换格式错误问题
      • 修复word打印变量为空时报错问题
      • 运维管理中,增加登录设置,可以设置用户密码复杂度、登录页面样式等
    • 202503141509:
      • 修复在线人数算法不准问题
      • 修复查询方案无法加载问题
      • 修复JDBC读取数据时,返回日期类型为 LocalDateTime 类型,导致赋值失败问题
    • 202503041723:
      • 底层包版本升级(3.1.4 -> 3.3.9),详见本文末尾升级说明
    • 202503031511:
      • 在线帮助编辑器增加图片及附件上传功能
      • SQLTools增加新的支持函数SQLTools.isEmpty(field),用于where条件时使用,如:
        select * from table where SQLTools.isEmpty(field),Oracle时输出 field is null 其他数据库输出SQLTools.isNull(field,'') = ''
      • 新增数字转中文大写方法:$vs.format.numberToChinese($num)
      • 增加读取授权文件中额外配置功能,支持对表记录数扫码,若出现违规现象,将会锁闭单据保存功能,配置方式如下:
        {
             _TABLE_CHECK_:{
             BASIC_ORG: { _COUNT_:3, STATUS:"1",ORG_ISLEAF:1 },
             BASIC_DEPT:{ _COUNT_:8, STATUS: [1,2,3] }
         }
        }
        1、BASIC_ORG 等效于select count(1) from BASIC_ORG where STATUS="1" and ORG_ISLEAF = 1;
        2、BASIC_DEPT等效于select count(1) from BASIC_DEPT where STATUS in (1,2,3);
        3、当对应的SQL返回结果超过_COUNT_值时,系统自动锁闭单据保存功能。
    • 202501170803:
      • 查询表格增加汇总合计查询功能,支持用户选择合计列字段进行透视分析。
      • 查询表单查询方案拆分为查询方案查询布局,两种设置可以分开保存默认值,发布系统方案仅可以发布系统布局方案
      • 选单窗口支持查询布局和自定义查询条件设置
      • 主数据过程函数中,增附件下载前回调函数:system.common.callback.attachmentBeforeDownload,在谷神附件下载前触发,用于项目对文件下载权限判断,可以返回下载文件的文件名称
      • 主数据表格布局管理变更:
        • 取消保存当前布局恢复默认布局功能
        • 系统管理员保存当前布局时,会有分享给其他用户选项,分享后,用户会默认多出一个TAB页
        • 当用户所数布局超过1个时,报表界面会显示切换TAB页
    • 202412311120:
      • 增加在线感知功能,用于判断用户是否已经通过关闭浏览器退出系统。
        • 开启条件:操作员在线数授权,授权人数小于50人,且同账户不可多地同时自动开启
        • 开启后,将每2分钟发起一次在线应答,同时用户超时退出功能失效。
        • 通过添加配置:guthon.online-check.enabled = false 来强制关闭本功能
      • 增加谷神对神州通用数据库的支持
      • 表单text字段增加大文本编辑功能
      • 编辑表格字段增加大文本编辑功能
    • 202412091122:
      • 开发环境,表格和表单隐藏增加字段功能改为批量增加。
      • 开发环境,视图管理中,增加查看所有签出记录清空
      • 开发环境,系统脚本中,增加查看所有签出记录清空
      • 富文本编辑器控件增加文件上传功能。
    • 202411291639:
      • SQLTools增加新API:SQLTools.leftLike()SQLTools.rightLike()
      • $vs.util新增API:$vs.util.setToList()
      • $vs.report新增API:$vs.report.exportDataToExcel()
        //
        #set($datas = ....) // 数据列表
        #set($title1 = $vs.util.newMap())
        #set($title1.fieldId = "FIELD_CODE") // 字段
        #set($title1.width = 130) // 字段宽度
        #set($title1.format = "#,##0.00") // 格式
        #set($title1.align = "right") // 对齐,left/right/center
        #set($title1.dataType = "VARCHAR") // 数据类型
        #set($title1.label = "单据号码1") // 显示标题
        #set($title2 = $vs.util.newMap())
        #set($title2.fieldId = "KEY2")
        #set($title2.label = "单据号码2")
        #set($titles = $vs.util.newList($title1,$title2))
        #set($file = $vs.report.exportDataToExcel($datas,$titles))
    • 202411201211:
      • 邮件增加个性化定制发送服务的功能:
        #set($title="恭喜发财")
        #set($mail=$vs.mail.createMailService()) // 创建邮件发送服务
        $mail.setSmtpHost("smtp.163.com")
        $mail.setSmtpUser("user")
        $mail.setSmtpPass("password")
        $mail.setSmtpSenderAddress("user@163.com")
        $mail.setSmtpSenderNickName("谷神低码")
        $mail.setTitle($title) // 邮件主题
        $mail.setContext("<div>asld<font size='20' color='#f40'>kfj</font>lkj</div>") 
        $mail.addReceivor("mail@qq.com") // 接受者
        $mail.send() // $status => 0 - 成功  other 失败
    • 202410181631:
      • 增加附件操作回调事件
        • attachmentBeforePutFile : 本函数将会在谷神附件上传后,正式上传到文件服务前触发,用于项目对文件进行判断和修改
        • attachmentAfterSaveFileInfo : 本函数将会在谷神附件上传到文件服务器,并记录谷神附件信息后调起,用于项目对附件信息进行修改
    • 202410220851:
      • 权限分配时,过滤当前管理员不拥有或者目录下没有菜单的树目录
      • 工作空间(元桌面)改版
        • 由原先的每系统一个元桌面改为下拉元桌面,不再和系统强绑定
        • 元桌面支持权限分配
        • 元桌面支持谷神模块模式
    • 202409271358:
      • 新增API:$vs.report.wordToPdf 将word文档转为pdf
      • 新增API:$vs.report.createPdfTextWaterMark 创建PDF水印
    • 202409260843:
      • 便签支持查询功能:
        • 当用户对报表表格开启便签功能后,会在查询条件上增加一个便签查询条件,用户可以通过此功能查询打标的数据。
    • 202408271031:
      • 分布式事务支持:
        • 谷神分布式事务,采用seata服务,事务模式为XA(不是seata默认的AT模式),XA模式为基于数据库分布提交的模式。
        • 生产开启方式:在打包发布配置选择启用分布式事务选项(注意,所有需要参与分布式计算的微服务都需要开启)
        • 开发开启方式:在资源管理服务中,系统属性设置里,选择启用分布式事务,然后更新配置文件,重启服务即可(注意,请确保您已正确安装seata服务并连接到开发集群的nacos中,否则可能会导致服务启动失败)
        • 强制项目开启:在开发环境,应用管理中,应用属性,参数设置中,新增参数分布式事务,若开发者启用此设置,则为强制项目必须部署seata服务,否则不允许打包;若未开启,则项目部署了seata则启用分布式事务,未部署,则采用本地事务的方式执行代码(如:您设置了过程函数FUN为分布式事务运行,但是当前没有部署seata服务,则系统运行时会以事务内模式运行)。
        • 分布式事务配置入口有两处,分别为服务组件事务配置和过程函数的事务配置(原先为事务内和无事务,现在增加了一个新的分布式事务选项),当开发者选择了分布式事务,则当调起本过程(或组件)时,将开启分布式事务环境。
        • 单据保存和删除方法($vm.save$vm.remove),则在提交按钮属性中,可以选择事务内运行,运行规则如下:
          • $vm.save: 分布式事务在saveData事件前开启;在afterSave事件结束后结束并提交事务。
          • $vm.remove: 分布式事务在deleteData事件前开启;在afterDelete事件结束后结束并提交事务。
        • 关于事务传播原则:
          • 微服务间调用默认支持事务传播
          • 普通线程不支持分布式事务
          • 可等待返回线程支持参数模式设置是否加到分布式事务
        • 相关API:
          • $vs.dbTools.globalTransPause(): 暂停分布式事务
          • $vs.dbTools.globalTransContinue(): 继续分布式事务
          • $vs.thread.runFutureTaskWithGlobalTrans(...): 开启支持分布式事务的可等待结果线程
          • $vs.thread.runServiceCompFutureTask(compId,param,true): 开启支持分布式事务的可等待结果线程
          • $vs.proc.invokeWithGlobalTrans(xxxx): 立即执行过程脚本中的方法(强制使用分布式事务调用)
          • $vs.proc.runServiceComp(xxx) : 强制在分布式事务内执行服务组件
      • UI元组件支持在一个单据(页面)内,重复引用。
    • 202408091725:
      • 地址映射型服务组件支持接口权限校验方式,当三方系统访问映射的地址时,可以通过请求头中的appIdaccessToken来校验接口权限,校验通过后才可以调起服务组件。
      • 用户收藏菜单合并到主菜单中
      • 主菜单增加弹出菜单功能
      • 打包配置增加复制其他配置文件的功能
    • 202407101519:
      • 新增API: $vs.util.getChar($ascll): 通过ascll码获取字符
      • 新增API: $vs.http.getClientIp(): 获取用户浏览器IP地址
      • 新增API:table.scrollRowToVisual(row):滚动表格指定行到可视区
      • 新增API:table.scrollCellToVisual(fieldId): 滚动表格指定列到可视区
      • 系统脚本版本控制功能升级:
        • 增加强制提交功能,强制提交其他开发者签出的代码
        • 增加强制撤销功能,强制撤销其他开发者签出的代码
      • 开发环境视图管理功能升级:
        • 视图管理增加视图分类功能
        • 视图管理中增加签出、提交、修改记录等功能
        • 开发日志增加历史版本,增量发布时,会根据开发者选择的版本发布
        • 代码打包时,只打包已提交的视图,未提交的视图不会导出
    • 202407041204:
      • 修复单点登录模式下,用户登录后无法跳转到第三方系统的问题。
      • 单点登录模式增加两个回调过程函数:
        • system.common.callback.ssoGetUserInfo($sso,$dbUser,$resultUser):将返回给三方系统的用户信息(可修改、添加其内数据,并返给第三方系统)
        • system.common.callback.ssoAfterUserLogin ($sso, $user):三方系统单点登录模式下,用户登录成功后回调,开发者可在此处判断当前登录用户是否具有访问权限。
      • 应用数据权限功能扩展:
        • 过滤条件支持取当前登录用户的表达式,如:{MEMBER_CODE:$vs.user.MEMBER_CODE,DEPT_ISLEAF:1}用以根据当前登录用户来过滤可分配权限的业务单元数据。
        • 增加“仅系统管理员能分配此权限”功能,用以限制普通用户分配此类数据权限(一般用于账套模式的SaaS系统)
        • 增加“权限分配时不清理当前用户未拥有的权限”功能,此功能一般用于账套模式的SaaS系统
      • 地区库更新升级:
        • 地区库世界国家数据补全(遗漏了巴勒斯坦、哈萨克斯坦、法罗群岛、摩纳哥、南苏丹等几国)
        • 更新最新(2023年)国家统计局地区库,取消已合并的区、新增新的地区
        • 增加地区街道数据
      • 地区控件改版:
        • 支持街道选择和保存
        • 支持境内、境外、境内境外选择
        • 支持所有级别(省、市、县、镇)数据同时查询过滤
        • 新增API:form.clearAreaField(fieldId):动态清空地区数据
        • 新增API:form.setAreaSelect(fieldId,dqCode1,dqCode2,dqCode3,dqCode4):动态设置选择的地区
      • 表格增加便签功能:
        • 适用范围:所有表格控件(含:报表表格和编辑表格)
        • 开始方式:表格右上角更多功能下拉菜单里的表格便签设置功能里开启(所有操作员都可以开启自己的便签功能)
        • 便签设置:用户登录系统后,选择页面右上角个人头像,下拉菜单中增加便签管理模块,可以在此维护便签。
        • 操作说明:用户开启表格便签功能后,表格会增加便签列,用户可以在此为表格数据添加自定义标记。
    • 202406131641:
      • 表格增加API:table.addCell(params),动态添加表格列。
        table.addCell({
             headerName: '新字段',
             headerTooltip: '新字段',
             field: 'newFieldId',
             tooltipField: 'newFieldId',
             width: 150,
             sortable: true,                        // 允许排序
             pinned: 'left',                        // 左定格
             suppressMenu: true,                    // 禁止菜单
             suppressFiltersToolPanel: true,        // 禁止过滤
             suppressColumnsToolPanel: true,        // 禁止列编辑
        });
      • 表格增加API:table.updateCell(params),动态修改表格列属性
      • 表格增加API:table.setFieldWidth(field,150),动态设置表格列宽度。
      • 新增解压缩文件API:$vs.file.unzip(zipfile):map<string,Object> 返回目录结构
      • 谷神容器支持信创普元替换Tomcat组件。
      • 系统脚本->用户登录初始化脚本增加新功能,允许开发者设置用户登录成功后跳转地址(详见用户登录初始化脚本编辑窗口编写说明)
    • 202406051206:
      • 编辑表单inputform增加属性禁用设计,用于不显示表单布局设计按钮。
      • 表格增加行展开功能:
        • 开启方式:表格设置->行展开设置->允许行展开
        • 支持范围:所有表格(主表格和编辑表格)
        • 新增表格页面事件:getIsRowMaster(rowData):获取当前行是否存在明细(是否允许展开)
        • 新增表格页面事件:getDetailRowHTML(rowData, params):获取展开明细的html,他有三种返回格式,分别为html字符串、DOM对象或者VUE对象,详见下方的示例代码。
          • HTML字符串返回方式:
            // $vm.pageEvent('on-ok-button-click',1) 方法会触发 窗口 doMethod 事件 
            var html = `
              <span style="padding:10px" onclick="$vm.pageEvent('on-ok-button-click',1)">
                  这里显示文字
              </span>
            `;
            return html;
          • DOM对象返回方式:
            var dom = document.createElement('div');
            dom.innerHTML = "<span style='padding:10px'>这里显示文字</span>";
            $(dom).children('span').click(function(){
             alert('行被点击')
            })
            return dom;
          • VUE对象返回方式(推荐):
            var dom = document.createElement('div');
            var html = `
             <span style="padding:10px" @click="hello"> {{text}} {{load}}</span>
             <div v-if="show" :style="{height: height + 'px'}"></div>
            `;
            dom.innerHTML = html;
            var vue = new Vue({
             el: dom,
             mounted() {
                 var self = this;
                 setTimeout(function(){
                     self.load = 'ok!!';
                     self.show = true;
                 },1000)
             },
             data(){
                 return {
                     text: '这里显示VUE文字',
                     load: ' load... ',
                     height: 200,
                     show: false
                 }
             },
             methods:{
                 hello : function () {
                     alert('helloword')
                 }
             }
            });
            return vue;
    • 202405300903
      • 用户界面UI调整。
      • 增加字段权限功能:
        • 开启方法:所有升级到2.0.0版本的项目都默认开启
        • 系统管理员登录生产环境后,可以开启页面字段权限,目前有四种控件支持开启字段权限控制,开启方式:
          • 查询控件:点击查询按钮右边下拉菜单中的“字段权限设置”菜单项
          • 表单控件:表单右上角设置按钮下拉菜单中的“字段权限设置”菜单项
          • 主表控件:表格右侧更多操作按钮中的“字段权限设置”菜单项
          • 子表控件:开启方式同主表控件
        • 点击字段权限设置菜单,会弹出当前控件的字段列表,点击图标即可将字段设置为字段权限控制字段。(请注意:一旦您开启了此字段的字段权限控制,所有用户(系统管理员除外)将立即无法看到这个字段,需要待用户分配权限后才可以查看到此字段)
        • 字段权限分配:
          • 批量权限分配:系统管理员登录-> 运维管理 -> 批量字段权限
          • 字段权限分配:系统管理员登录-> 运维管理 -> 字段权限分配 (可查看具体用户/角色所拥有的字段权限)
      • 表格增加api table.removeCell(fieldId):删除指定列
      • 下拉组件增加忽略大小写功能(Oracle生效,其他数据库默认支持),过滤下拉数据时,可以忽略用户输入的大小写字母。
      • searchForm保存查询方案功能升级:
        • 查询条件设计功能合并到查询方案中
        • 用户可对查询条件移动顺序、修改标签名称、修改字段宽度
        • 用户可以保存查询方案(含布局)为自己默认方案,用户下次打开此窗口时,会自动加载此方案
        • 系统管理员可以发布方案为本系统默认方案,发布后用户打开窗口会自动加载此方案(注意:用户自定义方案优先级高于系统默认方案)
      • inputForm增加布局调整和保存布局功能:
        • 用户可对表单字段移动顺序、修改标签名称、修改字段宽度
        • 用户可以保存布局方案(含布局)为自己默认方案,用户下次打开此窗口时,会自动加载此方案
        • 系统管理员可以发布方案为本系统默认方案,发布后用户打开窗口会自动加载此方案(注意:用户自定义方案优先级高于系统默认方案)
        • 通过api开发者可以动态添加表单字段
      • inputForm增加API:
        • inputform.setFieldWidth(name,width):设置字段宽度
        • inputform.getFieldWidth(name):获取字段宽度
        • inputform.removeField(name,isForce): 删除字段
        • inputform.isHaveField(name):获取字段是否存在
        • inputform.addFieldAfter(xxx) : 未表单(或查询条件框)增加新的输入字段
        • inputform.addFieldBefore(xxx) : 未表单(或查询条件框)增加新的输入字段
        • inputform.addFieldFirst(xxx): 添加字段到第一位
        • inputform.addFieldLast(xxx): 添加字段到末位
          -opt参数选项:
          {
            type: 'text',            // 字段类型,默认 text, 可选: text,select,date,datetime,radio,checkbox,label,datesearch,numsearch
            width:1 ,                // 字段宽度(格),可选 1 - 9 每格 230px
            labelWidth: null,        // 标签宽度(数字,px)
            maxLength: null,         // 最大文本长度(type = text 有效)
            format: null,            // 显示格式,如: yyyy-MM-dd or #,##0.00
            validator : null,        // 验证,如: dec2;num; (验证规则若需要,自己去查询下)
            placeholder:null,        // 占位符
            readonly : false,        // 是否只读
            hide : false,            // 默认隐藏
            select: {                // 下拉选择配置
                compId: '',                 // 必须,根据不同类型填值 codeType = 1 ? 数据字典编码(如:CD-D996-6B5D-73CC1F61) or 数据字典中文名称(如:用户类型); codeType = 2 ? 下拉组件编码(如:CP-27EA-EB83-965B494E)
                codeType: '1' or '2',         // 必须,类型: 1 - 数据字典 2 - 下拉组件    
                forceSelection: true,        // 是否强制下拉
                params: {},                    // 额外查询条件(codeType=2有效),如: {CODE_TYPE:1} 
                onSelect:function(item){},    // 选择事件     
                codeFieldId: '',            // 可选,反射值字段
                list:[],                    // 静态下拉,如:[{code:'010',name:'xxx'},{code:'011',name:'xxx'}] 
                ownerSystemId,                 // 下拉组件(codeType=2)无效,数据字典可选,若存在跨服务(如:主数据的数据字典,业务系统引用,则必须填值,填的是数据字典所在的系统编码,如:主数据系统编码)
            },
            radio: [            // type = radio 必须
                {name:'',code:''},    
                {name:'',code:''}
            ],        
            checkbox: [            // type = checkbox 必须
                {name:'',code:''},
                {name:'',code:''}
            ],
            search: {                        // 查询条件配置(查询模式下,type=text下有效)
                isLike: true,                // 是否默认查询
                isDisAdvSearch: false,        // 是否禁用高级查询
                isDefaultLike: true            // 默认查询情况下,是否默认模糊
            }
          }
      • $vm.save功能改进升级:
        • 此方法已支持保存非谷神表管理的数据表,如:三方系统建立的表。
        • 增加隐藏扩展属性用于开发者和谷神框架沟通。
          // 需求:有些特殊项目可能需要在保存前对原先开发环境设计的表、字段等进行额外的调整,
          // 如,动态变更保存表ID、增加保存字段等操作,但是大部分项目又不需要使用此功能,故采用增加隐藏扩展属性的方法来满足项目需求。
          // 由于本方法为特殊用法故不在API中公开公布有需要的项目按如下代码示例使用。
          // 注意:以下代码必须在 beforeSave 事件中执行,其他事件中无效。
          // 定义一个扩展对象,名称为 _save_exts_  此对象谷神框架在编译insert/update/delete时会读取
          #set($inputForm._save_exts_=$vs.util.newMap())
          #set($inputForm._save_exts_.saveTableId='BASIC_COMPS') // 修改保存表名称
          #set($inputForm._save_exts_.otherSaveFields = $vs.util.newList()) // 增加额外保存字段
          $inputForm._save_exts_.otherSaveFields.add('EXT_FIELD1') // 增加简易保存字段(字段类型默认VARCHAR)
          #set($field2 = $vs.util.newMap())
          #set($field2.fieldId='EXT_FIELD2')
          // 数据类型,可选,默认VARCHAR,其他类型(详见谷神开发环境添加表字段里的类型)
          // BIGINT、DATETIME、DECIMALINT、LONGTEXT、SMALLINTTEXTTIMESTAMPVARCHAR等
          #set($field2.dbDataType='INT') // 指定数据类型
          $inputForm._save_exts_.otherSaveFields.add($field2) // 添加到额外保存字段列表中
          // 表格等其他控件用法相同
          #set($tabpage.tabpage0.detailtable._save_exts_=$vs.util.newMap())
          ...
      • 谷神自建数组对象,增加属性携带功能,如:
         #set($list=$vs.util.newList())
         #set($list.code = '123') // <-- 此处可以对列表进行属性增加和读取
         $list.add(1) // 数组的原始方法可以继续使用
         #foreach($item in $list) // 可以继续使用数组的循环功能
             // do ...
         #end
         // 注意:从数据库读取的列表不支持属性携带功能。
      • 保存事件中,表格对象数据列表增加可携带属性功能,如:
        #set($detailTable.others = $vs.util.newMap())
        #foreach($row in $detailTable)
         // do ...
        #end
        // 注意:携带的属性无法在调试时查看。
      • 下载Excel导出模板中加入下列数据校验,示例如下:
        gUtil.exportTemplate(self.pageId,"询价模板导出",{
        "ALL_COLUMN_JSON": "{\"询价场次编号\":\"INQUIRY_BILLCODE\",\"询价场次名称\":\"INQUIRY_NAME\",\"报价截至时间\":\"END_DATE\",\"项目名称\":\"PROJECT_NAME\",\"项目所在城市\":\"CITY\",\"场次状态\":\"STATUS_NAME\",\"中选状态\":\"IS_FINAL_BID_NAME\"}",
        "MUST_INPUT_COLUMNS": "STATUS_NAME,INQUIRY_BILLCODE,INQUIRY_NAME",
        "DROP_DOWN_DATA ": "{\"STATUS_NAME\":[\"待提交\",\"待审核\",\"已拒绝\",\"报价中\",\"已结束\",\"已中止\"]}"
        })
        // ALL_COLUMN_JSON:要导入的字段
        // MUST_INPUT_COLUMNS:导入字段中必须填写字段
        // DROP_DOWN_DATA:下列字段及下列数据信息
      • 表格增加getCellFormatergetCellStyle事件,用于统一触发列的对应事件(优先级低于列对应事件)。
      • gUtil增加新APIloadStyle用以动态添加CSS文件。
      • inputFormitemTable数据源支持谷神脚本功能。
      • 支持系统菜单和菜单目录混合排序算法
      • 谷神新增PostgreSQL数据库支持
      • 谷神新增OpenGauss数据库支持
      • 谷神新增Vastbase数据库支持
      • $vs.cipher.bytesToHex($bytes:byte[]):string: 二进制转字符串
      • $vs.cipher.hexToBytes($str:string):byte[]: 字符串转二进制
      • 系统发布设置中,增加文件上传大小限制设置golden.multipart.maxFileSize
      • 文件上传大小限制由300M调高到2G,若项目需要限制文件大小,则请额外配置
      • 修复了文件超过设定值的情况下没有提示文件太大的问题
      • 修复了上传文件太大容易导致内存溢出问题。
      • 系统登录设置中,增加使用国密3加密密码功能,设置后,密码会调整为SM3算法(警告:只有新项目才允许启用此设置,密码算法互不兼容,若中途更改算法,则必会导致登录用户密码失效)
      • 设置类增加新API:$vs.properties.getUserPassType()获取当前系统用户密码算法类型,返回 MD5SM3
      • 修复ORACEL环境批量插入数据超长提示不友好问题,新增POSTGRE环境下输入数据超长提示。
  • 底层包版本升级说明(2.7.14 -> 3.1.4)

序号 包名 原版本 新版本
1 spring-boot 2.7.14 3.1.4
2 spring-cloud 2021.0.8 2022.0.4
3 spring-framework 5.3.29 6.0.12
4 hibernate 5.6.15.Final 6.2.9.Final
5 tomcat 9.0.78 10.1.13
6 jackson 2.13.5 2.15.2
  • 底层包版本升级说明(3.1.4 -> 3.3.9)

序号 包名 原版本 新版本
1 spring-boot 3.1.4 3.3.9
2 spring-cloud 2022.0.4 2023.0.5
3 spring-framework 6.0.12 6.1.17
4 hibernate 6.2.9.Final 6.5.3.Final
5 tomcat 10.1.13 10.1.36
6 jackson 2.15.2 2.17.3
7 logback 1.4.11 1.5.16
8 mybatis 3.5.13 3.5.17
文档更新时间: 2025-06-16 09:36   作者:weir