- 代码
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 // 一定不要漏掉
})
}
})
}
})
- 预期表现
在开发者工具上可以二维码获取成功,在体验版上只有打开调试才会成功,正式环境小程序二维码不显示