微信小程序之创建包含参数的专属二维码

小程序前端获取带参二维码

微信文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html

需求: 有时候我们需要生成咱们自己小程序的二维码,同时需要二维码带着参数

步骤:
1.获取token
2.获取二维码,在scene中传你要接收的参数

代码如下:

Page({
data: {
	token: '',
    imgUrl: '', // 小程序二维码
}
// 获取token
  getToken() {
    let that = this;
    wx.request({
      url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你自己的appid&secret=自己的secret',  // 具体传参见文档
      success: res => {
        console.log(res)
        that.setData({
          token: res.data.access_token
        })
        that.getUnlimited(res.data.access_token)
      }
    })
  },

  getUnlimited(id) {
    const that = this;
    wx.request({
      url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + id, // 切记tooken连接在地址后面,不要放在data中,否则会导致报错,token过期
      data: {
        scene: wx.getStorageSync('thisCode'),
        page: 'pages/index/index',
        width: 280,
        is_hyaline: true
      },
      header: {
        'content-type': 'application/json;charset=utf-8'
      },
      responseType: 'arraybuffer',  // 很重要一定要传
      method: 'POST',  // 一定要用POST,用get报错
      success: res => {  // res中data这时看是个空数组,但经过下面解析就会出现数据
        let data = wx.arrayBufferToBase64(res.data)
        that.setData({
          imgUrl: 'data:image/PNG;base64,' + data  // 一定不要漏掉
        })
      }
    })
  }
})

3.然后在你的扫描进去的那个页面的onload生命周期中获取传参

var scene = decodeURIComponent(options.scene);
that.setData({
   scene
})

你可能感兴趣的:(微信小程序,二维码)