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.serviceBean组件,请参见:安全沙箱
- 1async executeService({ bean, parameter })
| 名称 | 说明 |
|---|---|
| bean | Bean组件 |
| parameter | 参数 |
评论: