提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
流程图部分任务执行需要和外部系统交互
一、使用步骤
1.引入库
import { Client, logger ,Variables} from 'camunda-external-task-client-js'
2.外部任务客户端配置
// 外部任务客户端的配置:
// - 'baseUrl': 流程引擎的url
// - 'logger': 自动记录的日志等级
const config = { baseUrl: '流程引擎的url', use: logger};
3.根据配置创建一个新的外部任务客户端
const client = new Client(config);
4.监听外部任务
function myTopic(params) {
client.subscribe('流程中设置的外部任务名称', async function({ task, taskService }) {
// 将您的业务逻辑写在这
// 获取流程变量
const amount = task.variables.get('amount');
var data = new Variables(); //返回新的参数
if(amount<1000){
data.set('result','false')
}else{
data.set('result','true')
}
// 完成任务
await taskService.complete(task,data);
});
}
二、完整代码
import { Client, logger ,Variables} from 'camunda-external-task-client-js'
// 外部任务客户端的配置:
// - 'baseUrl': 流程引擎的url
// - 'logger': 自动记录的日志等级
const config = { baseUrl: '流程引擎的url', use: logger};
// 根据配置创建一个新的外部任务客户端
const client = new Client(config);
// 订阅charge-card
function myTopic(params) {
client.subscribe('my-topic', async function({ task, taskService }) {
// 将您的业务逻辑写在这
// 获取流程变量
const amount = task.variables.get('amount');
var data = new Variables(); //返回新的参数
if(amount<1000){
data.set('result','false')
}else{
data.set('result','true')
}
// 完成任务
await taskService.complete(task,data);
});
}
export{
myTopic
}