发布日期:2022-04-15

1.4.1版本目前已进入维护状态,不再新增功能,项目可继续使用,但无法获得以后版本发布的新功能。

  • BUG修正

    • 202403151628:
      • 修复一个元组件,在不同页面内,被同时打开时,组件内表格最大化失效问题。
      • 修改其他已知的BUG
    • 202311291118:
      • 修复开发环境推算控件默认名称时无法校验tabpage下控件的问题。
      • 修复新能源车牌号识别问题
      • 修复打包文件中,资源文件中文名称的情况下,在linux下升级后变成乱码问题
      • 修改其他已知问题
    • 202310311047:
      • 修复缓存内存溢出问题。
    • 202310180925:
      • 修复谷歌浏览器下代码字体变小问题。
      • 修复调试时,数组元素为空的情况下,无法打开数组列表问题
    • 202309221531:
      • 修复SQL升级语句归档号不能超过10的问题
      • 修改其他已发现的BUG
    • 202309011544:
      • 增加WPS文件预览功能,实现与solution.wps.cn在线预览服务对接
        • 登录weboffice开放平台创建应用,配置相应的回调地址
        • 在系统配置文件中设置weboffice申请到的AppSecret 、AppID
      • 修复报表日期查询中,带有时间的日期格式,点击月报错问题
      • $vs.http.xxx方法增加新参数$ignoreError:忽略服务器返回的错误码。默认false(返回码超过400就会抛出异常),true - 不管服务端返回什么码,都会读取服务端返回的数据不会抛出异常,需要开发者自行解析请求是否正确
    • 202308241303:
      • 开发环境打包优化:加快打包速度,解决打包时内存溢出问题
      • 修复了开发环境打包经常报连接超时问题
      • 修复表格排序报错BUG
      • 修复对话框关闭后,页面上点击回车仍旧会触发对话框事件的问题
    • 202307031113:
      • 修正表格数字值如:0.00000021这类的数据,在js中,显示科学计数问题,需要升级主数据且所有相关页面全编译发包
      • 修正其他已知的问题。
    • 202306091122:
      • 开发环境增加编译包文件清理功能,清理规则:
        • 一般编译包默认保存15天
        • 开发者可以手工推迟清理时间
        • 每个系统至少保留3个编译包
      • 修正$vs.redis.setnx$vs.redis.rename递归循环调用问题
      • 日常其他已知问题修复。
    • 202303170912:
      • 修复Oracle数据库下,$vs.dbTools.batchUpdate方法数据类型不一致时,报ORA-01790: 表达式必须具有与对应表达式相同的数据类型错误问题。
    • 202302161731:
      • 修正$vs.redis.setnx$vs.redis.rename递归循环调用问题
      • 修正偶发性用户丢失问题
      • 异步线程不再支持 $vs.request,在异步线程中,获取返回的是null
      • 修正多言无法翻译问题
    • 202212131440:
      • 日程消息不与系统ID关联,修复取不到系统ID时报错。
      • 站内信新增附件上传及查看功能。
      • 放开站内信选择用户和权限时需要管理员权限限制。
    • 202212081017:
      • 企业版表格导出功能控制:当前登录用户无导出权限时,禁止企业版表格导出excel功能。
    • 202211291155:
      • 修复开发环境特殊建表SQL解析时导致死循环问题
    • 202211251428:
      • 打包后数据库密码支持加密保存
      • 修复gUtil.openDialog函数无法打开选单窗口问题
      • 修复定时作业立即执行时,路由到远程协同端的定时任务报请登录后再操作问题。
    • 202211101047
      • 修复下拉过滤不支持特殊字符(如:&)问题
      • 修复谷神脚本字符串转义字符无法表达问题,现在使用#set($str='aa\nbbb')可以输出换行符
      • 修复主页面、主表格下拉按钮排第一个时,弹出的下拉菜单被主菜单遮挡问题。
    • 202210311144:
      • 修复定时调度中,最后一天设定的情况下,短月(30天月)过渡到长月(31天月)时日期计算不正确的问题。
      • 修复主页面中,用户即保存了查询条件模板,又保存了表格模板,且表格模板含有排序的情况下,触发两次查询,且数据被覆盖问题。
    • 202210180857:
      • $vs.date.getDbDate():返回数据类型变更为Date类型
      • 新增$vs.date.getDbTimeStamp():返回TimeStamp(带毫秒)类型
    • 202209281713:
      • 远程访问组件设置等待超时时间(10分钟)
      • 修复定时作业环境下的业务日志无法写到日志中心的问题
      • 服务组件允许接受数组类型的json字符串,但是会转为 $form.list下的内容
      • 修复INT类型数据未做自动类型转换问题而导致的Oracle批量新增失败的问题
    • 202209221139:
      • 修复Oracle数据库下,明细表格批量数据保存时,部分数字类型的行没有填制(null)的情况下,报“表达式必须具有与对应表达式相同的数据类型”问题。
    • 202209151531:
      • 明细表格detailTableinputForm加载数据由原先任意条件就可以加载全表数据改为需要传值特殊条件才可以加载全表数据(防止条件匹配失败而导致的全表加载内存溢出);若确实需要加载所有数据,则传值查询条件:{isLoadAll:true}
        • 本功能默认关闭,可以通过添加参数golden.control.load.is-skip-check=false来开启。
        • 开发环境启用方式:在资源管理服务中,添加微服务应用的系统额外配置
        • 生产/测试环境:在打包时,增加自定义配置
        • 注意:每个微服务应用都需要添加此配置
      • 修改系统异常消息提示框,并将保存时字段太长异常,转换为具体的错误提示信息
      • 增加导出代码报告功能
        • 导出方法:开发环境->应用管理->更多操作->代码报告
    • 202208301146:
      • 修正inputBox地区组合setFieldMustInput无效问题。
      • 增加$vs.thread.runFutureTask执行可接收返回值的过程函数线程
      • 增加$vs.thread.runServiceCompFutureTask执行可接收返回值的服务组件线程
      • 修复导出时,谷神脚本报表未调用afterLoad事件的问题。
      • 修复tabpage控件套tabpage控件的情况下,编译js文件错乱问题。
    • 202208041636:
      • $vs.user增加属性$vs.user.disUserName属性,业务程序可以设置这个属性用于在用户登录后,右上角显示个性化的用户姓名如:您好,XXX部门XXX。
      • 新增API$vs.cache.reputUserSession()方法,用于把当前会话中的用户信息同步更新到redis中,用法如下
        #set($vs.user.DEPT_CODE = '001')  // <-- 切换当前登录用户的部门编码
        #set($vs.user.ORG_CODE = '002')   // <-- 切换当前登录用户的机构编码
        #set($vs.user.disUserName = '高达总部研发部张三丰') // <-- 设置个性化右上角显示名称
        //
        $vs.cache.reputUserSession(); // <-- 把上面对`$vs.user`用户信息的修改更新到redis,注意:此方法没有参数
    • 202208031408:
      • 修复开发环境下,产品代码断点无法进入的问题
      • 修复Oracle数据库下,SQLTools.dateIntervalDAY日期差出现小数问题
      • 修复钉钉、微信、企业微信后台用户发送消息给协同用户时,无法找到用户信息的问题
    • 202207251709:
      • 修正$vs.http返回时校验JSON格式失败的问题。
      • 服务端谷神脚本增加直接调用页面保存方法:
        • $vs.proc.callPageSave():服务端调用页面的单据新增方法(一般用于接口等需要创建单据时与原保存代码复用的场景)。
        • $vs.proc.callPageUpdate():服务端调用页面的单据修改方法(一般用于接口等需要创建单据时与原保存代码复用的场景)。
      • $vs.util增加新的API:
        • $vs.util.urlEncode($str:string):string对字符串进行URLEncode编码
        • $vs.util.urlDecode($str:string):string对字符串进行URLDecode解码
    • 202207180906:
      • 修复用户在无菜单权限时,登录报错的问题
      • 修复$vs.dbTools.batchUpdate一次修改行数过多时,重复执行第一页的情况
      • 修复企业微信发送消息时,用户ID中含有空格的情况下无法收到消息的问题
    • 202207061121:
      • $vs.dbTools增加新方法:$vs.dbTools.clearDatabaseCache()清理当前线程内的MYBATIS一级缓存(一般用于需要实时读取数据库同一条记录的情况)
  • 变更说明

    自1.4.1版本起,谷神数据源报表返回结果变更说明。

    • 谷神报表支持二次分析功能,故,谷神数据源报表若要支持二次分析功能,则必须调整返回结构。
    • 原谷神数据源报表返回示例:
      #if ($isSum) // 如果是合计请求
        #set($sql="select SUM(AMT) from TMP_CONTRACT where BILL_NO=:BILL_NO")
        #set($result = $vs.dbTools.uniqueResult($sql,$form,true))
      #else
        #set($sql="select * from TMP_CONTRACT where BILL_NO=:BILL_NO")
        #set($result = $vs.dbTools.findPage($sql,$form,true))
      #end
      $vs.dbTools.dropAllTempTable(); // 删除所有临时表
      return $result // 返回对象给底层框架
    • 现需要调整为:
      #if ($isSum)
        #set($sql="select SUM(AMT) from TMP_CONTRACT where BILL_NO=:BILL_NO")
      #else
        #set($sql="select * from TMP_CONTRACT where BILL_NO=:BILL_NO")
      #end
      // 此处注意,千万不要删除临时表,底层在查询结果后,会代为删除临时表
      return $sql // 返回SQL
  • webservice支持公告

    1.4.1版本开始,谷神将内置webservice的cxf依赖包,供插件开发webservice客户端(或者服务端),插件开发时不用再重复引用cxf依赖包,webservice插件开发样例点此下载golden-faas-plugins-webservice.zip

  • 底层包版本升级说明

序号 包名 原版本 新版本
1 spring-boot 2.3.10.RELEASE 2.6.8
2 spring-cloud Hoxton.SR11 2021.0.3
3 spring-framework 5.2.14.RELEASE 5.3.20
4 hibernate 5.4.30.Final 5.6.9.Final
5 tomcat 9.0.45 9.0.63
6 fastjson 1.2.76 1.2.83
7 mybatis 3.5.6 3.5.6
  • 新增功能

    • 谷神脚本新增线程全局变量池功能:
      • 全局变量池变量可以在本次请求内任意地方(事件脚本、过程函数等)读取/更改,包括异步线程、跨服务调用。
      • 异步线程$vs.thread.run()调起的线程,可以读取到主线程的变量值,但是不可以修改主线程的变量,修改变量值仅在异步线程内有效,主线程值不会发生变化。
      • 跨服务调用:变量池变量支持跨系统调用,但是不可修改主线程的变量,修改变量值仅在异地服务内有效,主线程值不会发生变化。
      • 新增API:
        • $vs.thread.put($key,$value):把变量放入变量池
        • $vs.thread.get($key,$defvalue):从变量池中拿出变量
    • 对外接口增加执行身份功能:
      • 三方系统调起谷神外部接口模块时,默认是无用户模式,$vs.user获取为空,现增加执行身份设置,设置后,三方系统调起这个接口,$vs.user将返回设置的用户信息
      • 启用方式:系统管理员登录->系统设置菜单->接口系统设置->选择接口应用->执行身份->选择用户->确定
      • 取消方式:系统管理员登录->系统设置菜单->接口系统设置->选择接口应用->执行身份->去掉选择用户勾选->确定
      • 用途描述:一般用于控制接口的数据权限,模拟用户登陆过程,系统管理员可以设置这个接口执行的数据权限,三方系统调起接口时,则需要遵循数据权限约定执行操作
      • 执行用户身份使用范围:接口调起的服务组件,以及服务组件调起的其他任何谷神脚本代码(支持跨服务漫游)
    • 分布式调度增加调度身份功能:
      • 分布式调度代码运行时,默认是无用户模式,$vs.user获取为空,现增加调度身份设置,设置后,调度调起这个过程函数时,$vs.user将返回设置的用户信息
      • 启用方式:系统管理员登录->系统设置菜单->分布式调度设置->选择调度->调度身份->选择用户->确定
      • 取消方式:系统管理员登录->系统设置菜单->分布式调度设置->选择调度->调度身份->去掉选择用户勾选->确定
      • 用途描述:一般用于控制调度的数据权限,模拟用户登陆过程,系统管理员可以这个调度的用户的的数据权限,调度调起过程函数时,则需要遵循数据权限约定执行操作
      • 调度用户身份使用范围:调度调起的过程,以及过程函数调起的其他任何谷神脚本代码(支持跨服务漫游)
    • 我的消息增加新增站内信功能:
      • 我的消息拆分成”发送给我的消息“和”我发送的消息“两部分进行显示;
      • 新增站内信:输入标题和内容,选择要发送的用户或角色,发送站内信。
    • 日历控件功能升级:
      • 加入链接地址,如果设置了链接地址可以点击跳转到相应页面
      • 加入了删除日程消息业务接口removeCalendarNotice
    • 新增SQL运行监控功能:
      • 启用方式:系统管理员登录->系统设置->SQL运行监控->开始收集。
      • 用途说明:一般用于生产环境慢SQL分析,一旦开启,会收集系统集群内所有服务对数据库的所有操作。
      • 注意事项:SQL运行监控会拦截所有底层执行的SQL并记录到数据库,对系统整体的性能消耗很大,调试完成后,请及时关闭SQL收集功能。
    • 代码走查功能发布: 通过规则对谷神脚本代码的扫描,统计出可能存在性能缺陷的代码,扫描规则如下:
      • 循环中使用数据库操作指令
      • 循环中调用过程函数、服务组件
      • SQL语句的where条件不能使用SQLTools.toChar关键字。
      • SQL语句中使用全字段查询(select * from xxxx
      • 其他规则待后期续补。
    • 增加服务组件代码登录功能:
      • 功能说明:允许通过服务组件初始化用户登录会话信息
      • 使用场景:与三方系统单点登录时使用
      • 注意事项:当三方系统发起单点登录请求时,需要验证对方的身份,以防止非法登录。
      • 代码示例:
        // 注意:登录方法只可以在浏览器请求线程内,不可在定时任务、异步线程等处使用
        #set($service=$vs.service.find('loginComponent')) // <-- 引系统登录组件(注意:只有主数据才有此组件)
        #set($userId = '18888888888')
        // 参数说明:
        // $userId:     用户身份识别唯一码,可以是USER_ID、可以是手机号、微信OPEN_ID等等唯一编码
        // $loginField: $userId唯一编码在用户表的字段名称,如,若以手机号登录,则此处应该是 MOBILE
        //
        // 通过调用此方法实现对用户18888888888于当前浏览器的登录请求;
        // APP端登录API为: $service.doUserFieldLoginAPP($userId,'MOBILE')
        #set($user = $service.doUserFieldLoginPC($userId,'MOBILE')) 
        // ...
    • table.setDisableEdit()函数功能扩展:增加禁用整行编辑功能
      • table.setDisableEdit(row,null,true) : 禁用整行(新增)
      • table.setDisableEdit(row,fieldId,true) : 禁用行内单元格(原有)
    • 树控件功能优化:
      • JSAPI增加tree.expandNode() 展开结点功能
      • 设计界面增加添加自定义按钮功能
    • $vs.dbTools增加新方法:增加$vs.dbTools.isTempTableExists($tableId)查询当前线程中是否已经创建指定的临时表。
    • 新增报表二次分析功能:
      • 启用方式:开发环境->应用管理->主数据->编辑属性->参数设置->启用“报表设计器”,开启系统对报表设计器功能的支持,默认情况下,所有符号条件的主数据表格都将获得报表设计器功能的支持。
      • 开启报表设计器功能后,用户端,主表格分页栏会出现“报表设计器”按钮,点击此按钮,可以开启报表编辑功能。
      • 对于不希望用户端对报表进行二次分析的,则可以在主表格属性设置中,选择“禁用报表设计器功能”来关闭当前报表的二次分析功能。
      • 谷神脚本数据源的报表,需要根据最新的规范调整返回结果为查询SQL语句,否则报表二次分析会报异常。
    • EXCEL导出功能扩展:
      • 按当前的排序字段导出排序数据;
      • 针对数字类型的单元格,按表格设置数字格式导出,保存与列表中显示数据一致,方便汇总统计;
      • 按当前标题导出,防止动态修改标题导致的标题不一致;
      • 按分组样式导出数据,表头自动进行单元格合并。
    • 新增定时任务检查功能:
      • 检查定时调度的执行情况,出现异常或超时未调用时发送站内信通知管理人员;
    • gUtil函数功能扩展:
      • gUtil.exportTemplate(pageId,fileName,columnInfo) :根据程序中定义字段下载Excel导入模板
      • gUtil.openNewMainWin(pageId,param): 在浏览器新TAB页打开主页面
      • gUtil.openNewDetailWin(pageId,param): 在浏览器新TAB页打开详情页面
    • 加入WPS文件预览功能:
      • 启用方式:WPS平台开通金山文档在线编辑服务;然后应用发布中加入WPS文件应用配置;
      • 查看文件时如果是WPS支持的文档类型则通过WPS进行在线预览
    • $vs.cache新增API:
      • $vs.cache.getCodes($codeType:string,hasAll:boolean): 参数hasAll标识是否获取所有记录,true表示获取所有记录,false表示只加载启用的记录
    • 加入滑动拼图行为验证码
      • 启用方式:应用管理模块下登录设置中,选择使用滑块验证码,未选择时默认为图片验证码
    • 加入数据权限设置
      • 运维管理下加入数据权限设置模块,管理员、实施人员可以对应用数据权限进行启用或停用操作
    • 加入系统参数设置
      • 运维管理下加入系统参数设置模块,管理员、实施人员可以修改应用参数
    • 加入缓存数据监控
      • 运维管理下加入缓存数据监控模块,管理员可以查看当前缓存中对象,并对表对象进行刷新缓存操作,刷新之后数据将在使用时重新加载
    • 润乾报表支持独立部署:
      • 开启方法:
        • 下载、安装、配置、启动独立润乾服务(去本站《相关下载》处下载)
        • 打包配置时,增加标准配置“润乾报表独立部署”标准配置项,配置好后,升级即可
    • 增量升级功能优化:
      • 增加创建人查询条件
      • 增加合并升级包功能,用于向项目生产环境一次发布多个增量测试包
    • 加入UniApp消息推送功能
      • 此功能先在Dcloud平台创建应用,应用类型选择uni-app;点击应用名称,进入应用详情,选择uniPush 1.0后,编辑应用详细信息进行保存,然后再点击消息推送,查看相应的推送参数,并配置到开发平台应用发布中;
      • 在开发平台消息模版设置中对APP消息参数进行配置,其中详情地址为APP中打开详情页跳转地址。
      • app开发时在登录页面嵌入相关代码,详见APP消息推送开发文档
  • 功能优化

    • 选择图标界面加入快速按拼音过滤查找
    • 自定义控件增加禁用保存选项,选择后,组件内的所有控件都禁用保存(只读)。
    • inputForm保存时,自动过滤收尾空格(富文本除外)
    • 修改系统异常时弹出提示窗口,默认不显示后台返回的错误信息,可以查看详细的错误信息并复制发送给管理人员,方便查错
    • “表格隐藏或显示”字段窗口,加入拖动字段来调整表格中字段显示位置,加入全选、反选、隐藏不显示列功能
    • 页面、菜单、模块导入时加入限制,不能导入高于当前开发版本导出的页面、菜单、模块
      • 菜单、模块导入时加入手工选择兄弟库、产品库
    • 数据字典列表中当前选择类型加入父级信息展示
    • 模块开发和过程函数右键菜单加入代码走查功能,可按模块、菜单、页面、函数进行代码走查
    • 单据类型设置中:加停用、启用选项,默认启用
    • FORM表单中加入大文本必输项检查
    • 查询按钮加入防重复点击(500毫秒内)
    • 弹出的操作确认提示框,按回车键时触发确认操作,并关闭提示框
    • 修复EXCEL导入时数字变为科学计数法问题
    • 修复模块删除后重新导入时主页没有改变问题
    • 窗口打开数限制在15个,超出时给予提示
    • 字段模版未启用的情况下,后台必输校验取消
    • 报表自定义查询条件功能优化:
      • 增加“不允许添加为查询条件设计字段”的控制项,开发者可以禁用表格字段用于添加到用户自定义查询条件
      • 屏蔽了对话框窗口报表自定义查询条件功能
    • 报表二次分析功能优化:
      • 修复了字段合计选上后无法取消问题
      • 字段编辑对话框中,增加删除按钮,方便删除不需要的字段
      • 取消二次分析报表的复选框列
      • 屏蔽了对话框窗口报表二次分析功能
  • 代码结构版本号

    • 当前代码结构版本号:1.0.0
      注:相同的代码结构版本号的版本开发的页面代码可以相互导出/升级。
文档更新时间: 2024-04-08 15:19   作者:weir