或许可以看看bpmn-js
BPMN(Business Process Modeling Notation)是由业务流程管理倡议组织BPMI(The Business Process Management Initiative)开发的一套标准的业务流程建模符号规范。其目的是为用户提供一套容易理解的标准符号,这些符号作为BPMN的基础元素,将业务流程建模简单化、图形化,将复杂的建模过程视觉化,让业务建模者、业务实施人员、管理监督人员对BPMN描述的业务流程都有一个更加清晰明了的了解。
BPMN的主要意义在于其作为一个标准,业务相关者都按照这个标准来绘制业务流程图,能够减少各方对于流程图的理解歧义,从而达到高效协作的目的
bpmn-js就是基于BPMN标准实现的一套渲染工具包和web建模器
参考文档: BPMN工作流中文落地实践教程
参考Demo: https:// bpmn.ops-coffee.cn/
参考源码: BPMN Demo 源码
一般会使用 svg 来实现,典型的产品包括 http:// draw.io ,可以借助一些 svg 库来简化实现,比如 snap.svg 或者 svg.js,这块的产品有 nobook 的电路图实现。当然也有 canvas + div 的实现方案,典型的产品包括 processon。扒下站点的代码,可以看到大致的实现思路。