php 生成小程式碼
阿新 • • 發佈:2019-02-15
本文呼叫的是介面B,生成小程式碼。
這邊需要注意的是,呼叫微信官方生成的小程式碼,小程式必須要先發布,才能呼叫官方介面,不然會呼叫失敗!!
一、先get請求,獲取access_token
二、post請求,呼叫介面B
這裡注意的是,body傳遞的是 raw型別的json格式,如:{"scene":"123456789","page":"pages/index/index","width":"280"}
其他請求方式無法成功。
scene就是給小程式傳遞的引數值,page是小程式存在的頁面,width是生成小程式碼的寬度。
附上 raw格式的post請求方法:
public static function raw_post($url, $data_string) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'X-AjaxPro-Method:ShowList', 'User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36') ); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); $data = curl_exec($ch); curl_close($ch); return $data; }
如果呼叫成功,會直接返回圖片二進位制內容,如果請求失敗,會返回 JSON 格式的資料。
三、儲存小程式碼到本地
$wx_code = raw_post($url,$data_string);
$url是請求地址,$data_string就是body傳遞的json資料。
直接呼叫php的方法,把返回的二進位制圖片存到本地
file_put_contents($save_dir.$save_name,$wx_code);
$save_dir:定義的儲存目錄
$save_name:定義的檔名,記得帶上格式,如 .png
$wx_code:返回的二進位制圖片內容
四、最後把生成檔案的路徑,寫到資料庫就行了