当前位置:首页 > PHP > 正文内容

laravel个推设置别名

陈杰8个月前 (09-24)PHP1262

上一篇文章我们说过了怎么用laravel接个推的官方sdk实现个推推送和厂商离线推送,因为我们要用到别名推送,而前端又用到的是unipush,在前端去绑定别名的难度肯定要大一点,所以就有一个思路就是,当用户登录的时候,前端获取到个推的clientId,然后通过接口让后端来帮忙实现绑定别名。


image.png

直接上代码吧


用到的是个推的官方sdk

composer  require  getuilaboratory/getui-pushapi-php-client-v2

加载一下吧。

public function unbind_push(Request $request)
{
   $config = ConfigModel::get_config();
   $api    = new \GTClient("https://restapi.getui.com", $config["push_appkey"], $config["push_appid"], $config["push_mastersecret"]);
   $params = new \GTCidAlias();
   $params->setCid($request->input("clientid"));
   $params->setAlias($request->get("uid"));
   $cidAliasListRequest = new \GTAliasRequest();
   $cidAliasListRequest->addDataList($params);
   $ret = $api->userApi()->unBindAlias($cidAliasListRequest);
   return self::returnMsg($ret);
}

public function bind_push(Request $request)
{
   $config = ConfigModel::get_config();
   $api    = new \GTClient("https://restapi.getui.com", $config["push_appkey"], $config["push_appid"], $config["push_mastersecret"]);
   $params = new \GTCidAlias();
   $params->setCid($request->input("clientid"));
   $params->setAlias($request->get("uid"));
   $cidAliasListRequest = new \GTAliasRequest();
   $cidAliasListRequest->addDataList($params);
   $ret = $api->userApi()->bindAlias($cidAliasListRequest);
   return self::returnMsg($ret);
}

要用到绑定别名相应的,当用户退出登录的时候也要用到解绑别名吧,所以两个方法,实际上前面都一样的,就是userApi中用到的一个是unBindAlias一个是bindAlias而已。

		// #ifdef APP-PLUS
		let client = plus.push.getClientInfo()
		this.post("/user/bind_push", client).then(res => {
		})
		// #endif

这个是前端uniapp的获取cilentId的方法

扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由何烦过虎溪发布,如需转载请注明出处。

转载请注明出处:http://95shouyou.com/?id=43

分享给朋友:

相关文章

laravel实现微信公众号授权登录实战

微信公众号授权登录实战框架:laravel依赖:overtrue/wechat首先安装一下easywechat依赖composer require overtrue/wechat:...

Lumen框架报错Cannot declare class Event, because the name is already in use

Lumen框架报错Cannot declare class Event, because the name is already in use

Lumen框架报错信息Cannot declare class Event, because the name is already in use(1/1) ErrorExceptionCa...

laravel跨库多态关联实战

laravel跨库多态关联实战

点赞记录表做了分库分表,位于副库里面表结构该点赞表关联了8个不同的表,因为业务原因,评论回复表有四个板块,所以做了4个评论记录表,4个回复记录表,且结构有细微不同。目标是用户获得被点赞记录,根据不同的...

利用workerman实现webrtc实时音视频通话

利用workerman实现webrtc实时音视频通话

实现原理利用workerman的websocket实现实时消息传递。webrtc自带p2p功能,利用STUN中继服务器实现webrtc实时音视频看看我们的前端文件,只是一个单页面<html>...

Lumen框架报错Class session does not exist

Lumen框架报错Class session does not exist

由于lumen框架是为速度而生的 Laravel 框架,所以移除了session的支持,虽然在ide中代码提示可以敲出Session::put()方法出来,但是最终还是提示的是Class sessio...

七牛云删除文件和批量删除文件

在项目中因为用到了七牛云的对象存储,价格公道,也降低我们的项目维护成本。但是在实际使用过程中,例如用户换了头像我们就需要删除用户之前的头像,以降低我们的存储成本。所以研究了一下七牛云的删除单个文件和批...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。