生成帶參數的微信小程序二維碼用的還是比較多的,雖然
微信小程序開發文檔接口寫的很清楚,如下圖,但實際開發中總有人不知道如何操作或者經常出錯,下面創新互聯根據微信小程序定制開發經驗,分享使用ThinkPHP生成微信小程序帶參數二維碼的整個過程。
第一步、需要獲取ACCESS_TOKEN,需要小程序的APPID和APPSECRET,這兩個只要到微信小程序管理后臺即可獲得。
第二步、使用
微信小程序開發接口生成二維碼并保存到服務器。代碼如下,其中sendCmd是遠程請求的函數,file_put_contents是PHP自帶函數,用于保存圖片,【APPID】和【APPSECRET】請換成你自己的實際參數值。
$url_access_token = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=【APPID】&secret=【APPSECRET】;
$json_access_token = sendCmd($url_access_token,array());
$arr_access_token = json_decode($json_access_token,true);
$access_token = $arr_access_token['access_token'];
if(!empty($access_token)) {
$url = 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token='.$access_token;
$data = '{"path": "pages/index/index?shop_id='.$shop_id.'&no_id='.$no_id.'", "width": 430}';
$result = sendCmd($url,$data);
file_put_contents('Public/code/code-'.$shop_id.'-'.$no_id.'.jpg',$result);
return 'success';
} else {
return 'ACCESS TOKEN為空!';
}
/**
* 發起請求
* @param string $url 請求地址
* @param string $data 請求數據包
* @return string 請求返回數據
*/
function sendCmd($url,$data)
{
$curl = curl_init(); // 啟動一個CURL會話
curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢測
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 從證書中檢查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:')); //解決數據包大不能提交
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 發送一個常規的Post請求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的數據包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設置超時限制防止死循
curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 執行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);
}
curl_close($curl); // 關鍵CURL會話
return $tmpInfo; // 返回數據
}
當前文章:ThinkPHP生成微信小程序帶參數二維碼附詳細代碼解析
URL鏈接:http://m.newbst.com/news41/242291.html
網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有微信小程序等
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯