中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php生成小程序二維碼亂碼的解決方法

發布時間:2021-12-02 10:03:04 來源:億速云 閱讀:357 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關php生成小程序二維碼亂碼的解決方法的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

php生成小程序二維碼亂碼的解決辦法:1、獲取微信token;2、添加“base64_encode($res);”;3、獲取二維碼參數;4、請求后臺交互,并將參數傳過去即可。

本文操作環境:windows7系統、PHP7.4版、DELL G3電腦

php微信小程序生成二維碼,出現亂碼,{"errcode":44002,"errmsg":"empty post data"},'{"errcode":41001,"errmsg":"access_token missing hint: [OoC.2a0822e255]"}',以及其他的坑

微信小程序的坑簡直比我的頭發還多,今天下午獲取微信二維碼,遇到的44002,41001,還有圖片沒法正常顯示以及小程序參數獲取的問題,接下來一一解決

首先獲取微信token然后再獲取二維碼這個沒什么好說的 直接上代碼

public function getQRcode()
{
    $appid = '';
    $secret = '';
    $access_token = json_decode(file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$secret),true)['access_token'];
    $url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=$access_token";
    $ch = curl_init();
    $data = json_encode(['scene' => '&id='.$this->user_id]);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 'image/gif');
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data)
    ));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //如果需要將結果直接返回到變量里,那加上這句。
    $res = curl_exec($ch);
   }

  雖然已經獲取到了小程序二維碼  但是此時打印$res就會出現亂碼的問題 仔細看文檔的同學可能就知道 這是因為微信會返回圖片二進制內容

  php生成小程序二維碼亂碼的解決方法

  媽的 簡直不要太坑啊

$data = 'data:image/jpeg;base64,'.base64_encode($res);//補全base64加密字符串頭
$html = "<!DOCTYPE html>
        <html lang='en'>
        <head>
            <meta charset='UTF-8'>
            <title>二維碼</title>
        </head>
        <body>
        <img src='$data'>
        </body>
        </html>";
echo $html;
exit;

在代碼上加上這一句 可以轉換 直接輸出圖片


ok  二維碼已經出來了 接下來就是獲取二維碼參數  比如參數為id=1

獲取二維碼參數還是比較簡單的 微信二維碼指向首頁  
然后在index.js編寫

然后請求后臺交互 將參數傳過去 ,本來后臺接口已經寫好了 我想今天的工作可以告一段段落了,尼瑪沒想到檢查數據的時候發現id根本沒有獲取到

在本地測試的時候可以

  php生成小程序二維碼亂碼的解決方法

    這樣操作開發工具 就會獲取到參數  接著去后臺打印的時候你就會發現你傳過去的參數根本不是1,而是{‘id’:'1'},我日 就沒遇到過他們這種的

    所以如果本地測試的話還得需要進行一下操作 兄弟我是直接被征服了  隨便截取了一下1前邊的7個字符 后邊的2個字符 這樣才得到完整’1‘,

感謝各位的閱讀!關于“php生成小程序二維碼亂碼的解決方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

宝丰县| 宽甸| 胶南市| 文水县| 门头沟区| 文化| 安顺市| 五河县| 静宁县| 灵璧县| 澄江县| 哈密市| 辉南县| 平原县| 广南县| 离岛区| 兴隆县| 邳州市| 肇东市| 托克托县| 团风县| 永修县| 胶南市| 绥宁县| 惠东县| 德化县| 伊通| 富宁县| 上思县| 西乌珠穆沁旗| 彭州市| 东安县| 鞍山市| 宁陕县| 霍邱县| 皋兰县| 陇西县| 乌审旗| 遂平县| 博白县| 临夏县|