功能简介
自定义 API 的自定义代码可以触发流程实例。
场景示例
1. 配置流程:流程开始节点支持配置变量:
注意:
如果仅在方法测试、应用编辑器的实时预览或者应用的预览环境触发流程,保存流程即可,不需要发布;如果要在应用的正式环境触发流程,需要发布流程。
![](https://qcloudimg.tencent-cloud.cn/image/document/48f2cb6e8614df208f57ec326729a095.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/48f2cb6e8614df208f57ec326729a095.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/981af401c97b46e690e4f0c8db87183c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/981af401c97b46e690e4f0c8db87183c.png)
2. 配置自定义 API。
![](https://qcloudimg.tencent-cloud.cn/image/document/8480bbd99b149e59c0c2bcd018c0bd9f.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/8480bbd99b149e59c0c2bcd018c0bd9f.png)
参考下面的代码配置 APIs 和工作流相关信息即可触发流程,可以通过方法测试验证,验证后通过出参映射可以快速配置 API 的出参。
/*** 使用 npm 包 node-fetch 发送http请求, 详细使用文档可以参考* https://github.com/node-fetch/node-fetch*/const fetch = require('node-fetch');module.exports = async function (params, context) {// 这里是方法入参console.log(params);/*** 可以在这里编写业务逻辑,例如:* 1. 使用 node-fetch 通过 HTTP 方式请求外部数据,并对获取的数据进行加工;* 2. 使用 context.database API 来直接操作云开发云数据库;* 3. 使用 context.callModel 来操作其他数据模型数据;* 4. 使用 context.callConnector 来使用 API ;* 5. 使用 context.app.callFunction 来调用同环境的云开发云函数;*/const response = await context.callWorkflow({action: 'StartProcessWithParams', data: {TriggerType: 6,ConnectorParam: {ConnectorName: "startflow_n17f6cw",FunctionName: "method_65d91583fc619"},ProcessKey: "flow_ttmzhe5",StartParams: [{"name":"form_test3","paramCode": "168049347798818754","fieldType": "object","fieldValueMap":{"_id":'50b8a5676425824e001b06661838b821',"xh":'1311311236743'}],ExtraUserInfo: {UserId: 1000000000000000000,Source: 4}}});return response;};
其中:
ConnectorName:触发的 APIs 标识。
![](https://qcloudimg.tencent-cloud.cn/image/document/01da4a87975f5f993dcfbb76d12d0a6b.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/01da4a87975f5f993dcfbb76d12d0a6b.png)
FunctionName:触发的方法标识。
![](https://qcloudimg.tencent-cloud.cn/image/document/164d8278681ae37ccf29f6c9bfd4bf74.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/164d8278681ae37ccf29f6c9bfd4bf74.png)
ProcessKey:流程的唯一标识。
![](https://qcloudimg.tencent-cloud.cn/image/document/8387bc0cab971fe2ef3c903b56c718cc.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/8387bc0cab971fe2ef3c903b56c718cc.png)
StartParams中:
name:开始节点变量名称。
paramCode:开始节点变量标识(获取方式参考以下截图示例,对照接口出参中 rightId 字段内容)。
fieldType:开始节点变量类型。
fieldValueMap:{_id:数据模型记录 ID,数据模型字段 key-value}。
![](https://qcloudimg.tencent-cloud.cn/image/document/6ce4af0c87cd6938b83beb67e061fca9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3b3724b11eb17fc9d694e38666156d88.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6ce4af0c87cd6938b83beb67e061fca9.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/3b3724b11eb17fc9d694e38666156d88.png)
3. 应用中使用自定义 API。
自定义 API 发布后,在应用编辑器中可以配置表单容器。
![](https://qcloudimg.tencent-cloud.cn/image/document/e1ae5bf60fb02b92c8c6fbf8e7b26120.png)
选择配置好的 API 方法,单击提交即可触发流程。
![](https://qcloudimg.tencent-cloud.cn/image/document/98f9761fb3da0a5e790c2238f47a03f4.png)
如果需要在自定义应用中使用,需要先配置登录组件,确认应用登录授权信息。
![](https://qcloudimg.tencent-cloud.cn/image/document/bcea721512634a61289a6bd38bcd9d8c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9c7b816ae7adc9749b61e455740d7c91.png)
可通过单击应用编辑器右上角发布成功 > 访问链接进行访问。
![](https://qcloudimg.tencent-cloud.cn/image/document/e1ae5bf60fb02b92c8c6fbf8e7b26120.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/98f9761fb3da0a5e790c2238f47a03f4.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/bcea721512634a61289a6bd38bcd9d8c.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/9c7b816ae7adc9749b61e455740d7c91.png)
注意
如果不配登录组件,只能在自定义代码中指定用户触发,即传入 ExtraUserInfo 参数的 UserId 和 Source(如上文示例所示)。如果已经配置了登录组件则不需要配置该入参。