php生成传参小程序二维码

目前微信官方提供有生成三类码接口。
  • 接口 A: 适用于需要的码数量较少的业务场景
    • 生成小程序码,可接受 path 参数较长,生成个数受限,数量限制,请谨慎使用。
  • 接口 B:适用于需要的码数量极多的业务场景
    • 生成小程序码,可接受页面参数较短,生成个数不受限。
  • 接口 C:适用于需要的码数量较少的业务场景
    • 生成二维码,可接受 path 参数较长,生成个数受限,数量限制。

而且还有以下限制

  1. 接口只能生成已发布的小程序的二维码
  2. 接口 A 加上接口 C,总共生成的码数量限制为 100,000
  3. 接口 B 调用分钟频率受限(5000次/分钟)

官方说明地址:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html

基本上平时也就只用接口B码,在这之前,需要知道接口调用凭证access_token,教程见昨日文章:access_token获取和缓存进行两小时刷新

直接复制下方dome即可使用:

<?php
function send_post($url, $post_data) {
  $postdata = json_encode($post_data);
  $options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/json',
'content' => $postdata,
'timeout' => 15 * 60 // 超时时间(单位:s)
    )
  );
  $context = stream_context_create($options);
  $result = file_get_contents($url, false, $context);
return $result;
}
$file = fopen("token.txt","r");//token获取教程见昨日文章
$token = fread($file, 512); 
$post_data = array(
'page' => 'pages/index/index',
"scene" =>"a1=shdh",//如果生成二维码报错,注意此处scene参数长度
);
$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".$token ;//必须把access_token加在此处,不能写在postdata内
$data=send_post($url, $post_data);
$img = './img/'.time().'.jpg';//保存到img文件夹,以时间戳命名
$r = file_put_contents($img,$data);//写入二维码内容
 echo "<img src='".$img."'>";
?>

相关注意事项直接看上方注释,完全照做就没任何问题的。

如果开发中遇到啥子疑难杂症,可在以下评论区中留言,等有时间了我会挨个回复的。

原文发布于微信公众号 - 宅机吧(zhai-78)

原文发表时间:2019-05-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券