代码片段

1、前言

在编写一些复杂的流程时,往往需要借助“浏览器脚本”或“RPA引擎脚本”来实现一些功能,有时我们在不同的脚本中可能存在一些相同或类似的代码,为了减少这类代码的重复书写,增强脚本的可维护性与阅读体验,可通过“代码片段”的方式来封装这类代码。

2、代码片段的定义

我们可在大纲视图中,点击“新建代码片段”来创建一个代码片段。 代码片段的定义遵循 CommonJS modules 风格,一个代码片段文件相当于一个 module,我们可以在里面定义变量与函数;需要注意的是,每个“浏览器脚本”或“RPA引擎脚本”节点对代码片段的引用都是互相隔离的,也就是说,A 节点对代码片段中的某个变量修改后,B 节点拿到的变量的值依然是修改之前的。

   

《新建代码片段》

代码如下:

module.exports = {
  str_seed: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',

  /**
   * 生成一个随机字符串,长度 len
   * @param len
   */
  nextString: function (len = 16, seed = this.str_seed) {
    if (len <= 0 || !seed) {
      return '';
    }
    let result = '';
    while (len-- > 0) {
      result += seed.charAt(Math.floor(Math.random() * (seed.length - 1)));
    }
    return result;
  },
};

3、代码片段的引用

我们可以“浏览器脚本”或“RPA引擎脚本”中通过 “require()” 方法来引用我们之前定义的代码片段,这种引用风格也是遵循 CommonJS modules 风格的。

浏览器脚本示例:

(ctx) => {
  const guid = require('guid.js');
  const randomStr = guid.nextString();
  console.log("生成的随机串为:" + randomStr); // 这段代码将在浏览器 Console 输出
}

RPA引擎脚本示例:

const guid = require("guid.js");
const randomStr = guid.nextString();
console.log("生成的随机串为:" + randomStr); // 这段代码将输出一行RPA日志

运行效果:

   

《调用代码片段示例》

4、流程示例

下面为您演示通过代码片段生成随机密码示例,我们通过输入变量设置流程生成一个长度为10,复杂度比较高的随机密码:

   

《流程使用效果》

上述流程的源码可通过 花漾RPA市场 获取。

5、总结

当您发现您在不同的脚本节点(包括不同子流程的节点)经常要写相同或相似的代码时,通过封装代码片段可以让脚本看起来更加简洁,同时也更易于维护。

最后更新于 2023-09-08 19:37
回到顶部