moer 发表于 2024-11-22 17:19:50

【10.0.5】服务端命令参数的参数类型强制校验带来的问题

检查_指定物料是否无码




活子格升级到10.0.5发布到生产服务器上, 操作员反馈有问题,
开发人员才知道有这个问题。

如上图,我怎么排查该问题, 有什么好办法。

Grayson.Shang 发表于 2024-11-22 18:22:03

大佬您好,有一个建议咱们可以尝试一下,活字格的协同其实是一个文件夹,其中服务端命令是存储到ServerCommands目录下的。


咱们可以将协同这个目录复制出来,然后通过VSCode打开这个目录,咱们所有的服务端命令中,检索数组类型,查找到关键字之后,反过来在协同中检查对应的服务端命令设置,进而排查问题。

moer 发表于 7 天前

Simon.Sun 发表于 5 天前

您好,服务端命令您这边是在哪里调用的呢?传递的字符串具体有是什么样的呢?

moer 发表于 5 天前

Simon.Sun 发表于 2024-11-25 10:45
您好,服务端命令您这边是在哪里调用的呢?传递的字符串具体有是什么样的呢?

我现在要排查的是:那些服务端命令用到了 参数类型是 数组的。   如果是数组,我还需要检查,传入的参数是不是数组。

Simon.Sun 发表于 5 天前

好的,大佬,目前还么有快捷的方式去找那些服务端命令有数组类型的参数。
只能是服务端命令设计器里依次点击查看了,然后右键服务端命令查找引用,看看调用的地方参数传递。

moer 发表于 5 天前

Simon.Sun 发表于 2024-11-25 15:30
好的,大佬,目前还么有快捷的方式去找那些服务端命令有数组类型的参数。
只能是服务端命令设计器里依次点 ...

几百个服务端命令。 不可能一个个肉眼去找呀。

Simon.Sun 发表于 5 天前

好的,这样的话,倒是有一个可以操作的方法,大佬可以看看能行不:
1、把工程文件另存一份,然后用压缩工具解压工程文件;
2、用 VSCode 打开解压里 ServerCommands 这个文件夹;
3、在 VSCode 里面去检索,检索 "Type": 1 或者ArrayParamItems,然后左边会列出所有包含了数组参数的服务端命令:



moer 发表于 5 天前



找到1百多个有数组作为参数的服务端命令.一个一个检查,工作量太大了.

有没有开关,关闭这个检查功能?

Grayson.Shang 发表于 5 天前

大佬您好,没有关闭检查这个功能,只能借助第三方的工具做这个功能,而借助第三方工具,就需要每找到一个,需要在活字格设计器中定位到对应的命令,避免不了了。

大佬可以说一下,咱们找出这些命令后,打算做什么操作,是将数组类型修改成基础类型吗?我们看看是否可以根据咱们做的操作有快捷的方案。:nbtz5:
页: [1] 2
查看完整版本: 【10.0.5】服务端命令参数的参数类型强制校验带来的问题