uni-app(微信小步伐) 特定页面天生小步伐码或小步伐二维码(带参数)
三种天生方式根本雷同,都必要获取access_token,获取小步伐码或二维码只必要更换不同的接口即可,还必要留意的是传递参数的情势!!!需求:在每一个企业信息详情页中自动天生该页面的小步伐分享码,用户扫码时自动跳到指定的企业信息详情页;因为有许多企业,所以这里我们必要利用: 获取不限定的小步伐码 来实现
1、获取不限定的小步伐码
实现代码
// 获取 access_token
getAccessToken() {
let appid = '',
secret = '';
uni.request({
method: "GET",
url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`,
success: (result) => {
let access_token = result.data.access_token
// 获取到 access_token 后 获取二维码
this.getQrCode(access_token)
}
})
},
// 获取二维码
getQrCode(token) {
// 注意 access_token 参数是必须放在url后面 其余参数 要在data里面
uni.request({
method: "POST",
responseType: 'arraybuffer', // 注意一定要加 不然返回的Buffer流会乱码 导致无法转base64
url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${token}`,
data: {
page: '', // 需要打开的页面路径
scene: '' // 这个是需要传递的参数
},
success: (result) => {
// 拿到buffer流 通过wx.arrayBufferToBase64 转成base64 在页面展示
// 如果请求时不加 responseType: 'arraybuffer' 拿到的buffer流转码会失败
this.bufferImg = "data:image/png;base64," + wx.arrayBufferToBase64(result.data);
},
})
},
获取小步伐码中的参数
扫描二维码在onLoad生命周期中获取传递的参数(scene)
onLoad(options) {
console.log(options, 'options');
}
https://img-blog.csdnimg.cn/direct/e0b84dfe5bef4b16af1461452b268f84.png
天生效果
调用乐成后会返回一张二进制图片(圆形)
https://img-blog.csdnimg.cn/direct/cf8fae3a9b874f988a7aa9b0ca63531e.png
页面中利用image标签将图片表现到页面上
<image :src="bufferImg" style="width: 200px;height: 200px"></image>
具体分析
链接: 获取不限定的小步伐码
1. 调用天生小步伐码的接口
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
哀求参数:两个必传
https://img-blog.csdnimg.cn/direct/bfd4802206d947b7809f607fb3c5aa02.png
实现代码
access_token 参数是必须放在url后面 其余参数 要在data里面
// 获取二维码
getQrCode(token) {
uni.request({
method: "POST",
responseType: 'arraybuffer',
url: `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${token}`
data: {
page: '', // 需要打开的页面路径
scene: '' // 这个是需要传递的参数
},
success: (result) => {
this.bufferImg = "data:image/png;base64," + wx.arrayBufferToBase64(result.data);
},
})
},
2. 获取access_token
调用接口
GET https://api.weixin.qq.com/cgi-bin/token
哀求参数:三个必传
https://img-blog.csdnimg.cn/direct/11f24600004444b1afd1c80f13c72e51.png
实现代码
// 获取 access_token
getAccessToken() {
let appid = '',
secret = '';
uni.request({
method: "GET",
url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`,
success: (result) => {
// 获取到 access_token 后 获取二维码
this.getQrCode(result.data.access_token)
}
})
}
2、获取小步伐二维码
实现代码
传递参数利用query方式举行传递?xxx=xx
// 获取 access_token
getAccessToken() {
let appid = '',
secret = '';
uni.request({
method: "GET",
url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`,
success: (result) => {
let access_token = result.data.access_token
// 获取到 access_token 后 获取二维码
this.getQrCode(access_token)
}
})
},
getQrCode(token) {
uni.request({
method: "POST",
responseType: 'arraybuffer', // 注意一定要加 不然返回的Buffer流会乱码 导致无法转base64
url: `https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=${token}`,
data: {
path: `pages/subPack_index/EnterpriseInfo/index?enterpriseId=${this.enterpriseId}`, // 需要打开的页面路径
},
success: (result) => {
// 拿到buffer流 通过wx.arrayBufferToBase64 转成base64 在页面展示
// 如果请求时不加 responseType: 'arraybuffer' 拿到的buffer流转码会失败
this.bufferImg = "data:image/png;base64," + wx.arrayBufferToBase64(result.data);
},
})
},
获取小步伐码中的参数
扫描二维码在onLoad生命周期中获取传递的参数
onLoad(options) {
console.log(options, 'options');
}
https://img-blog.csdnimg.cn/direct/df2149cbb28b438296a65ba6f2f0a1b9.png
天生效果
https://img-blog.csdnimg.cn/direct/98b9858cbc8f460b865d6f88979d1e58.png
具体分析
链接: 获取小步伐二维码
1. 调用天生小步伐二维码的接口
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
哀求参数:两个必传
https://img-blog.csdnimg.cn/direct/6f5c3bcceeb24aad8f1c58ad35b5bde3.png
实现代码
access_token 参数是必须放在url后面 其余参数 要在data里面,传参参考query方式
// 获取二维码
getQrCode(token) {
uni.request({
method: "POST",
responseType: 'arraybuffer',
url:`https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=${token}`
data: {
path: `pages/subPack_index/EnterpriseInfo/index?enterpriseId=${this.enterpriseId}`
},
success: (result) => {
this.bufferImg = "data:image/png;base64," + wx.arrayBufferToBase64(result.data);
},
})
},
2. 获取access_token
方式参考上面的获取access_token方式
3、获取小步伐码(实用于必要的码数量较少的业务场景)
流程和获取小步伐二维码的流程根本同等,只必要把接口替换成
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN即可
天生效果
https://img-blog.csdnimg.cn/direct/a22fccfcd2ce43728cba8455174286f9.png
留意:利用这些接口获取的小步伐码或小步伐二维码,最好是在后端实现,通过接口把天生的小步伐码返回给前端展示,因为获取access_token值时,有小步伐id和小步伐秘钥这些重要的数据,前端调用这些接口可能会导致重要信息泄漏!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]