## 写在前面的话
```
致亲爱的Tpflow用户:
首先感谢你们一路的支持,Tpflow上线以来收货颇多,这也是开源平台第一个工作流开源项目,
我们希望做得更好。我们深知这非常不容易,目前团队只有一个人开发,希望有志之士的加入!
希望各路大神,一起完善,改进这个开源的工作流。不管是公司,还是个人,UI前端,还是后端,
若有建议,不妨提出。开源精神,与君共勉!
蝈蝈
2018.07.19
```
>[info] ### API 文档说明(此文档在看云的基础上进行精简,更适合快速开发)
>[danger] ## 由于版本更替,可能会略有不同,请自行注意。
### 本插件基于Thinkphp 5.1开发,请关注官方手册!
>[info] #### 数据库开发说明
~~~
flow 流程主表 //流程主表主要记录流程名称
flow_process 流程附表(详细步骤表) //主要字段:process_to(下一步骤)
out_condition(转出条件,SQL)
run 流程运行主表 //运行后主要记录这张表
run_process 流程运行步骤表 //运行步骤,关联运行主表
run_sign 流程运行会签步骤表
run_cache 流程运行缓存表
run_log 流程运行日志表
~~~
>[info] #### 文件说明
~~~
Flow.php \application\index\controller //前端控制器,权限控制(验证按钮审核权限)
workflow.php \extend\workflow\ //工作流入口文件,核心驱动
TaskService.php \extend\workflow\class\command //工作流服务文件,中间驱动(根据用户信息,选择对应的驱动服务)
~~~
>[info] #### 简单运行说明
~~~
第一步:工作流设计##//详见 Flowdesign.php
第二步:表单填写
第三步:选择工作流——>发起流程
$workflow = new workflow();
$flow = $workflow->getWorkFlow($wf_type); //获取本类工作流信息
$flow = $workflow->startworkflow($wf_id,$wf_fid,$wf_type); //直接发起工作流
第四步:审核单据发起——>获取工作流信息,获取下一个工作流信息——>日志记录——>发起消息通知
$workflow = new workflow();
$flowinfo = $workflow->workflowInfo($wf_fid,$wf_type); //工作流审核发起,获取当前及下一个审批流信息
$flowinfo = $workflow->workdoaction($config); //工作流审核发起保存
~~~
>[info] 附简要流程引导图
> ![](https://img.kancloud.cn/1f/8a/1f8a5430d794d8ccd567b89cbd92e4d8_995x903.png)