Skip to main content

前端API

使用前端 API 可以在自定义动作、代码数据绑定等场景更灵活的操作数据、实现更复杂的交互场景等。

可视化动作接口

使用 triggerAction 可触发执行平台里的支持的动作,例如跳转页面、修改变量等。常用动作说明如下

跳转 URL

// 打开百度首页
this.triggerAction({
action: 'URL',
url: 'https://www.baidu.com' // 支持deeplink
})

跳转页面

// 跳转应用内页面,path或page至少填写一个
this.triggerAction({
action: 'REDIRECT-PAGE',
path: '页面路径,可选',
page: '页面ID, 可选'
})

返回上一页

this.triggerAction({
action: 'BACK'
})

刷新页面数据

this.triggerAction({
action: 'RELOAD'
})

打开弹框

this.triggerAction({
action: 'OPEN-MODAL',
nodeId: '组件ID'
})

关闭弹框

this.triggerAction({
action: 'CLOSE-MODAL',
nodeId: '组件ID'
})

数据源初始化数据

this.triggerAction({
action: 'DATA-INIT',
dsId: '数据源ID',
value: {}, // 初始化数据,一般是对象
dataType: 'output' // input输入参数, output输出参数
})

数据源字段赋值

this.triggerAction({
action: 'DATA-ASSIGN',
dsId: '数据源ID',
inputFields: [ // 输入参数赋值,可选
{
key: 'title', // 字段标识,
value: '值'
}
],
ouputFields: [ // 输出参数赋值,可选
{
key: 'title', // 字段标识,
value: '值'
}
],
})

执行自定义动作

this.triggerAction({
action: 'CODE',
id: '自定义动作ID'
})

消息提示

this.triggerAction({
action: 'TOAST',
message: '内容',
type: 'info', // 提示类型
duration: 2000, // 持续时间,毫秒
})

前端 API 接口

使用前端底层 API 接口可以更精确的操作数据等,常用 API 如下:

getVariableValue

读取页面/应用变量,传入变量 ID 参数 getVariableValue(id)

属性类型默认值必填说明
id字符串变量 ID

示例

let value = this.getVariableValue('v1'); // 返回变量值
console.log('变量v1', value);

setVariableValue

设置页面/应用变量值,传入变量 ID 与变量值: setVariableValue(id, value)

属性类型默认值必填说明
id字符串变量 ID
value字符串、对象、数组等变量值

示例

this.setVariableValue('v1', 'hello world');
console.log('变量v1赋值后', this.getVariableValue('v1'));

getParamValue

读取当前页面参数(页面入参)值,传入参数 ID 参数 getParamValue(id)

属性类型默认值必填说明
id字符串参数 ID

示例

let value = this.getParamValue('id');
console.log('参数结果', value);

getDataSource

读取数据源数据,返回整个数据源 store,里面包含数据源输入输出数据,输出数据为 data 字段,api 输入数据为 inputData 字段。

属性类型默认值必填说明
id字符串数据源 ID

示例

let store = this.getDataSource('id');
console.log('数据源', store.data, store.inputData);

getDynamicFieldValue

读取数据源数据指定字段数据,如 this.getDynamicFieldValue(id, field, index, type)。

属性类型默认值必填说明
id字符串数据源 ID
field字符串字段标识,如 name
index数字0索引位置,从 0 开始,如果从列表中读取字段需提供
type字符串output数据类型,输出参数:output 输入参数: input

示例

// 读取数据
let value = this.getDynamicFieldValue('a001', 'title', 2, 'output');
console.log('列表数据源输出参数第3项的title字段是', value);

callAPI

请求 API,传递请求参数对象 object: this.callAPI(object,)。object 参数说明:

属性类型默认值必填说明
api字符串API 在平台 API 中心里面的标识,与 url 参数必须填写其中一个
url字符串http 请求地址,与 api 参数必须填写其中一个
method字符串GETAPI 请求类型
data对象传递数据 JSON 对象
header对象自定义 header 对象
isDownload布尔false是否下载接口
isUpload布尔false是否上传接口

示例

// 调用api中心配置的接口
let res = await this.callAPI({
api: 'apiKey',
data: {
a: 'aa',
b: 'bb'
}
});

console.log('返回结果', res);

// 调用自定义的接口
let res2 = await this.callAPI({
url: 'https://xx.com',
method: 'GET',
data: {
page: 2,
limit: 10
}
});
console.log('返回结果', res2);