分销关系绑定调整为全局都会触发绑定实战分享

137 阅读1分钟

下面以crmeb pro版为例整体调整思路:

1、移动端(uniapp)所有请求都带上上级推广人uid参数标识

2、后台移动端api增加获取推广人uid修改绑定关系中间键  

具体修改如下:

1、view/uniapp文件:/utils/request.js

引入cache.js

  image.png

全局请求增加参数spid(推广人标识);

  image.png

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

引入中间键:

image.png

注意项:

UserSpreadMiddleware.php文件复制到app/http/middleware/api/

H5、小程序需要重新打包;

重启swoole

需要调整测试绑定效果以及可行性