首頁 >微信小程式 >小程式開發 >小程式產生參數二維碼的方法介紹

小程式產生參數二維碼的方法介紹

青灯夜游
青灯夜游轉載
2020-04-30 17:15:114029瀏覽

微信小程式如何產生參數二維碼?以下這篇文章跟大家介紹一下小程式產生參數二維碼的方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

小程式產生參數二維碼的方法介紹

參數二維碼,顧名思義,就是帶有參數的二維碼。因為參數不是固定不變的,所以帶參二維碼需要根據參數進行變動,根據不同的參數產生不同的二維碼。

參數二維碼在很多小程式中都會用到。比方說,如果是一款履歷製作的小程序,很可能需要給用戶這樣的功能:上傳自己的履歷,產生屬於自己的二維碼。又比如說,一個線上相簿製作的小程序,在用戶結束製作之後需要提供二維碼給用戶,這樣任何人都可以掃碼查看相簿內容。這些就是參數二維碼的真實應用場景。在今天的小程式開發教程中,我們就來講解一下微信小程式如何產生參數二維碼。

小程式產生參數二維碼的方法介紹

首先,微信官方取得小程式頁面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)

不同的人使用的伺服器不一樣,這個牽涉到隱私,上傳部分的程式碼就不貼了。

小程式產生參數二維碼的方法介紹

推薦:《小程式開發教學

以上是小程式產生參數二維碼的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jisuapp.cn。如有侵權,請聯絡admin@php.cn刪除