
流程接口
PRO 内置工作流插件 eflow,融合了 Webman 框架的轻量级特性与 Ingenious 工作流引擎的强大功能,该部分已经抽离成插件、为管理系统提供灵活的工作流解决方案。
eflow 插件
目录结构
plaintext
\---eflow
|
+---api
| |
| \---Install.php //基础层
| |
| \---Menu.php //菜单写入
| |
| \---WorkflowAPI.php //工作流接口
|
|---app //应用目录
| |
| \--- dao //数据操作目录
| |
| \--- extra //扩展类
| |
| \--- model //数据模型
| |
| \--- services //服务层
| |
| \--- functions.php //公共函数
|
|---config //配置目录
|
|---install.sql // sql
调用示例
php
/**
* 我的申请列表
* @param \support\Request $request
*
* @return \support\Response
*/
public function index(Request $request): \support\Response
{
$format = $request->input('format', 'normal');
$methods = [
'select' => 'formatSelect',
'tree' => 'formatTree',
'table_tree' => 'formatTableTree',
'normal' => 'formatNormal',
];
$service = new WorkflowAPI();
$format_function = $methods[$format] ?? 'formatNormal';
$result = $service->client('instance.list', (object)$this->removePrefixes($request->all()));
return call_user_func([$this, $format_function], $result['items'], $result['total']);
}
简单new 接口 调用即可,注意一定要有try catch习惯
相关文档
logic-flow 文档: https://logic-flow.cn/
laravel-orm 文档: laravel-orm
mysql 文档: mysql 8.0
vue3 设计器封装示列: https://gitee.com/motion-code/flow-designer
ingenious 文档: http://www.flow-docs.madong.tech/v2/README.html
结语
通过eflow接口,其他模块需要调用工作流减少80%的工作量,接口返回的都是模型对象通过组合可以实现更多功能。