儿童才艺网站建设模板,赣州网站建设咨询,网页qq官网,可用来制作网页的软件大家好#xff0c;我是雄雄#xff0c;欢迎关注微信公众号#xff1a;雄雄的小课堂 前言
现在是#xff1a;2022年5月20日09:59:34
前面写过一篇文章#xff0c;基于bladex框架实现的模拟登录#xff0c;后来在测试的过程中发现了个问题#xff0c;即A系统在跳转到本系… 大家好我是雄雄欢迎关注微信公众号雄雄的小课堂 前言
现在是2022年5月20日09:59:34
前面写过一篇文章基于bladex框架实现的模拟登录后来在测试的过程中发现了个问题即A系统在跳转到本系统时携带用户名和密码进行登录本系统是没有问题的但是当A系统切换了别的用户再跳转到本系统时则本系统的用户信息还是上一个用户的信息没有及时更新过来本篇文章就是对这一问题的解决。
思路
出现这个问题的原因
没有清空登录信息没有重新登录
所以基于这两点出发原来想的是在登录之前先调用一下退出的方法然后重新登录后来同事说不用那么麻烦直接在permission.js文件中做登录操作就行于是我就照做了。
整体思路是这样的
获取地址栏中参数解析拿到用户信息调用模拟登陆方法将需要用到的值放在sessionStorage中重定向到首页去掉地址栏中挂的参数
实现代码
router.beforeEach((to, from, next) {})中的代码如下: //拿到地址栏中的参数//获取顶部链接let domain getTopUrl();//查找有没有?有的话是三方过来的用户没有的话就是本系统的if(domain.indexOf(?)0) {//获取参数let training getQueryString(training);//去掉后面的#loginif (training.indexOf(#/) 0) {training training.split(#/)[0];}var up jiexicode(training);var username up.split(,)[0];var password ;if (up.indexOf(memberid) 0) {//会员password (up.split(,)[1]).split(memberid)[0];//将会员id放在本地sessionStorage.setItem(memberid, (up.split(,)[1]).split(memberid)[1]);sessionStorage.setItem(tag, 0);} else if (up.indexOf(groupId) 0) {//团组password (up.split(,)[1]).split(groupId)[0];//将团组id放在本地sessionStorage.setItem(groupId, (up.split(,)[1]).split(groupId)[1]);sessionStorage.setItem(tag, 1);}var loginForm {username: username,password: password,};//异步进行登录store.dispatch(LoginPrammeSystem, loginForm).then(res {console.log(进来了permission.js的登陆的方法, domain);location.href location.origin;});return;}注意事项
return一定要加上重定向地址栏中的链接时一定要将参数去掉以上两点只要有一点疏忽则就会造成死循环