跳到主要内容

通过组件行为或调用触发

工作流支持通过微搭编辑器设定组件行为,或通过代码、SDK 或 API 的调用来触发工作流

配置项说明

是否启用

是否启用该触发方式,关闭后将不会被调用触发工作流。

使用说明

通过配置此触发器,工作流将可以通过云开发 SDK 、云开发提供的 API 所触发,同时也可以在微搭编辑器中,设置为组件行为触发。

发起调用

通过小程序或云开发云函数发起调用

配置了调用触发的工作流,可以在小程序中,或者在云开发云函数中,通过使用微信提供的小程序 SDK 或者 wx-server-sdk 发起工作流调用触发。当前的调用触发为同步调用,调用将会等待工作流执行完成后返回,并返回工作流的执行输出到调用方。

使用如下方式调用工作流:

#小程序端或云函数中发起调用
#使用callFunction方法+指定参数调用工作流

wx.cloud.callFunction(
"name":"cloudbase_module", #名称固定为 cloudbase_module
"data":{
"name":"sywxzfapifqzf_xxxx", #name 为工作流标识,通过工作流属性、或者创建工作流时指定来获取
"data":{ #调用参数,支持JSON格式参数,工作流内通过触发节点的output可获取
"hello":"world"
}
}
)

调用说明如下:

  • 复用小程序或云函数中的 callFunction 方法,小程序或云函数无需进行基础库升级
  • 调用 name 参数固定为 cloudbase_module
  • data 入参中的内容,name 为需要调用的工作流标识,通过工作流的属性查询可获取,同时在创建工作流时可以指定
  • data 入参中的内容,data 为传递给工作流的参数,传参可以设置JSON格式的任意内容;传递给工作流的参数,可以在触发节点的的output获取

调用后的返回结果结构如下:

{
"result":{
"hello":"world"
},
"requestID": "09bab203-008a-407d-a12a-ca4792dc6ccb" //工作流调用时的请求id
}

返回结果说明如下:

  • 返回结果在 result 结构中,与云函数返回结果结构相同
  • requestID 为工作流的执行请求id

在发起调用前,和云开发的其他调用接口相同,需要完成环境初始化。

wx.cloud.init({
env: 'test-x1dzi' //指定环境id
})

节点输出

通过调用或组件行为触发工作流,可以在调用或触发时带有调用参数。工作流的调用参数,将作为此触发器的入参,同时当前触发器将会输出具体的调用入参,输出格式如下:

{
"param":"value" //调用入参
}

工作流其他节点、表达式或自定义代码,可以通过引用本触发器节点的输出 output ,获取到工作流的调用入参。

调试说明

本触发器支持配置触发模拟入参。入参格式需要为 JSON 格式。配置触发模拟入参后,在调试工作流或调试本节点时,模拟入参将作为调试入参传递。

备注:存量部分工作流的调用方式

说明:目前由于云开发环境的调整,在前期对应云开发环境,创建过 lowcode 开头的相关环境,且存量工作流创建在这类环境中。

存量 lowcode 环境中的工作流,如果使用上面的调用方式,需要在调用前的初始化时,指定到 lowcode 环境进行初始化,否则会出现报错找不到工作流的问题。

如果不期望初始化 lowcode 环境,可以通过使用如下的调用方式来进行调用,会自动完成云开发环境到 lowcode 环境的适配。

#小程序端发起调用
#使用callFunction方法+指定参数调用工作流

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

}
}
)

调用说明如下:

  • 复用小程序或云函数中的 callFunction 方法,小程序或云函数无需进行基础库升级
  • 调用 name 参数固定为 lowcode-wx-datasource
  • data 入参中的内容,action 字段固定为 StartFlowInstance
  • data 入参中的内容,actionData内,FlowId 为需要调用的工作流ID,格式为数字字符串,通过工作流列表查询工作流信息可获取
  • data 入参中的内容,actionData内,Params 为传递给工作流的参数,传参可以设置JSON格式的任意内容;传递给工作流的参数,可以在触发节点的的output获取

调用后的返回结果结构如下:

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

返回结果说明如下:

  • 返回结果在 result 结构中,与云函数返回结果结构相同
  • code 为执行状态,当为 0 时,代表工作流执行成功;如果工作流执行异常,code 对应值为具体错误代码字符串
  • data 内包含执行输出内容,data内的 output,为工作流的执行输出