内置接口

Update time:2025-06-06 18:57:34

    接口请求中提到了四种请求方式,其中一种是EMBED方式,需要用到内置接口

    点击左侧工具栏的内置接口按钮打开内置接口面板,点击添加按钮即可添加一个内置接口。

    内置接口需要指定一个名称和一段javascript代码,可以添加参数和测试样例代码,配置好的内置接口在接口请求中可以使用。

    内置接口需要 JS 编程能力。

    问卷的内置接口会显示在内置接口列表中,如果内置接口名称的右上角有一个黄色的小三角图标,说明该接口已经被题目节点所使用;如果小三角图标是半透明的,说明接口虽然被题目节点使用,但该题目节点没有被连接到问卷中。

    点击任意项打开内置接口设置面板。

    内置接口设置

    接口名

    接口的名称,在接口请求模块中可以根据名字选择使用内置接口。

    参数

    指定接口的参数,指定参数名后,在接口请求模块中使用该内置接口时,必须为所有参数传入参数值。

    接口代码可以从接口处理函数的第一个参数中用取属性的方式获得真实的参数,如上图中所的参数p和参数q,这个规则与接口请求中的FAKE请求方式的参数访问规则相同。

    接口代码

    按业务需求编写javascript代码。

    接口代码最后必须返回一个函数作为接口处理函数,该函数的返回值必须是接口请求里面提到的返回数据接口,即一个包含 result 和 message 属性的对象。

    以上图中代码为例;这个名为123的接口要求两个参数pq,在代码中,从处理函数的第一个参数data中取出真正的参数pq,然后用p加上pq的商作为计算因子,再乘以之前的一个随机数作为结果返回。

    了解了编码规则后,再举一个有实用价值的例子:当给定的某个年份,和给定的某个生肖名称时,我们希望判断两者是否正确匹配。所以这个接口会要求两个参数:

    • year参数:代表年份;
    • name参数:代表生肖名称;

    确定参数后,编写如下代码来进行判断。

    通过上面的代码我们就能从给定年份和生肖名称中,判断两者是否匹配,如果不匹配的话还能给出自定义提示消息。

    结果和提示消息的用法在接口请求中有说明。

    测试代码

    为了确保编写的代码没有错误,或者在后续的更改中不会被改错,可以添加几个测试样例代码。

    测试样例代码需要返回一个数组,数组的每一项是一个测试用例。如果不想提供测试代码,则需使用默认生成的测试代码,测试代码不能为空。

    下面我们就给上面生肖验证的例子添加测试代码,并在代码注释中进行了说明。

    如果提供了测试代码,系统将会自动运行测试。当用测试代码中指定的参数去调用接口代码得到的结果不是指定的结果时,就会报错。

    使用内置接口

    使用时,选择一个题目节点,然后打开属性编辑工具栏中的设置面板,设定自定义验证方式为EMBED,按要求设定参数和传入的选项变量。当被访者做到这道题目时,就会请求内置接口。