小程序资讯

微信小程序结合PHP生成二维码的几种方式介绍

小程序开发问题 2018-11-20 10:27:02 | 阅读:98
开发小程序也有一年多了,根据常见的情况,生成二维码还是经常用到。

比如扫码点餐小程序,需要为每一张桌子生成一个专属二维码用于区分不同桌号。

小程序不能直接分享到朋友圈或者通过其他非微信传播,但是可以生成一个二维码图片,用图片发送从而分享。如下图

微信分享图片

在小程序里生成分享图片目前有三种方式。

第一种,用小程序的画布canvas生成图片,然后直接保存画布画的图片到系统相册,根据笔者亲测,不太完美。
第二种,用PHP图片处理类生成图片,然后在小程序前端显示。
第三张,生成一个专属分享页面,引导用户截屏分享。

但不管是哪一种方式,都需要用到微信的生成二维码或者小程序码接口。

微信提供了三种方式生成,

createWXAQRCode 生成数量限制为10万的小程序二维码。
getWXACode生成数量限制为10万的小程序码。
getWXACodeUnlimit生成无数量限制的小程序码。

大家可以根据场景采用不同的方式。注意不同方式参数不一样,getWXACodeUnlimit方法的参数需要通过scene传递。

分享如下PHP生成无限制数量小程序码的代码

$AccessTokenModel = new \Api\Model\AccessTokenModel();
$access_token = $AccessTokenModel->get_token();
$url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$access_token;
$data['scene'] = 'id='.$goods_id.'&i='.$item_id.'&m='.$member_id;
$data['page'] = 'pages/detail/index';
$data['width'] = '280px';
$data_json = json_encode($data);
$result = sendCmd($url,$data_json);
$code_pic = 'Public/code/code-'.$id.'-'.$item_id.'.jpeg';
if(file_put_contents($code_pic,$result) > 0) {
   //生成成功处理
} else {
 //生成失败处理
}