默认分类

PHP后端代码生成微信小程序带参数的二维码保存成jpg图片上传到服务器getwxacodeunlimit【附源码】

老板最近有点飘了,他要在PC端的网站放一个微信小程序的二维码,并且扫描这个二维码以后要跳到小程序对应的房源详情页。
这是微信官方给出的文档,连接地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html
方法一:生成小程序带参二维码

【方形码】如图:官方给出的文档说的很简单,页没有个demo.可能是给大佬看的,像我这种一般的程序员看起来还是有点困难。

qqqqqqqqqqqq8.png

【系统环境】
小姐姐这边的系统环境是Linux系统,nginx的服务器,thinkPHP5.6的框架。
实现代码如下:
根据微信官方的步骤;
第一步:要先获取调用API接口的accesstoken;

 public function getAccessToken(){
    $appid = '公司的小程序appid';
    $secret = '公司的小程序sercret';
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
    $res = json_decode($this->httpGet($url));
    $access_token = @$res->access_token;
    return $access_token;
}

第二步:请求微信获取二维码的接口:
官方文档如图:
QQ截图20191205215051.png

小姐姐代码:

 public function getXcxCode(){
    //获取access token
    $ACCESS_TOKEN = $this->getAccessToken();
    //创建二维码
    $qcode ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=".$ACCESS_TOKEN;
    $param = json_encode(array("path"=>"pages/detail/detail?id=5084","width"=> 150));
    $result = $this->httpRequest( $qcode, $param,"POST");
    $path = 'uploads/qrcode/h.jpg';
    file_put_contents($path, $result);
    $return['status_code'] = 2000;
    $return['msg'] = 'ok';
    $return['img'] = 'https://公司域名.com/' . $path;
    echo '<img src="'.$return['img'].'" />';exit;
    echo json_encode($return);exit;
    $base64_image ="data:image/jpeg;base64,".base64_encode( $result );
    return '<image src='.$base64_image.'></image>';
}

有个问题是,官方给的返回的二维码是一个base64的图片,但是这种图片在保存的时候很不方便,就需要我们把base64的图片转化成png.或者jpg格式的图片进行保存。本以为这样子就可以大功告成,下班去约会了,窃喜中,没想到

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

支付宝扫一扫,向我赞赏

回复

This is just a placeholder img.