vue2中关于token的本地储存时间
Posted 长风戏子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue2中关于token的本地储存时间相关的知识,希望对你有一定的参考价值。
在我练习的时候,需要token验证自己整理了一个思路
1.首先在点击登录(触发事件)的时候
let obj =
name:xxx.token,
//获取存储时的时间
time:new Date().getTime()
localStorage.setItem('token',JSON.stringify(obj))
2.在router的index.js
//设置你想储存的时间 因为获取的时间是以毫秒计算 所以的们要单位转换 1s=1000ms
let time=xxxx
router.beforeEach((to, from, next) =>
//获取本地的储存 要把数据转化成js
let toke = JSON.parse(localStorage.getItem('token'))
if (toke)
//获取当前时间
let newtime=new Date().getTime()
//当前的时间-存储时的时间=存储了多长时间,如果大于就是超时,小于就不超时
if(newtime-toke.time>time)
//大于就删除本次存储
localStorage.removeItem('token')
//让他返会首页(登录页)
next('/')
else
next()
3.接下来就是我自己写的
login.vue页面
getdata(date).then(res =>
console.log(res);
if (res.data != null)
setTimeout(() =>
this.$router.push( path: "/index" );
this.$router.push( path: "/usergl" );
, 1500);
let token =
time: new Date().getTime(),
name: res.data.token
;
localStorage.setItem("token",JSON.stringify(token));
this.$message(
message: "登陆成功",
type: "success"
);
else
this.$message.error("用户名或者密码错误");
);
router/index.js
let time=24 * 60 * 60 * 1000
router.beforeEach((to, from, next) =>
let toke = JSON.parse(localStorage.getItem('token'))
if (toke)
let deltime=new Date().getTime()
if(deltime-toke.time>time)
alert('登录已经过期,请重新登录')
localStorage.removeItem('token')
next('/')
else
next()
else
if (to.path=="/")
next()
else
alert('请先登录,再访问其他页面')
next('/')
)
————勿喷————
以上是关于vue2中关于token的本地储存时间的主要内容,如果未能解决你的问题,请参考以下文章