以前做项目写文档经常用Visio,自己买了一台电脑的授权,用在了自己常用的工作电脑上。后来出差有点多,用笔记本写文档写的就有点多了,又舍不得再买一台电脑的Visio授权,所以就想找一个免费的、好用的绘制流程图的软件。
后来找到ProcessOn,一个免费的绘制流程图的网站,上面有不少免费模板,最多可以云存储9张图。但是9张图对我来说实在太少了,我就买了一年的会员,不记得是多少钱了,反正不多。后来会员到期,再想买,发现怎么都涨价到160一年了。于是我想,能不能用开源的的东西,快速做一个类似ProcessOn的网站,具体需求就两个:
所以就可以从这两方面找轮子了。
免费的流程图,首先我找到了draw.io。需要自己配置云存储,不过只支持国外的比如OneDrive或者Dropbox等,国内都不太好用。后了解到draw.io以及其他大部分流程图网站都是根据mxGraph的示例程序GraphEditor做出来的,因此他们的界面都基本一样,所以我也决定以这个为基础,辅以draw.io的部分组件。
然后就是云存储了,找一个开源的网盘系统就可以了,这样的系统很多,比如,Seafile,nextCloud等等。不过有一些条件,第一是要纯粹的Web系统,方便跟GraphEditor集成,第二是最好跨平台,第三是方便集成七牛云、阿里云OSS等大型公有云存储系统。最终采用了Cloudreve
系统架构其实就挺简单了:
数据层,首先是Cloudreve是用MySQL数据库的,因此系统使用MySQL数据库并继承了Cloudreve的绝大部分数据结构。本地文件存储和七牛云都可以拿来当做文件存储,这是可以共存的,目前本系统流程图文件使用本地文件存储,图片使用七牛云。
服务层主要继承于Cloudreve系统,简单修改了其中的文件和分享部分,更好的支持流程图文件。添加了图形处理和支付服务。
应用层分为基于Cloudreve的文件管理系统和基于GraphEditor的流程图编辑系统,两个系统基本独立,同时调用服务层的文件服务和图形服务。
整合过程中有几个细节:
源码
示例站
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。