Skip to main content

脚本数据

脚本数据是指使用脚本的方式实现数据接口,使用时需添加js-server服务。

数据分组

可以配置分组下接口的通用配置。 脚本数据配置界面

属性配置说明

类型

选中脚本数据。

名称

为该分组指定一个名称,不能重复。

分组说明

可输入数据接口分组的简单介绍或用途。

前置脚本

前置脚本是在请求发送前执行的代码,会被该分组下所有请求应用,请求内如果配置了前置脚本,该脚本不应用。脚本中可用库请查阅 使用脚本 页面。

handler 固定函数名,包含一个参数,格式为对象,为调用当前接口时候的请求体。前置脚本可以修改请求体,配置的模版将从返回值中获取具体数据。

// 输入值: {"temperature":26.3,"humidity":65}
// 输出值: {"temperature":26.3,"humidity":65,"ts":"2023-03-30 17:07:44"}
function handler(data) {
if(!data){
data = {};
}
// 数据中增加当前时间参数
data["ts"] = moment().format('YYYY-MM-DD HH:mm:ss');
return data;
}

后置脚本

后置脚本是在请求发送返回后执行的代码,会被该分组下所有请求应用,请求内如果配置了后置脚本,该脚本不应用。脚本中可用库请查阅 使用脚本 页面。

handler 固定函数名,包含一个参数,格式为字节数组,为调用当前接口时候的返回值。后置脚本可以修改接口返回值,处理结果最终返回给调用方。

// 输入值 data: [{"name":"temperature","value":26.3},{"name":"humidity","value":65}]
// 输出值 obj: {"temperature":26.3,"humidity":65}
function handler(data) {
const arr = JSON.parse(Buffer.from(data).toString());
let obj = arr.reduce((acc, cur) => {
acc[cur.name] = cur.value;
return acc;
}, {});
return obj;
}

数据接口

分组点击添加数据接口。

添加数据接口界面

属性配置说明

分组

分组名称。

标识

接口的唯一标识,必须为英文字母、数值或下划线,不能重复。该标识在调用接口时使用。

名称

为该接口指定一个名称,不能重复。

参数

定义请求接口的参数,点击填写参数名,选择参数类型,输入默认值。

  • 参数是调用接口时需要传入请求体;
  • 参数可以作为调用接口时的模版进行配置。

语言

脚本的编辑语言。

脚本

脚本是在请求发送执行的代码。脚本中可用库请查阅 使用脚本 页面。

handler 固定函数名,包两个参数,请求和响应,参考文档 https://expressjs.com。

// 输入值 req,res  express 框架的请求及响应 参考文档 https://expressjs.com/
// 请求体包含数据格式 {"tableId":"","__internal__":{"user":"用户id","token":"当前用户token","projectId":"项目id"}}
// a 为接口配置参数示例,__internal__ 为内置数据
function handler(req,res) {
res.status(200);
let data = await api.getTableSchema('test11')
console.log(JSON.stringify(data));
let a = 1;
res.json({a}) // res 与 return 只能用一种方式
}

运行

点击运行按钮并发送请求

运行结果

接口案例运行界面

console日志

接口案例运行界面2