vue微信授权页面重定向遇到的问题
问题描述:当时获取微信的code的时候,直接再created里面调用的,然后用sesssionStorage储存的code,这样每次进入页面,页面都会重新重定向获取code,这样页面重定向的话,获取code的哪个页面就是重定向的页面,刚开始进来的哪个就没有code,用手机自带的返回键回退到这个页面就没有code了,解决办法就是使用cokie存储,使用它是因为他又过期时间,这样可以考虑code的时效
·
问题描述:当时获取微信的code的时候,直接再created里面调用的,然后用sesssionStorage储存的code,这样每次进入页面,页面都会重新重定向获取code,这样页面重定向的话,获取code的哪个页面就是重定向的页面,刚开始进来的哪个就没有code,用手机自带的返回键回退到这个页面就没有code了,解决办法就是使用cokie存储,使用它是因为他又过期时间,这样可以考虑code的时效性
代码
获取code的方法此方法再mounted()生命周期中调用
getCode(){
const appid = “”;
const pageUrl = “”;
// if(localStorage.getItem("code")){
if(this.getCokie('code')){
// 如果本地已经存有code 说明是回退到了获取code的起始页面
// this.code = localStorage.getItem("code");
this.code = this.getCokie('code')
// alert('我是A页面从缓存取的code: ' + this.code)
} else if(this.getUrlParam("code")){
// 如果是链接上有code,说明是获取code的当前页面
this.code = this.getUrlParam("code");
// localStorage.setItem("code", this.code);
this.setCokie('code',this.code,1)
// alert('我是获取code的页面从url取的code: ' + this.code)
} else {
// 没有code 要去微信获取
let timeStamp = new Date().getTime();
let url =
"https://open.weixin.qq.com/connect/oauth2/authorize?appid=" +
appid +
"&response_type=code&scope=snsapi_userinfo&redirect_uri=" +
encodeURIComponent(pageUrl) +
"&state=" + timeStamp +"&connect_redirect=1#wechat_redirect";
// alert('我要去取code了: ' + url)
window.location.replace(url);
}
},
更多推荐
已为社区贡献2条内容
所有评论(0)