请观赏
import Vue from "vue"
import Vuex from "vuex"
import createPersistedState from 'vuex-persistedstate'
import *as Cookies from 'js-cookie'
Vue.use(Vuex)
const types={
SET_IS_AUTNENTIATED:'SET_IS_AUTNENTIATED',
SET_USER:'SET_USER'
}
const store =new Vuex.Store({
state:{
isAutnenticated:false,
user:{}
},
getters:{
isAutnenticated(state){
return state.isAutnenticated;
},
user(state){
return state.user;
}
},
mutations:{
[types.SET_IS_AUTNENTIATED](state,isAutnenticated){
if(isAutnenticated){
state.isAutnenticated = isAutnenticated
}else{
state.isAutnenticated=false;
}
},
[types.SET_USER](state,user){
if(user){
state.user = user
}else{
state.user={};
}
}
},
actions:{
setIsAutnenticated({commit},val){
commit(types.SET_IS_AUTNENTIATED,val)
},
setUser({commit},val){
commit(types.SET_USER,val)
},
clearCurrentState:({commit})=>{
commit(types.SET_IS_AUTNENTIATED,false);
commit(types.SET_USER,null)
}
},
plugins:[createPersistedState({
key:"1906",
storage:window.sessionStorage,
reducer(state){
return {
list:state.list
}
}
})]
})
export default store;