目录
- 1.说明
- 1.1小程序码&小程序二维码
- 1.2先天和后天的区别
- 2.获取自定义小程序码和小程序二维码的三个接口
- 2.1 三个接口区别
- 2.2 接口A 获取小程序码(有限次数)
- 2.3 接口B 获取小程序码(无限次数)
- 2.4 接口C 获取小程序二维码码(有限次数)
- 2.5 使用哪个接口?
- 3.实战—获取小程序二维码&小程序码
- 相关链接
- 腾讯mp后台
- 微信公众平台接口调试工具
一.说明
除了在mp后台腾讯提供的小程序码外;腾讯还提供了三个接口用来按照场景定制生成小程序码以及小程序二维码。极大方便我们根据不同场景生成我们所需的小程序码或小程序二维码。
在使用之前首先让我们先明白几个概念
小程序码和小程序二维码

先天(mp后台下载)和后天(接口获取)的区别
在外观上看起来似乎没有什么区别,和mp后台一样,对于小程序码,都能自定义线条颜色。
当然如果你的眼镜能像摄像头一样灵敏,就会发现细微的不同
| mp后台下载 | 接口获取 | |
|---|---|---|
| 获取方式 | mp后台下载 | 接口获取 |
| 数量 | 唯一 | 不同接口10万至无限 |
| 时效性 | 永久有效 | 永久有效 |
| 参数 | 不支持 | 支持 |
| 跳转方向 | 小程序首页 | 小程序任意界(已上线) |
腾讯提供的三种获取小程序二维码接口的区别
| 接口 | 参数 | 生成个数 | 有效期 | 类型 |
|---|---|---|---|---|
| A | 页面后带上(最长128字节) | 与接口C共享100,000次 | 永久 | 小程序码 |
| B | 通过scene 字段带上参数 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~ | 无限(5000/分钟) | 永久 | 小程序码 |
| C | 页面后带上(最长128字节) | 与A共享100,000次 | 永久 | 小程序二维码 |
接口A 获取小程序码(有限次数)
- 接口A:https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
| 参数名 | 类型 | 说明 | 备注 |
|---|---|---|---|
| path | string | 扫码进入的小程序页面路径,最大长度 128 字节,不能为空 | 必填 |
| width | number | 生成的二维码图片宽度 默认为 430px,最小 280px,最大 1280px | 非必填 默认430px |
| auto_color | boolean | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 | 非必填 默认 false |
| line_color | Object | auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示 | 非必填 默认全 0 |
| is_hyaline | boolean | 是否需要透明底色,为 true 时,生成透明底色的小程序码 | 非必填 默认false |
接口B 获取小程序码(无限次数)
- 接口B:https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
| 参数名 | 类型 | 说明 | 备注 |
|---|---|---|---|
| page | string | 必须是已经发布的小程序存在的页面(否则报错) | 非必填,默认主页 |
| scene | string | 大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&’()*+,/:;=?@-._~ | 非必填 |
| width | number | 生成的二维码图片宽度 默认为 430px,最小 280px,最大 1280px | 非必填 默认430px |
| auto_color | boolean | 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调 | 非必填 默认 false |
| line_color | Object | auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {“r”:“xxx”,“g”:“xxx”,“b”:“xxx”} 十进制表示 | 非必填 默认全 0 |
| is_hyaline | boolean | 是否需要透明底色,为 true 时,生成透明底色的小程序码 | 非必填 默认false |
接口C 获取小程序二维码码(有限次数)
- 接口C:https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
| 参数名 | 类型 | 说明 | 备注 |
|---|---|---|---|
| path | string | 扫码进入的小程序页面路径,最大长度 128 字节,不能为空 | 必填 |
| width | number | 生成的二维码图片宽度 默认为 430px,最小 280px,最大 1280px | 非必填 默认430px |
返回值
| 属性 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
使用哪个接口
那么问题来了,我们该使用哪个接口呢?- 接口A与C的区别仅仅在于一个获取小程序码(A )一个获取小程序二维码©
- B与A的区别 一个无限次数(B),一个有限次数(理论100,00次与C共享),并且B的页面必须是正式版存在的页面,A可以是任意路径(没上线也行)
实战--------获取小程序二维码&小程序码
step1 获取access_token
可以通过微信公众平台接口调试工具获取
必要条件是知道appid,secret(mp后台获取)
step2 获取拼接请求url
接口A:https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
用获取到的access_token 替换ACCESS_TOKEN
step3准备参数
{“path”:"/packagexxx/pages/xxx/xxx",“width”:430,“auto_color”:false,“is_hyaline”:false}
很简单,参考上面* 2.2 接口A 获取小程序码(有限次数)
step4 用postman获取
设置post 请求step2连接,用上step3参数,成功获取
参考链接
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html
https://mp.weixin.qq.com/debug/cgi-bin/apiinfo













