微信小程序> php微信小程序生成二维码,出现乱码,{errcode:44002,errmsg:emptypostdata},{errcode:41001,errmsg:access_t...

php微信小程序生成二维码,出现乱码,{errcode:44002,errmsg:emptypostdata},{errcode:41001,errmsg:access_t...

浏览量:577 时间: 来源:ducode

微信小程序的坑简直比我的头发还多,今天下午获取微信二维码,遇到的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就会出现乱码的问题 仔细看文档的同学可能就知道 这是因为微信会返回图片二进制内容

  小程序

  妈的 简直不要太坑啊  

  

$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编写

onLoad (option) { console.log(option) }

然后请求后台交互 将参数传过去 ,本来后台接口已经写好了 我想今天的工作可以告一段段落了,尼玛没想到检查数据的时候发现id根本没有获取到

在本地测试的时候可以

  小程序

 

    这样操作开发工具 就会获取到参数  接着去后台打印的时候你就会发现你传过去的参数根本不是1,而是{‘id’:'1'},我日 就没遇到过他们这种的 

    所以如果本地测试的话还得需要进行一下操作 兄弟我是直接被征服了  随便截取了一下1前边的7个字符 后边的2个字符 这样才得到完整’1‘,

    尼玛,这个小程序简直不要太坑

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎