problem description
I am using Vue to develop the front end of an application. I want to use both store and cookies of vuex to save the user"s login information. My implementation method is as follows: after the user logs in, save the user information and the isLogin
field in vuex"s store and cookies, and then vue-router jumps to the user backend. (vue-router verifies whether the isLogin
field in the store of vuex is true
to determine the user"s login status.) When the Vue is loaded ( mounted
) I also write the function to read and write the relevant cookies to store, but this does not take effect after each refresh, so the user is always required to log in again. Want to know how to modify it? Thank you!
related codes
1. initialization of Vue in main.js
:
router.beforeEach((to, from, next) => {
//requiresAuth
if(to.meta.requiresAuth){//
if(store.state.account.isLogin == true){
next();
}else{
next({
path: "/login",
query: { redirect: to.fullPath }
});
}
}else if (to.meta.requiresNoAuth) {//
if(store.state.account.isLogin == false){
next();
}else{
next({
path: "/"
});
}
}{
next();
}
});