微信小程式生成二維碼,並且進行傳參。
微信小程式生成二維碼
第一步.首先我們需要去拿到Token值 第一步是一個比較常規的操作,未遇到大的問題。
第二步.拿著Token進行換取二維碼
這一不是很關鍵的地方,騰訊用token換取二維碼的方法有三組介面A,B,C
我們推薦生成並使用小程式碼,它具有更好的辨識度。目前有兩個介面可以生成小程式碼,開發者可以根據自己的需要選擇合適的介面。
介面A: 適用於需要的碼數量較少的業務場景 介面地址:
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
介面B:適用於需要的碼數量極多的業務場景
介面地址:
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
介面C:適用於需要的碼數量較少的業務場景
介面地址:
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
本人使用的是B介面,遇到的問題是
1.二維碼在真機測試的時候圖片無法渲染出來,只限ios報的錯誤是Requestbegin就停止,
解決方案,把生成的二維碼圖片進行一個本地伺服器儲存
2.scene值沒有拿到
需要
3.掃碼開啟小程式接參
public function DoctorAccessToken(){
$appId = 'xxxxxxxxxxxxx';
$secret = 'xxxxxxxxxxxxxxxxxxxxxxx';
//建立請求資料
$url_token="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appId}&secret={$secret}";
$data_result = $this->curl_get_https($url_token);
$data_two = json_decode($data_result,TRUE);
$token = $data_two['access_token'];
$data = json_encode($data);
}
public function curl_get_https($url){
$curl = curl_init(); // 啟動一個CURL會話
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
// curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true); // 從證書中檢查SSL加密演算法是否存在
$tmpInfo = curl_exec($curl); //返回api的json物件
//關閉URL請求
curl_close($curl);
return $tmpInfo; //返回json物件
}
第三步,二維碼儲存到本地伺服器,方便使用。