发布于2026-08-20 阅读(0)
扫一扫,手机访问
大家都知道,NodeJS作为后端开发语言和运行环境,在高并发支持和开发效率方面有口皆碑,但大多用于数据CRUD管理、中间层聚合和中间层代理等工具场景,很少深入到业务领域的核心。不少采用NodeJS开发的最小可用产品(MVP)最终都要另起炉灶重构,这也是其中一个原因。深究起来,NodeJS作为业务开发平台,还缺不少核心的基础构件,其中就包括NodeJS工作流引擎。CabloyJS 4.0重点开发了NodeJS工作流引擎,并将其作为内置的基础核心模块(同样开源、免费),进一步拓展了NodeJS在后端的应用场景,为深入研发各类商业业务逻辑提供了基础支撑。
JSON进行流程定义的配置,告别XML配置文件的冗杂|模块名称|说明||-|-||a-flow|流程定义、流程实例||a-flownode|流程节点(活动节点)||a-flowtask|流程任务|
业务流程和审批流程Atom三生三世结合,内置了一套基于Atom的审批工作流。参见:原子阶段(三生三世)表单验证结合,支持分别配置不同流程节点的读取字段权限和修改字段权限。参见:表单验证AOP机制定制工作流逻辑Listener机制定制工作流逻辑流程节点的定制开发测试驱动代码,可快速上手使用工作流采购订单流程定义,然后提交,草稿进入相应的审批流程归档src/module/test-flow/backend/src/config/static/flowDef/set00_simple.js
{
listener: null,
process: {
nodes: [
{
id: 'startEvent_1',
name: 'Start',
type: 'startEventNone',
},
{
id: 'endEvent_1',
name: 'End',
type: 'endEventNone',
},
],
edges: [
{
id: 'edge_1',
source: 'startEvent_1',
target: 'endEvent_1',
},
],
},
}src/module/test-flow/backend/src/config/static/flowDef/set01_atomUserTask.js
{
listener: null,
process: {
nodes: [
{
id: 'startEvent_1',
name: 'Drafting',
type: 'startEventAtom',
options: {
atom: {
module: moduleInfo.relativeName,
atomClassName: 'purchaseOrder',
},
conditionExpression: 'atom._flowDefKey==='set01_atomUserTask'',
},
},
{
id: 'activity_1',
name: 'Review',
type: 'activityUserTask',
options: {
assignees: {
// users: '1,2',
// roles: '1,2',
vars: 'flowUser',
},
confirmation: false,
bidding: false,
completionCondition: {
// passed: 1,
// rejected: '100%',
},
// rejectedNode:null,
// allowRejectTask: true,
// allowCancelFlow: false,
schema: {
write: [
'atomName',
{
name: 'description',
property: {
type: 'string',
ebType: 'text',
ebTitle: 'Description',
},
},
],
},
},
},
{
id: 'endEvent_1',
name: 'End',
type: 'endEventNone',
},
],
edges: [
{
id: 'edge_1',
source: 'startEvent_1',
target: 'activity_1',
},
{
id: 'edge_2',
source: 'activity_1',
target: 'endEvent_1',
},
],
},
}|名称|说明||-|-||startEventAtom|开始事件节点(起草):通过options.atom和options.conditionExpression与指定的Atom类型绑定,当指定的Atom提交时,会自动启动与之匹配的工作流定义||activityUserTask|用户任务节点:可对参与人、是否竞签、完成条件、读字段权限、写字段权限等进行指定||endEventNone|结束事件节点|
上一篇:微服务时代组件化和服务化的抉择
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9