微信 创建小程序码-有数量限制

获取小程序码:小程序码为圆图,有数量限制。

目录

文档

接口地址

功能描述

注意事项

请求参数

对接

获取小程序码

调用获取

小程序码示例

总结


文档

接口地址

https://api.weixin.qq.com/wxa/getwxacode?access_token=access_token

功能描述

该接口用于获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制,详见获取小程序码。

注意事项

如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回 JSON 格式的数据。

POST 参数需要转成 JSON 字符串,不支持 form 表单提交。

与 createQRCode 总共生成的码数量限制为 100,000,请谨慎调用。

已生成码数量参考HTTP Header的Num-Used。

请求参数

返回参数

对接

获取小程序码

对获取小程序码方法进行了封装。

代码如下:

php 复制代码
/**
 * 获取小程序码 -- 适用于需要的码数量较少的业务场景(永久有限 有数量限制)
 * @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即可。

代码如下:

php 复制代码
$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]);

小程序码示例

总结

获取不受数量限制的小程序码适用于需要推广的链接较多且路径或者参数比较灵活的场景。

相关推荐
谢亮_vipxieliang1 小时前
ValidX时间段验证详解:ISO 8601标准与简化格式
java·spring boot·后端·spring·spring cloud·hibernate
不一样的少年_1 小时前
WebP 压缩到底在干嘛?小白也能看懂的原理拆解
前端·后端·图片资源
不一样的少年_1 小时前
PNG/JPG 如何变成 WebP?真相不是改后缀!
前端·后端·图片资源
Zane19942 小时前
String::compareTo凭什么能当参数传?方法引用的四种形式讲透
java·后端
JavaGuide2 小时前
阿里 Qoder 又开源了一个专门给 Claude Code、Codex 做“体检”的项目
前端·后端
不一样的少年_2 小时前
JPEG 压缩到底在干嘛?小白也能看懂的 8 步拆解
前端·后端·图片资源
the局外人2 小时前
学习 FastAPI 的 Day 4:完成用户系统与接口联调(完结)
后端·python·fastapi
三小河2 小时前
RAG、LLM Wiki、本体(Ontology)到底是个啥?
前端·人工智能·后端
敲代码的嘎仔2 小时前
28届后端开发-百人小厂面试题
java·后端·面试·程序员·秋招·实习·转正
Bs_MoneyMagnet2 小时前
基于springboot+vue的爱心众筹系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·管理系统