参考文章:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/qr-code/getWXACodeUnlimit.html
有三种方法
接口 A(getWXACode): 适用于需要的码数量较少的业务场景
生成小程序码,可接受 path 参数较长,生成个数受限。
接口 B(getWXACodeUnlimit):适用于需要的码数量极多的业务场景
生成小程序码,可接受页面参数较短,生成个数不受限。
接口 C(createWXAQRCode):适用于需要的码数量较少的业务场景
生成二维码,可接受 path 参数较长,生成个数受限。
示例用的第二种方法
一:接口基础知识
请求地址:
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
主要参数(只选取了部分,其他参数见小程序帮助文档)
string access_token 接口调用凭证 string scene 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&\'()*+,/:;=?@-._~,
其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式) string page 必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),
如果不填写这个字段,默认跳主页面 number width 二维码的宽度,默认为 430px,最小 280px,最大 1280px
返回值
Object 返回的 JSON 数据包
errcode number 错误码
errmsg string 错误信息
返回值说明
如果调用成功,会直接返回图片二进制内容,如果请求失败,会返回 JSON 格式的数据。
注意
1)POST 参数需要转成 JSON 字符串,不支持 form 表单提交。
2)接口只能生成已发布的小程序的二维码
3)调用分钟频率受限(5000次/分钟),如需大量小程序码,建议预生成
获取 scene 值
scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene 值,再做处理逻辑。
调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟,开发工具模拟时的 scene 的参数值需要进行 encodeURIComponent
小程序 调用
Page({ onLoad (query) { // scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene const scene = decodeURIComponent(query.scene) } })
工具测试
请发表评论