zoukankan      html  css  js  c++  java
  • 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就会出现乱码的问题 仔细看文档的同学可能就知道 这是因为微信会返回图片二进制内容

      

      妈的 简直不要太坑啊  

      

    $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‘,

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

    
    
  • 相关阅读:
    正则表达式,re模块
    序列化(pickle,shelve,json,configparser)
    unity 模型 材质 贴图 关系;着色器属性
    Unity 控制public/private 是否暴露给Inspector面板
    Unity局部坐标系与世界坐标系的区别
    Unity脚本中可以引用的类型
    Unity 脚本挂载位置
    Unity 获取坐标函数 坐标转换函数
    Unity 烘焙的2种方式
    Unity官方宣传片Adam 播放地址
  • 原文地址:https://www.cnblogs.com/phpclass/p/10813537.html
Copyright © 2011-2022 走看看