赞
踩
@[TOC]微信扫描二维码,h5二维码的url中携带token,在微信内置浏览器token不能使用
最近在做一个移动h5项目,记录一下在项目中遇到的问题,前端生成二维码时,将token放到一个请求参数中,传递给后台,后台接收token参数,在二维码url中添加上token参数,让扫描使用的人也可以正常使用。
因为token前缀的Bearer ,中有空格,微信直接打开会将空格转移,导致token不正确,通过分享链接打开的人就不能直接使用
// 生成二维码时,对token进行分割截取,去除Bearer , let token = uni.getStorageSync('token') token = token.split(' ')[1] getQrCode({ initId, token }).then(res => { if (res.code == 200) { this.qrcodeSrc = 'data:image/png;base64,'+res.data; } else { uni.showToast({ icon: 'none', title: res.msg || res.message, }) } });
// 扫描二维码跳转的页面
// 项目使用的uniapp,具体方式按照自己使用的技术栈,把Bearer 拼接到token字符串中,在存到你缓存中,因为我这里封装的请求里是获取缓存中的
onShow() {
let pagearr = getCurrentPages(); //获取应用页面栈
let currentPage = pagearr[pagearr.length - 1]; //获取当前页面信息
let options = currentPage.options
if(options.token){
let token = options.token
token = `Bearer ${token}`
uni.setStorageSync('token',token)
}
},
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。