1.利用插件Cookie-js,使用之后可以直接用键值对的形式设置
Cookies.set('name', 'value', {
expires: expiresTime,
});
直接设置自己想要的过期时间
2.封装存储cookie过程,js直接写
setCookie(name, value, hours) {
hours = hours || 0;
var expires = "";
if (hours !== 0) {
var date = new Date();
date.setTime(date.getTime() + hours * 3600000);
expires = ";expires=" + date.toGMTString();
}
document.cookie = name + "=" + escape(value) + expires + ";path=/";
}
由于项目是vue项目里面的,调用的话直接this.setCookie()进行传值,我这里是按照小时计算的,换算成时间戳,可以按照自己的需求
去写,这里的date.toGMTString()是将date对象按照GMT时间换成字符串,escape()方法可以对字符串进行编码,这样可以在所有计算机
上读取该字符串。
由于是一个vue项目,配合拦截器,实现时间过期跳转回登陆页面
router.beforeEach((to, from, next) => {
if (to.path === "/login") {
return next();
}
const LoginStatus = document.cookie;
if (LoginStatus) {
next();
} else {
next("/login");
}
});
3.还有一种就是登陆的时候获取一个token,然后在调取接口的时候每次都把token拿到传过去,至于是否过期让后台判断返回