获取带参数的小程序二维码

微信小程序二维码官方文档地址https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html

php具体实现代码:

/*
 * 生成带参数的小程序二维码
 **/
public function getQRCode($auth)
{
    // 获取access_token
    $access_token = json_decode(file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $applet['appid'] . '&secret=' . $applet['appsecret']));
    if (!isset($access_token)) {
        return false;
    }

    // 拼接微信服务端获取二维码需要的url
    $url = 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' . $access_token;
    $data['auth'] = $auth;
    $data['path'] = "pages/index/index";
    $json = json_encode($data);
    $result = $this->api_notice_increment($url, $json);
    header('Content-Type: image/jpeg');
    echo $result;
    die;
}


public function api_notice_increment($url, $data)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $tmpInfo = curl_exec($ch);
    if (curl_errno($ch)) {
        curl_close($ch);
        return $ch;
    } else {
        curl_close($ch);
        return $tmpInfo;
    }
}
 
 

tip:
1:此种方式采用的微信生成二维码的方法一,数量有限,好处path长度够长128,能传递绝大部分加密后的信息
2:如果不需要加密,或者加密后字符串长度在32位以内,方法二是最好选择,生成数量没有限制。

最后附上进入小程序页面后参数接收方法:

onLoad: function (options) {
  this.getParamsCode(options);
},
//获取二维码参数
getParamsCode: function (options) {
  if (options.auth != undefined) {
    app.globalData.pcUserInfo = {auth: options.auth}
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值