您好,登錄后才能下訂單哦!
小編給大家分享一下小程序如何生成參數二維碼,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
參數二維碼,顧名思義,就是帶參數的二維碼。因為參數不是固定不變的,所以帶參二維碼需要根據參數進行變動,根據不同的參數生成不同的二維碼。
參數二維碼在很多小程序中都會用到。比方說,如果是一款簡歷制作的小程序,很可能需要給用戶提供這樣的功能:上傳自己的簡歷,生成屬于自己的二維碼。又比如說,一款在線相冊制作的小程序,在用戶結束制作之后需要提供二維碼給用戶,這樣任何人都可以掃碼查看相冊內容。這些就是參數二維碼的真實應用場景。在今天的小程序開發教程中,我們就來講解一下微信小程序如何生成參數二維碼。
首先,微信官方獲取小程序頁面api的接口地址如下:
https://api.weixin.qq.com/cgi-bin/wxapp/createwxaqrcode?access_token=ACCESS_TOKEN
由于小程序參數二維碼API提供的幫助有限,以下是我的操作方法。我主要通過thinkphp的后臺接口來實現。具體代碼如下:
步驟一,先獲取ACCESS_TOKEN
$tokenUrl=https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=.$this->appid.&secret=.$this->secret; $getArr=array(); $tokenArr=json_decode($this->send_post($tokenUrl,$getArr,GET)); $access_token=$tokenArr->access_token;
send_post:
function send_post($url, $post_data,$method=\'POST\') { $postdata = http_build_query($post_data); $options = array( \'http\' => array( \'method\' => $method, //or GET \'header\' => \'Content-type:application/x-www-form-urlencoded\', \'content\' => $postdata, \'timeout\' => 15 * 60 // 超時時間(單位:s) ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; }
步驟二,生成二維碼:
$path=pages/index?query=1; $width=430; $post_data=\'{path:\'.$path.\',width:\'.$width.\'}\'; $url=https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=.$access_token; $result=$this->api_notice_increment($url,$post_data);
api_notice_increment:
function api_notice_increment($url, $data){ $ch = curl_init(); $header = Accept-Charset: utf-8; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, POST); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_USERAGENT, \'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)\'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $tmpInfo = curl_exec($ch); // var_dump($tmpInfo); // exit; if (curl_errno($ch)) { return false; }else{ // var_dump($tmpInfo); return $tmpInfo; } }
步驟三,根據返回的二進制數據生成圖片并上傳到自己的服務器
file_put_contents($filepath, $result)
不同的人使用的服務器不一樣,這個涉及到隱私,上傳部分的代碼就不貼了。
看完了這篇文章,相信你對“小程序如何生成參數二維碼”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。