获取小程序码:小程序码为圆图,有数量限制。
目录
文档
接口地址
功能描述
注意事项
请求参数
对接
获取小程序码
调用获取
小程序码示例
总结
文档
接口地址
https://api.weixin.qq.com/wxa/getwxacode?access_token=access_token
功能描述
该接口用于获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制,详见获取小程序码。
注意事项
如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回 JSON 格式的数据。
POST 参数需要转成 JSON 字符串,不支持 form 表单提交。
与 createQRCode 总共生成的码数量限制为 100,000,请谨慎调用。
已生成码数量参考HTTP Header的Num-Used。
请求参数
返回参数
对接
获取小程序码
对获取小程序码方法进行了封装。
代码如下:
/**
* 获取小程序码 -- 适用于需要的码数量较少的业务场景(永久有限 有数量限制)
* @param $page
* @param $access_token
* @return false|string
*/
public function getQRCode($page, $access_token)
{
$url = "https://api.weixin.qq.com/wxa/getwxacode?access_token=" . $access_token;
$data = json_encode([
'path' => $page,
'width' => 430,
]);
$options = [
'http' => [
'header' => "Content-type: application/json",
'method' => 'POST',
'content' => $data,
],
];
$context = stream_context_create($options);
return file_get_contents($url, false, $context);
}
调用获取
传递参数给获取小程序码函数。
与获取不受限制的小程序码的区别在于可以把小程序路径和参数一起传给page即可。
代码如下:
$image = $this->getQRCode('pages/home/goodsdetail/Goodsdetail?goods_id=1546', $access_token);
if (strlen($image) < 1000) {
$res = json_decode($image, true);
ds_json_encode(10001, '错误', [$res->errcode, $res->errmsg]);
}
$filename = sprintf('./uploads/min_%d.png', time());
file_put_contents($filename, $image);
ds_json_encode(10000, ['path' => $filename]);
小程序码示例
总结
获取不受数量限制的小程序码适用于需要推广的链接较多且路径或者参数比较灵活的场景。