欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

php生成小程序二維碼出現(xiàn)40001的情況 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當前位置>首頁 » 新聞資訊 » 小程序相關(guān) >

php生成小程序二維碼出現(xiàn)40001的情況

發(fā)表時間:2020-10-21

發(fā)布人:葵宇科技

瀏覽次數(shù):102

php生成小程序二維碼出現(xiàn)40001的情況

獲取二維碼時,小程序的access_token莫名奇妙失效了?
生成小程序二維碼時遇到的坑,明明剛獲取到的access_token,生成二維碼時總是提示說 "errcode: 40001, errmsg: “invalid credential, access_token is invalid or not latest hint: [IUwBwa07644522]”。這個access_token時靈時不靈

不廢話,直接說解決方案
出現(xiàn)獲取小程序二維碼經(jīng)常失敗偶爾成功或者偶爾失敗的情況,并提示40001。這個很大程度上是因為你的程序中有多個地方使用了獲取access_token的方法 會失效是其它地方刷新了assess_token導致在當前頁面刷新時和另一個地方?jīng)_突,導致token失效
解決方式就是將獲取access_token的方法統(tǒng)一管理,這樣將不會存在沖突

附上本人生成二維碼的部分代碼(使用tp5.1框架)

/**
     * @descr 得到小程序二維碼
     */
    public function getQrCode(){

        header('content-type:text/html;charset=utf-8');

        if (Session::get('access_token')){
            $token=Session::get('access_token');
        }else{
            $token = access_token();
        }

        $qcode ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".$token."";
        $param = json_encode([
            //"scene"=>"uid=".$this->app['userID'],
            "scene"=>"uid=21",
            "path"=>"pages/active-receive/index",
            //"width"=> 430
        ]);

        $result = Common::httpRequest($qcode,$param,"POST");
        //file_put_contents("qrcode.png", $result);
        $base64_image ="data:image/jpeg;base64,".base64_encode($result);

        return  $base64_image;
    }


function access_token(){
    $config = Config('weChat.');
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=". $config['WX_APPID']."&secret=".$config['WX_SECRET']."";
    $json = \tool\Common::httpRequest($url);
    $json = json_decode($json,true);
    Session::set('access_token',$json['access_token'],7200);
    return $json['access_token'];
}


//curl
    public static function httpRequest($url, $data='', $method='GET'){

        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
        if($method=='POST')
        {
            curl_setopt($curl, CURLOPT_POST, 1);
            if ($data != '')
            {
                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            }
        }

        curl_setopt($curl, CURLOPT_TIMEOUT, 30);
        curl_setopt($curl, CURLOPT_HEADER, 0);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($curl);
        curl_close($curl);
        return $result;
    }

分享一下自己的采坑經(jīng)歷,目的是為了大家不再重復我的錯誤。
寫的不好,請大家不要介意,謝謝

相關(guān)案例查看更多