第一次发专栏,分享一下自己的想法~
概述:
这是我开发的一个公众号(服务号)的其中的一个功能,线下的,以前是通过用户分享自己的邀请码让用户发送给公众号达到邀请的目的,但是这种方式对用户来说很麻烦,于是思考简化这一步骤,后来觉得二维码是个不错的选择,经过思考,最终实现功能为:每个用户获得一个专属的邀请二维码,当好友扫描你的二维码,邀请人即可获得积分奖励。
要点:
主要是通过获取微信公众号的带参二维码实现,将邀请者的ID加密后POST到微信生成一个带参二维码,被邀请人扫描带参二维码经过逻辑处理获取邀请人ID。
代码:
//new一个对象
$wechatObj = new WechatApi();
//code是标识符
$contentStr = 'code'.$uid;
//尝试从缓存中获取ticket
$ticket = cache_get('ticket'.$contentStr);
if(empty($ticket)){
$json = '{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": '.$contentStr.'}}}';
//实际上就是将上面那段json POST到微信的接口
$ticket = $wechatObj->getTicket($json);
//将获取到的ticket缓存起来,方便后面直接读取
cache_set('ticket'.$contentStr, $ticket, 604800);
}else{
$ticket = cache_get('ticket'.$contentStr);
}
public function getTicket($postdata){
$otherObj = new OtherApi();
$token = $this->getAccessToken();
$url="https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=".$token;
$ticket = $otherObj->https_request($url,$postdata);
return $ticket;
}
上面只是代码片段,其实看到前面的概述就能知道怎么做了,只是提供一个小思路,对于线下服务号开发的朋友还是有帮助的吧,不做公众号开发在其他的线下领域,用扫描二维码方式邀请也是一个不错的方法。您有更好的建议或者有任何疑问,可以留言一起交流。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。