微信小程序学习之路——API获取二维码
获取二维码
通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面。
可以使用开发工具 1.02.1803130 及以后版本通过二维码编译功能调试所获得的二维码
为满足不同需求和场景,这里提供了三个接口,开发者可挑选适合自己的接口。 A接口,生成小程序码,可接受path参数较长,生成个数受限。 B接口,生成小程序码,可接受页面参数较短,生成个数不受限。 C接口,生成二维码,可接受path参数较长,生成个数受限。
接口A: 适用于需要的码数量较少的业务场景 接口地址:
[code]https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
获取 access_token 详见文档
POST 参数说明
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
path | String | 不能为空,最大长度 128 字节 | |
width | Int | 430 | 二维码的宽度 |
auto_color | Bool | false | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
line_color | Object | {"r":"0","g":"0","b":"0"} | auth_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"},十进制表示 |
is_hyaline | Bool | false | 是否需要透明底色, is_hyaline 为true时,生成透明底色的小程序码 |
注意:通过该接口生成的小程序码,永久有效,数量限制见文末说明,请谨慎使用。用户扫描该码进入小程序后,将直接进入 path 对应的页面。
接口B:适用于需要的码数量极多的业务场景
接口地址:
[code]https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
获取 access_token 详见文档
POST 参数说明
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
scene | String | 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式) | |
page | String | 必须是已经发布的小程序存在的页面(否则报错),例如 "pages/index/index" ,根路径前不要填加'/',不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面 | |
width | Int | 430 | 二维码的宽度 |
auto_color | Bool | false | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 |
line_color | Object | {"r":"0","g":"0","b":"0"} | auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示 |
is_hyaline | Bool | false | 是否需要透明底色, is_hyaline 为true时,生成透明底色的小程序码 |
注意:通过该接口生成的小程序码,永久有效,数量暂无限制。用户扫描该码进入小程序后,开发者需在对应页面获取的码中 scene 字段的值,再做处理逻辑。使用如下代码可以获取到二维码中的 scene 字段的值。调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟,开发工具模拟时的 scene 的参数值需要进行 urlencode
[code]// 这是首页的 js Page({ onLoad: function(options) { // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene var scene = decodeURIComponent(options.scene) } })
获取小程序二维码
接口C:适用于需要的码数量较少的业务场景
接口地址:
[code]https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
获取 access_token 详见文档
POST 参数说明
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
path | String | 不能为空,最大长度 128 字节 | |
width | Int | 430 | 二维码的宽度 |
注意:通过该接口生成的小程序二维码,永久有效,数量限制见文末说明,请谨慎使用。用户扫描该码进入小程序后,将直接进入 path 对应的页面。
示例:
[code]{"path": "pages/index?query=1", "width": 430}
注:pages/index 需要在 app.json
的 pages
中定义
Bug & Tip
tip
:通过该接口,仅能生成已发布的小程序的二维码。tip
:可以在开发者工具预览时生成开发版的带参二维码。tip
:接口A加上接口C,总共生成的码数量限制为100,000,请谨慎调用。tip
: POST 参数需要转成 json 字符串,不支持 form 表单提交。tip
: auto_color line_color 参数仅对小程序码生效。
错误码
45009:B接口调用分钟频率受限(目前5000次/分钟,会调整),如需大量小程序码,建议预生成。 45029:A接口和C接口生成码个数总和到达最大个数限制。 41030:B接口所传page页面不存在,或者小程序没有发布,请注意B接口没有path参数,传path参数虽然可以生成小程序码,但是只能跳主页面。
由于获取二维码并不常用,有兴趣的可以参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html?search-key=%E8%8E%B7%E5%8F%96%E4%BA%8C%E7%BB%B4%E7%A0%81
- 微信小程序获取二维码API
- 微信小程序学习笔记之登录API与获取用户信息操作图文详解
- 微信小程序学习之路 在html中绑定点击事件
- 微信小程序学习之路《六》 生命周期
- [API学习]获取程序所在的目录,路径
- 微信小程序学习之路02-获取位置打开地图
- nodejs获取微信小程序带参数二维码实现代码
- 微信小程序学习之路 扫一扫
- 微信小程序学习用demo:仿猫眼电影;使用猫眼api,下拉加载
- 微信小程序开发小白学习之路--事件
- 微信小程序学习:获取数据
- 微信小程序获取普通二维码
- 微信小程序学习笔记(9)--------API
- 微信小程序API——获取定位
- 【微信小程序学习之路】----使用globalData函数设置全局变量
- 小程序填坑之路(四):微信登录获取unionid
- 微信小程序小白开发学习之路———视图与渲染
- 使用nodejs获取微信小程序带参数二维码
- 如何使用Wordpress搭建微信小程序(一)获取分页文章api
- 微信小程序 获取设备信息 API实例详解