1、src下新建 store/user.js(用不同的js文件存放不同的数据)
import Cookie from 'js-cookie'
export default{
state:{
token:''
},
mutations:{
setToken(state,val){
state.token = val
Cookie.set('token',val)
},
// 清除
clearToken(state){
state.token = ''
Cookie.remove('token')
},
// 获取
getToken(state){
state.token = Cookie.get('tooken') || state.token
}
}
}
2、src下新建 store/index.js(将相关的数据文件引入)
import Vue from 'vue'
import Vuex from 'vuex'
import tab from './tab'
import user from './user'
Vue.use(Vuex)
export default new Vuex.Store({
modules:{
tab,
user
},
})
3、main.js中引入store
import store from './store'
router.beforeEach((to,from,next) => {
store.commit('getToken')
const token = store.state.user.token
if(!token && to.name !== 'login'){
console.log(token,'wu');
next({name:'login'})
}else if(token && to.name === 'login'){
console.log(token,'you');
next({name:'home'})
}else{
console.log(111111111111,token);
next()
}
})
new Vue({
render: h => h(App),
router,
store,
created(){
store.commit('addMenu',router)
}
}).$mount('#app')