页面内部生成小程序二维码
逻辑实现
-
获取 access_token
-
使用 access_token + path地址 + width大小 来生成二维码,
wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET', //如果找不到,去小程序后台复制 header: { 'content-type': 'application/json' }, method: 'get', success: function(re) { console.log(re)//首先获取到 access_token } })
获取到之后 就可以生成小程序二维码,或者小程序码了
wx.request({
// url: `https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=${第一步获取的access_token}`, //小程序二维码
url: `https://api.weixin.qq.com/wxa/getwxacode?access_token=第一步获取的access_token `, //小程序码
method: 'post',
responseType: 'arraybuffer', //关键是这里如果不写返回图片是二进制,写上就是64进制的图片
data: {
'path': `pages/assess/assess?recordId=${携带的参数}`, // 这个就是我们设置的地址
'width': 106, //大小
},
header: {
'content-type': 'application/json'
},
success: function(r) {
console.log(r) // 获取到小程序码
var base64 = wx.arrayBufferToBase64(r.data); //转换base 64
// 传递后端即可
}
})
整体代码
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET', //如果找不到,去小程序后台复制
header: {
'content-type': 'application/json'
},
method: 'get',
success: function(re) {
console.log(re)//首先获取到 access_token
wx.request({
// url: `https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=${第一步获取的access_token}`, //小程序二维码
url: `https://api.weixin.qq.com/wxa/getwxacode?access_token=第一步获取的access_token `, //小程序码
method: 'post',
responseType: 'arraybuffer', //关键是这里如果不写返回图片是二进制,写上就是64进制的图片
data: {
'path': `pages/assess/assess?recordId=${携带的参数}`, // 这个就是我们设置的地址
'width': 106, //大小
},
header: {
'content-type': 'application/json'
},
success: function(r) {
console.log(r) // 获取到小程序码
var base64 = wx.arrayBufferToBase64(r.data); //转换base 64
// 传递后端即可
}
})
}
})
下课