第一次发专栏,分享一下本身的想法~json
概述:
这是我开发的一个公众号(服务号)的其中的一个功能,线下的,之前是经过用户分享本身的邀请码让用户发送给公众号达到邀请的目的,可是这种方式对用户来讲很麻烦,因而思考简化这一步骤,后来以为二维码是个不错的选择,通过思考,最终实现功能为:每一个用户得到一个专属的邀请二维码,当好友扫描你的二维码,邀请人便可得到积分奖励。api
要点:
主要是经过获取微信公众号的带参二维码实现,将邀请者的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; }
上面只是代码片断,其实看到前面的概述就能知道怎么作了,只是提供一个小思路,对于线下服务号开发的朋友仍是有帮助的吧,不作公众号开发在其余的线下领域,用扫描二维码方式邀请也是一个不错的方法。您有更好的建议或者有任何疑问,能够留言一块儿交流。post
博客:xumengcheng.comui