跳到主要内容

Code-内置组件

应用介绍

Code节点,是开放给具备代码基础同学的高级应用,通过代码编译的方式,以满足差异化、定制化的个性业务需求。

应用场景介绍

目前Code节点支持运行JavaScript语言,其他编码语言将在后续开放。

应用支持的触发条件和执行操作

触发条件

执行操作

1、运行JavaScript:编写JS代码处理较复杂的业务逻辑

配置账号和参数

前置条件

1、具有一定的JavaScript代码基础;

添加账户

使用该应用时不需要认证授权,因此不需要添加账号。

执行操作配置说明

1、运行JavaScript

① 设置变量:编写代码前,可以先「设置变量」,目的是:设置可被代码块使用的变量;

将前序节点的变量关联引入到代码块中(点击输入框右侧的“+”)。

说明:此处设置的变量会被预置到一个名为 inputData 的对象中,例如 inputData.user 就可以访问到变量 user 。

img

② 设置代码:根据业务逻辑需要,可以在此处编写代码。

引用变量:可使用 inputData.变量名,读取在「设置变量」时设置的变量;

输出结果:output 中的运行结果,可以作为变量在后续节点引用。

img

③ 测试代码:代码编写完成后,请点击「测试代码」,验证代码可读性。

测试通过:会输出运行结果。

img

测试失败:会提示红色错误信息。

img

代码示例

① 拉取数据:随机获取一句古诗文

配置如下:

img

代码如下:

const request = require('request');
const prom = new Promise(resolve => {
request.get('http://poetry.apiopen.top/sentences', (a, b, body) => {
resolve(body);
});
});

output = {
sentences: JSON.parse(await prom)
};

② 处理数据:将时间戳转换为时间格式

配置如下:

img

代码如下:

const moment = require('moment');

output = {
time: moment(+inputData.timestamp).add(8, 'hours').format('yyyy-MM-DD HH:mm:ss')
};

节点限制

① 资源限制说明

为了避免对资源过多占用,运行代码有以下限制:

代码运行时间不超过 3 秒;

代码运行占用内存不超过 64MB。

② 规范限制说明

目前 Code 节点运行 JavaScript 采用 Node.js 12.16 ,运行时已支持的库如下表:

库名称版本
crypto1.0.1
lodash4.17.21
moment2.29.3
request2.88.2
xml2js0.4.23

应用相关案例和模板

1、Webhook-Code-企业微信群机器人:用于实时接收系统数据,数据组装后及时发送提醒

当源系统产生新的数据时,通过Code节点对数据进行组装,再通过企业微信群机器人在企微群内进行通知。