一、生成方式
微信小程序提供了三个接口来生成小程序码,分别是wxacode.createQRCode()、wxacode.get()、wxacode.getUnlimited(),生成的小程序码永久有效,其中仅getUnlimited接口生成的小程序码数量暂无限制
二、接口详解
1、wxacode.createQRCode
-
参数:access_token(接口调用凭证)、path(扫码进入页面)、width(小程序码宽度)
-
返回值:成功返回的图片Buffer,异常返回错误对象Object
-
注意:
2、wxacode.get
-
参数:access_token(接口调用凭证)、path(扫码进入页面)、width(小程序码宽度)、auto_color(自动配置线条颜色)、line_color(线条颜色)、is_hyaline(小程序码透明底色)、env_version(打开的小程序版本)
-
返回值:成功返回的图片Buffer,异常返回错误对象Object
-
注意:
转存失败重新上传取消
3、wxacode.getUnlimited
-
参数:access_token(接口调用凭证)、path(扫码进入页面)、check_path(检查 page 是否存在)、scene(页面参数)、width(小程序码宽度)、auto_color(自动配置线条颜色)、line_color(线条颜色)、is_hyaline(小程序码透明底色)、env_version(打开的小程序版本)
-
返回值:成功返回的图片Buffer,异常返回错误对象Object
-
注意:
转存失败重新上传取消
补充:env_version值为trial能到体验版,但是如果path是发布版上不存在的页面还是无法成功生成小程序码,应该将check_path设置为false允许小程序未发布或者 page 不存在
三、前端调用
由于接口参数的access_token需要小程序唯一凭证AppID,以及小程序唯一凭证密钥AppSecret取得,而小程序代码中不能包含铭文密钥(审核不通过);其次在配置服务器域名时,为了 access_token
的安全性,即 api.weixin.qq.com
不能被配置为服务器域名。所以前端无法使用生成小程序码的功能
四、后端调用
HTTPS 调用:
-
wxacode.createQRCode请求地址:
-
POST https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
-
wxacode.get请求地址:
-
POST https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
-
wxacode.getUnlimited请求地址:
-
POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
五、参考链接
1、获取小程序码
获取小程序码 | 微信开放文档 | 微信开发者平台文档
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html
2、小程序码接口
wxacode.createQRCode | 微信开放文档 | 微信开发者平台文档
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.createQRCode.html