CabloyJS将流程逻辑数据状态进行分离,一方面架构清晰,另一方面数据状态可以便利的在整个流程中流转,同时也可以安全的在安全沙箱中被访问

这些数据状态集中在一个对象中,称之为环境对象

CabloyJS中的工作流引擎层次分明,不同层级的逻辑实体都有对应的 环境变量,一般而言约定如下:

名称 说明
context 流程实例的环境变量
contextNode 活动节点的环境变量
contextEdge 转移线的环境变量
contextTask 用户任务的环境变量

在这里,我们重点对流程实例的环境变量进行说明,其具体声明请参见如下源码文件:

src/module-system/a-flow/backend/src/bean/local.context.flow.js

context

名称 说明
_flowDef 流程定义的model对象
_flowDefContent 流程定义的内容对象
_flowId 流程实例Id
_flow 流程实例的model对象
_flowHistory 流程实例的model对象(历史)
atom 业务原子对象
vars 变量对象,作用域为流程实例
utils 工具对象

vars

- get

获取变量值

get(names)
名称 说明
names 允许.级联变量名,如x.y.z

- set

设置变量值

set(names, value)
名称 说明
names 允许.级联变量名,如x.y.z
value 变量值

utils

- executeService

执行flow.serviceBean组件,请参见:安全沙箱

async executeService({ bean, parameter })
名称 说明
bean Bean组件
parameter 参数