第一次發專欄,分享一下本身的想法~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