许久未更新文章,近期也是相当忙碌,有兴趣可以了解下我们的最新项目:Gadmin企业级开发平台
今天我们的教程是:Tpflow工作流引擎-网关模式详解
解决问题:
现在前后端,APP,小程序都是主流,应用多分离,模块多,都是趋势。之前的3.X版本是不能解决这些问题的。
思路与代码:
Tpflow在5.0推出了数十个的API接口(详细看文档及视频教程)
我们如何在移动端,管理后台来统一调用工作流引擎,下面直接上代码:
在Tpflow配置中,我们开启网关模式:'gateway_mode' =>2,//1,默认使用Tp的助手函数
'gateway_action' =>'\\sys\\Gateway',//自定义方法返回数据 命名空间 中的GetUserInfo
然后呢,我们在extend目录下,新建:sys/Gateway.php 文件。
下面看下:文件源代码:
namespace sys;
use app\api\controller\Oauth;
class Gateway {
public function GetUserInfo(){
$app = app('http')->getName();
if($app =='api'){
$oauth = app('app\api\controller\Oauth');
$userinfo = $oauth->authenticate();;
return ['uid'=>$userinfo['uid'],'role'=>$userinfo['role']];
}
if($app =='gadmin'){
return ['uid'=>session('softId'),'role'=>session('sfotRoleId')];
}
}
}
?>
解析:
我们通过对应用的判断,如果是API接口,我们实例化API接口,从接口返回给工作流对应的用户权限及用户信息。这样就能确保工作流的正常运行。
同时我们还需要确保 原来后台模块的运行,仍然是吧,session 数组传递给 工作流即可。
相关链接
本文为逆天的蝈蝈的文章,转载无需和我联系,但请注明cojz8.com