Vue设置长时间未操作登录自动到期返回登录页
Vue设置长时间未操作登录以后自动到期返回登录页
首先我们写在main.js文件中
importrouterUtilfrom"@/utils/routerutil";//先将js文件在main.js中引入 routerUtil(router);
我们会在登陆成功后调用sessionUtil文件中的setSession,sessionUtil下面写的有
importsessionUtilfrom'@/utils/sessionutil' sessionUtil.setSession("userInfo",'2');
在routerutil.js文件中
importsessionUtilfrom"./sessionutil"; constwhiteList=["/",'/logins'];//路由白名单,不需要校验 exportdefaultrouter=>{ router.beforeEach(async(to,from,next)=>{/*在跳转之前执行*/ constuserInfo=sessionUtil.getSession("userInfo");//触发sessionUtil中的getSession方法 if(userInfo){ //// }else{ if(whiteList.indexOf(to.path)!==-1){ next(); }else{ Message({ type:"warning", message:"用户登录过期,请重新登录", duration:1500, onClose(){ next(`/`); } }); } } }); };
在sessionutil.js文件中
constsessionutil={ setSession(key,value,maxAge){//key=userInfovalue=2maxAge=''||可自行设置 constmaxAgeTime=newDate().getTime()+1000*3600;//当前时间的+1小时session过期时间 try{ letdata={value,maxAge:maxAge?maxAge:maxAgeTime} sessionStorage.setItem(typeofkey==='string'?key:JSON.stringify(key),JSON.stringify(data)) }catch(err){ } }, getSession(key){ try{ constmaxAgeTime=newDate().getTime()+1000*3600;//首先先设置一个session过期时间1H后可自行设置 letdate=newDate().getTime();//当前时间 letsession=JSON.parse(sessionStorage.getItem(typeofkey==='string'?key:JSON.stringify(key))); if(session&&session.maxAge!=null&&session.maxAge-date>0&&session.maxAge<=maxAgeTime){ this.setSession(key,session.value); returnsession.value; }else{ returnnull; } }catch(err){ } }, } exportdefaultsessionutil;
总结
以上所述是小编给大家介绍的Vue设置长时间未操作登录自动到期返回登录页,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。