跳到主要内容

小程序中发起调用

本章将介绍如何配置小程序发起调用工作流。

小程序中发起工作流调用,与发起云函数调用类似,需要完成环境初始化后,使用 wx.cloud 接口发起调用。

环境初始化

通过在小程序代码中使用 wx.cloud.init,初始化云开发环境。其中的 env 参数为具体的环境ID。

wx.cloud.init({
env: 'cloudbase-env-id'
})

小程序中调用工作流

通过在小程序中添加如下代码来发起到工作流的调用

wx.cloud.callFunction(
"name":"lowcode-wx-datasource", #名称固定为 lowcode-wx-datasource
"data":{
"action":"StartFlowInstance", #action 固定为 StartFlowInstance
"actionData":{
"FlowId":"1736582720764907521", #FlowId为工作流编号,通过查询工作流信息获取,
"Params":{ #调用参数,支持JSON格式参数,工作流内通过触发节点的output可获取
"a":1,
"b":2
}

}
}
)

code

其中的 FlowId,为上一步中创建的工作流的ID。工作流ID通过在工作流列表中选择工作流,查看属性时获取。

工作流ID

另外,Params 传递了 a、b,两个参数给到工作流,匹配了工作流中的数据处理逻辑。

调用运行

针对工作流发起调用,我们在如上代码中增加参数获取并打印,查看运行结果。

wx.cloud.callFunction(
"name":"lowcode-wx-datasource", #名称固定为 lowcode-wx-datasource
"data":{
"action":"StartFlowInstance", #action 固定为 StartFlowInstance
"actionData":{
"FlowId":"1736582720764907521", #FlowId为工作流编号,通过查询工作流信息获取,
"Params":{ #调用参数,支持JSON格式参数,工作流内通过触发节点的output可获取
"a":1,
"b":2
}

}
}
).then((resp) => {
console.log(resp.result)
console.log(resp.result.data.output)
}).catch((e) => {
console.log("call workflow fail",e)
});

目前工作流返回的数据结构如下,通过判断code,可以了解工作流的运行成功与否;通过获取output,可以获取到工作流的执行返回。

{
"result":{
"code":0,
"data":{
"output":{
"hello":"world"
}
}
}
}

在触发发起工作流调用后,可以获取到调用工作流的返回结果如下,

工作流调用返回

我们可以进一步修改调用的参数,查看更多的返回。