PHP實現生成帶參小程序二維碼進入指定頁面并存儲本地(dì / de)文件 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關 >

PHP實現生成帶參小程序二維碼進入指定頁面并存儲本地(dì / de)文件

發表時(shí)間:2020-9-29

發布人(rén):融晨科技

浏覽次數:52

重點:使用小程序二維碼必須先發布小程序!!!

PHP代碼

1.獲取access_token
public function Atoken(){
 	$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的(de)APPID&secret=你的(de)Appsecret';
 $token = json_decode(getUrl($url),true); //使用CURL GET方法進行請求并将返回的(de)JSON轉成數組處理
 //以(yǐ)下根據自己邏輯進行整理不(bù)做過多解釋,過期時(shí)間爲(wéi / wèi)2小時(shí) 建議存儲起來(lái)。
}
2.生成小程序二維碼
	/*
     *  生成小程序二維碼
     * 	$code String  生成二維碼中的(de)參數
     * */
    private function createQR($code){
    	//Atoken() 公共方法 傳入access_token
        $URL = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$this->Atoken();
        //索引鍵必須一緻
        $data = [
            'scene' => $code, //二維碼傳入參數
            'page' => 'pages/my/inviteFriends/inviteFriends', //掃碼後進入頁面
        ];
        $json = json_encode($data); //數組加密
        $result = postUrl($URL,$json); 	//用CURL 進行POST請求
        if(isset($result['errcode'])){ //查看文檔錯誤代碼
            return false;
        }
        //沒有出(chū)現錯誤代碼 會返回二進制文件流,可以(yǐ)轉成base64直接使用也(yě)可以(yǐ)轉成file
        //以(yǐ)下是(shì)将二進制流轉成file并寫入本地(dì / de)
        $data = date('Ymd'); 
        $path = $path = ROOT_PATH.'public/Qrcode/'.$data; //ROOT_PATH 我使用的(de)是(shì)TP5框架
        if(!file_exists($path)){ //判斷目錄是(shì)否存在(zài)
            mkdir($path); 
        }
        $filename = md5($code);
        $path = $path.'/'.$filename.'.png'; //最後要(yào / yāo)寫入的(de)目錄及文件名
        //  創建将數據流文件寫入我們創建的(de)文件内容中
        $ifp = fopen( $path, "w" );
        fwrite( $ifp, $result );
        fclose( $ifp );
        return $path; //路徑根據自身需要(yào / yāo)返回
    }

最後生成二維碼

在(zài)這(zhè)裏插入圖片描述

前端測試

在(zài)這(zhè)裏插入圖片描述

打開生成的(de)小程序二維碼

scene 字段的(de)值會作爲(wéi / wèi) query 參數傳遞給小程序/小遊戲。
用戶掃描該碼進入小程序/小遊戲後,開發者可以(yǐ)獲取到(dào)二維碼中的(de) scene 值,再做處理邏輯。
調試階段可以(yǐ)使用開發工具的(de)條件編譯自定義參數 scene=xxxx 進行模拟。
開發工具模拟時(shí)的(de) scene 的(de)參數值需要(yào / yāo)進行 encodeURIComponent

Page({
 >(query) {
    // scene 需要(yào / yāo)使用 decodeURIComponent 才能獲取到(dào)生成二維碼時(shí)傳入的(de) scene
    const scene = decodeURIComponent(query.scene)
  }
})

更多功能查看 官方文檔。

歡迎大(dà)神指教

相關案例查看更多