1. 概述
本文介绍 FR 模板调用定时任务接口的示例。
查看本文档前,请先查看以下两篇文档,了解更多调用接口相关知识:
注:本文方案不适用于移动端。
2. 示例一:FDL 独立部署
本章示例:FR 模板中调用 基于任务ID运行任务 接口。
2.1 插件准备
请参见:调用定时任务相关接口说明 第二章内容。
2.2 FDL 工程新建应用
1)进入 FDL 工程,点击「管理系统>开放平台>应用管理>增加」,新建应用,备选认证选择「AkSk认证」。如下图所示:
注:FR、FDL为独立部署时,推荐使用AkSk直接认证、摘要签名认证。
2)点击新建应用右侧的编辑按钮,记住「应用ID」与「密钥」的值。如下图所示:
2.3 为新建应用开放权限
点击「权限管理>API」,本次示例选定API为「基于任务ID运行任务」,为其开放 2.2 节新建应用的权限。如下图所示:
2.4 记录被调用任务ID
在「数据开发」中找到希望被调用的定时任务,复制任务ID,记录下任务ID。如下图所示:
注:若调用的接口是根据实例ID查询实例信息 ,实例信息获取请参见:获取实例信息
2.5 FR 工程设置转发FDL接口配置项
进入 FR 平台,点击「管理系统>系统管理>常规」,设置「转发FDL接口配置」项。如下图所示:
设置项 | 说明 |
---|---|
开放平台应用client_id | FDL工程上开放平台应用client_id,本文 2.2 节的「应用ID」 |
开放平台应用secret | FDL工程上开放平台应用secret,本文 2.2 节的「密钥」 |
FDL地址 | FDL 工程地址 |
2.6 FR 模板调用接口
FR 中打开 GettingStarted.cpt 模板,在参数面板中添加「点击按钮」,为「点击按钮」添加「点击事件」。如下图所示:
JS 代码:
注:用户根据实际情况修改 workId(本文 2.4 节的任务ID)值。
FR.ExecuteWorkByWorkId(
{
workId: "e10f1f1a-d567-4058-98bb-b71204154f8b",
params: {
paramName: "paramValue",
},
waitForResponse: "true",
waitTime: 10000,
},
function (error, response) {
if (error) {
console.error("请求失败:" + error);
} else {
console.log("请求成功,响应数据:" + JSON.stringify(response));
}
}
);
2.7 效果查看
预览模板,点击按钮。如下图所示:
在 FDL 工程中,点击「任务运维>运行记录」,可看到被调用任务的最新运行记录。如下图所示:
3. 示例二:FR模板调用定时任务并传参
注:本章示例中,FDL 是独立部署;使用的接口是:基于任务ID运行任务
实现效果:FR 模板下拉框中选择地区、省份后,将选择的值传给定时任务,并运行定时任务。
3.1 准备工作
参见本文 2.1、2.2、2.3、2.5 节内容。
3.2 定时任务和 FR 模板准备
1)FDL 定时任务中,使用了两个参数 area 和 province。如下图所示:
为方便调试,可为参数设置默认值。如下图所示:
2)FR 模板中,有两个下拉框控件,名称分别为 area、province 。如下图所示:
3.3 FR 模板调用接口
1)参考本文 2.4 节,记录下任务ID。
2)FR 模板中,参数面板中添加「点击按钮」,为「点击按钮」添加「点击事件」。如下图所示:
JS 代码:
注:getWidgetByName、alert 括号中为 FR 模板中设置的参数名;params 中格式为「定时任务中参数名:FR模板要传递的参数名」;workId 为定时任务 ID,可参考本文 2.4 节获取。
var area=_g().getParameterContainer().getWidgetByName("area").getValue();
alert(area);
var province=_g().getParameterContainer().getWidgetByName("province").getValue();
alert(province);
FR.ExecuteWorkByWorkId(
{
workId: "cc73e0f9-1244-48f6-a4d5-0f06e27e641e",
params: {
area:area,
province:province,
},
waitForResponse: "true",
waitTime: 10000,
},
function (error, response) {
if (error) {
console.error("请求失败:" + error);
} else {
console.log("请求成功,响应数据:" + JSON.stringify(response));
}
}
);
3.4 效果查看
1)预览模板,点击按钮。如下图所示:
2)在 FDL 工程中,点击「任务运维>运行记录」,可看到被调用任务的最新运行记录。目标表数据如下图所示: