1. 程式人生 > >laravel生成微信公眾號帶引數二維碼並響應掃描帶引數二維碼

laravel生成微信公眾號帶引數二維碼並響應掃描帶引數二維碼

微信公眾號後臺ip白名單、網頁介面域名之類的配置就不多說了,這裡主要配置的是開發->基本配置->伺服器配置(注:一旦啟用改配置,公眾號自動回覆就會失效):

1.伺服器地址(URL):這裡要填寫你的後臺能夠接收到使用者事件訊息的地址,以後會在這裡處理掃描帶引數二維碼的事件

2.令牌(Token):這裡用於驗證我們的伺服器

3.EncodingAESKey:訊息加密金鑰

4.訊息加密方式:這裡在最開始配置的時候建議使用明文

以上配置使用邏輯可參考連結:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5

然後就是啟用配置了,在啟用配置之前,我們需要在填寫的url的處理中加入相應處理邏輯程式碼,可參考https://www.easywechat.com/docs/zh-CN/server,如果你的easywechat版本是3.x,請記得切換版本,程式碼不一樣

以上內容配置成功後,我們就可以搞定生成二維碼功能了:

$result = \Curl::to('https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=' . $app->access_token->getToken())
    ->withData(json_encode
([ 'expire_seconds' => 3600*100*10, "action_name"=> "QR_STR_SCENE", "action_info"=> [ "scene"=> ["scene_str"=> 'test'] ] ])) ->post(); $file = \Curl::to('https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($result->ticket))->get(); return response
($file, 200)->header('Content-Type', 'image/jpg');
向微信伺服器申請ticket,注意臨時二維碼的ticket是有過期時間的,拿到ticket之後,我們就可以用ticket去向微信伺服器換取二維碼了。參考連結:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1443433542