1. 程式人生 > >微信小程式生成二維碼,並且進行傳參。

微信小程式生成二維碼,並且進行傳參。

微信小程式生成二維碼

第一步.首先我們需要去拿到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物件
}

第三步,二維碼儲存到本地伺服器,方便使用。