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
获取变量值
- 1get(names)
名称 | 说明 |
---|---|
names | 允许. 级联变量名,如x.y.z |
- set
设置变量值
- 1set(names, value)
名称 | 说明 |
---|---|
names | 允许. 级联变量名,如x.y.z |
value | 变量值 |
utils
- executeService
执行flow.service
Bean组件,请参见:安全沙箱
- 1async executeService({ bean, parameter })
名称 | 说明 |
---|---|
bean | Bean组件 |
parameter | 参数 |
评论: