小程序二维数组赋值_PHP微信小程序生成带参二维码getwxacodeunlimit

60570c31fe0cae37450a8ef30bb30001.png

老板最近有点飘了,他要在PC端的网站放一个微信小程序的二维码,并且扫描这个二维码以后要跳到小程序对应的房源详情页。

这是微信官方给出的文档,连接地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html

方法一:生成小程序带参二维码

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

faea1ffd381c5147a97f6c20d6fd1c20.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;
}

第二步:请求微信获取二维码的接口:

官方文档如图:

0fc8fc17f9ac23a4112ee143b7313e79.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>';
}

f8fd0e92b5da6653e75586a1f3920731.png

不要慌张, 百度查了资料,这个是因为文件的读写权限问题,我们文件夹的权限通常是755,然后把文件夹权限修改成777就可以了。

说老板有点飘了,确实就是止不住了,方形的二维码嫌丑,非得让我搞一个圆形的漂亮一点的小程序码。。。。。由于房源的数量比较多,所以就选择了wxacode.getUnlimited这个接口。

首先第一步同样的是先要获取access token;

同上,就不多说了;

微信官方给的文档:

a207672e83c4e8bcc1fff26b31228d51.png

fa70490e91125d68dcc8e687aefdbd37.png

虽然可以通过scene来传递很多的参数,但是在实际传参数的过程中页出现了很多问题,我之前传递的参数,他接受不到,虽然至生成了二维码,也跳转到了详情页面,就是个空页面,对应的房源id并没有传递过去。。。

请求参数scene也只做了简单说明

8c5202dd0ab96855bb041b2b8629c16d.png

看得小姐姐是一脸懵逼,在scene参数这里也出现了很多问题,在网上找了好久的技术贴还是么有找到合适的demo.这也是我为什么非要下定决心去写这篇博客要去知道更多人的原因。

小姐姐的代码来喽

public function xcxCode() {
$id = trim($this->request->param('id','5084','intval'));
$access_token = $this->getAccessToken();
$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" . $access_token;
$data['scene'] = 'h' . $id;
//小程序的详情页路径
$data['path'] = 'pages/detail/detail';
//二维码大小
$data['width'] = '430';
$res = $this->http($url, json_encode($data),1);
$path = 'uploads/qrcode/h' . $id . '.jpg';
file_put_contents($path, $res);
$return['status_code'] = 2000;
$return['msg'] = 'ok';
$return['img'] = 'https://公司域名.com/' . $path;
echo '<img src="'.$return['img'].'" />';exit;
echo json_encode($return);exit;
}

小程序码经历千辛万苦终于出现在了我的面前。

小程序生成带参数的二维码【小程序的圆形码】保存成jpg图片上传到服务器

5d184e6b2926b14ef1a186d9ab1d2bbe.png

如果还不觉得明白的,可以联系小姐姐咨询技术问题或者索要源码。

不知到会不会对后面看到的程序员们一点指引。也算是贡献一点余热了。哈哈哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值