1、首先原理是利用了硬盘缓存原理,对cookie设置时间
先通过npm install vue-cookies --save
安装cookie插件,当然也可以自己写,不过麻烦
2、设置登录从后端获取到的cookie
if (res.code === 200) {
localStorage.setItem("Tokens", res.data);
this.$cookies.set("Tokens", res.data, 60 * 60 * 24 * 7);
this.$router.push({
path: "/home",
replace: true,
});
}
3、路由的响应
import VueCookies from "vue-cookies";
router.beforeEach((to, from, next) => {
console.log(to, from);
if (to.path == "/login") {
if (VueCookies.get("Tokens")) {
localStorage.setItem("Tokens", VueCookies.get("Tokens"));
next("/home");
} else {
next();
}
} else {
next();
}
document.title = to.meta.title;
});
注意,插件需要绑定到原型中,用起来方便点,不想绑定效仿第三步
import VueCookies from "vue-cookies";
myApp.config.globalProperties.$cookies = VueCookies;