理论

接口A: 适用于需要的码数量较少的业务场景

接口地址:(永久有效,数量有限,进入path对应的页面)

https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
    path    String      不能为空,最大长度 128 字节
    width   Int     430(默认)     二维码的宽度
    auto_color  
    line_color  

接口B:适用于需要的码数量极多,或仅临时使用的业务场景(永久有效,数量暂无限制,将统一打开首页)

http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
    scene   String  最大32个可见字符
    width   Int     430(默认)     二维码的宽度

开发者需在首页根据获取的码中 scene 字段的值,再做处理逻辑。如下示例:

Page({
  onLoad: function(options) {
    var scene = options.scene
  }
})

接口C:适用于需要的码数量较少的业务场景(永久有效,数量有限,进入path对应的页面)

https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
    path    String      不能为空,最大长度 128 字节
    width   Int     430(默认)     二维码的宽度

注意事项

  • 调用接口需要POST传参
  • 通过该接口,仅能生成已发布的小程序的二维码
  • 可以在开发者工具预览时生成开发版的带参二维码
  • 接口A加上接口C,总共生成的码数量限制为100,000,请谨慎调用
  • POST 参数需要转成 json 字符串,不支持 form 表单提交
  • auto_color line_color 参数仅对小程序码生效

代码示例

1.接口需要access_token,access_token是公众号的全局唯一接口调用凭据。

2.access_token的存储至少要保留512个字符空间。

3.access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

wx.request({
  // 获取token
  url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential',
  data: {
    appid: '***',
    secret: '***'
  },
  success(res) {
    wx.request({
      // 调用接口C
      url: 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' + res.data.access_token,
      method: 'POST',
      data: {
        "path": "pages/meiTuan/meiTuan",
        "width": 430
      },
      success(res) {
        // res是二进制流,后台获取后,直接保存为图片,然后将图片返回给前台
      }
    })
  }
})

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部