如何实现分销关系全局自动绑定?实战技巧分享!
- 内容介绍
- 文章标签
- 相关推荐
本文共计430个文字,预计阅读时间需要2分钟。
以crmeb+pro为例,整体调整思路如下:
1. 移动端(uniapp)所有请求都带上上级推广人uid参数,以识别用户来源。
2.后台移动端api增加获取推广人uid的功能,修改绑定关系中间键。
3.具体调整如下:
1. view/uniapp文件中: - 在请求中加入上级推广人uid参数。 - 增加获取推广人uid的接口。下面以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
需要调整测试绑定效果以及可行性
本文共计430个文字,预计阅读时间需要2分钟。
以crmeb+pro为例,整体调整思路如下:
1. 移动端(uniapp)所有请求都带上上级推广人uid参数,以识别用户来源。
2.后台移动端api增加获取推广人uid的功能,修改绑定关系中间键。
3.具体调整如下:
1. view/uniapp文件中: - 在请求中加入上级推广人uid参数。 - 增加获取推广人uid的接口。下面以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
需要调整测试绑定效果以及可行性

