之前直接使用Camunda自带的流程建模设计器,流程建模输出的是xml,所有的信息,包括流程的名称、编码、分类等流程定义信息,都是放在xml里的。
前端传给后端一个xml数据,后端Camunda引擎解析xml后将流程持久化下来。
Camunda自带的流程设计器虽然是符合BPMN2.0规范,但对用户并不友好,有大量的冗余的配置信息需要设置。
对于流程设置不友好的问题,国内钉钉另行设计与实现了一套流程建模模式,跟bpmn规范无关,有人仿照实现了下,并做了开源(https://github.com/StavinLi/Workflow-Vue3),效果图如下:
实现大致原理是基于无限嵌套的子节点,输出json数据,传给后端,后端进行解析后,调用Camunda引擎的api,转换