微信官方文档中提供了两种方式
区别在于有无数量限制
注意:
1、两种方式都只能生成已发布的小程序的二维码
wxacode.createQRCode在开发版的带参二维码可以在开发者工具预览时生成
2、页面地址有长度限制,具体可参考官方文档
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.getUnlimited.html
这里以wxacode.createQRCode为例:
首先需要获取access_token,这一步不建议在小程序端进行
请求后端接口获取到access_token之后:
let _this = this
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=' + 你的access_token, //仅为示例,并非真实接口地址。
data: {
path: 'pages/detail/detail' + 页面参数(可不传) // 二维码的地址和参数
},
responseType: 'arraybuffer', // 一定要写,方便拿到文件流后转base64
method: 'post',
success: (res) => {
console.log(res)
_this.base64 = 'data:image/png;base64,' + wx.arrayBufferToBase64(res.data) // arraybuffer转base64
}
})