1. 程式人生 > >php 生成小程式碼

php 生成小程式碼

本文呼叫的是介面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:返回的二進位制圖片內容

四、最後把生成檔案的路徑,寫到資料庫就行了