下面以crmeb pro版为例整体调整思路:
1、移动端(uniapp)所有请求都带上上级推广人uid参数标识
2、后台移动端api增加获取推广人uid修改绑定关系中间键
具体修改如下:
1、view/uniapp文件:/utils/request.js
引入cache.js
全局请求增加参数spid(推广人标识);
2、后台代码:文件夹:app/http/middleware/api/
创建文件:UserSpreadMiddleware.php。复制如下代码:
<?php
namespace app\http\middleware\api;
use app\Request;
use app\services\user\LoginServices;
use crmeb\interfaces\MiddlewareInterface;
*/*****
*** *全局修改绑定分销关系***
**** Class ClientMiddleware***
*** ***@package*** *app\http\middleware\api***
**/***
class UserSpreadMiddleware implements MiddlewareInterface
{
public function handle(Request $request, \Closure $next)
{
$spid = trim(ltrim($request->param('spid')));
//登录存在用户信息
$user = $request->hasMacro('user') ? $request->user() : [];
//更新绑定关系
if ($user && $spid) {
*/*** ***@var*** *LoginServices* *$loginServices* **/***
**$loginServices = app()->make(LoginServices::class);
$loginServices->updateUserInfo(['spread_uid' => $spid], $user);
}
return $next($request);
}
}
3、后台代码修改:文件:route/api.php
引入中间键:
注意项:
UserSpreadMiddleware.php文件复制到app/http/middleware/api/
H5、小程序需要重新打包;
重启swoole
需要调整测试绑定效果以及可行性