知識
不管是網(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)案例查看更多
相關(guān)閱讀
- 云南電商網(wǎng)站建設(shè)
- 小程序退款
- 小程序
- 百度小程序開發(fā)
- 迪慶小程序開發(fā)
- 網(wǎng)站建設(shè)需要多少錢
- .net網(wǎng)站
- 退款
- APP
- 手機網(wǎng)站建設(shè)
- 百度小程序公司
- 小程序表單
- 小程序設(shè)計
- 網(wǎng)站排名優(yōu)化
- 昆明軟件定制公司
- 制作一個小程序
- 汽車報廢管理
- 云南網(wǎng)站建設(shè)案例
- 報廢車拆解軟件
- 汽車回收管理系統(tǒng)
- 云南小程序被騙
- 小程序技術(shù)
- 搜索引擎自然排名
- 云南小程序定制
- 云南網(wǎng)站建設(shè)快速優(yōu)化
- 云南網(wǎng)站建設(shè)百度官方
- 國內(nèi)知名網(wǎng)站建設(shè)公司排名
- 昆明做網(wǎng)站
- 日歷組件
- 昆明小程序開發(fā)聯(lián)系方式