1.src/store/user.js
import Vue from 'vue'
export const USER_SIGIN = 'USER_SIGIN' //登录成功
export const USER_SIGOUT = 'USER_SIGOUT' //推出登录
export default({
state: JSON.parse(sessionStorage.getItem('user')) || {},
mutations: {
[USER_SIGIN](state, user){
sessionStorage.setItem('user', JSON.stringify(user))
Object.assign(state, user);
},
[USER_SIGOUT](state){
sessionStorage.removeItem('user')
Object.keys(state).forEach(k => Vue.delete(state, k))
}
},
actions: {
[USER_SIGIN]({commit},user){
commit(USER_SIGIN,user)
},
[USER_SIGOUT]({commit}){
commit(USER_SIGOUT)
}
}
})
2.src/store/index.js
import Vue from 'vue'
import Vuex from 'vuex'
import user from './user'
Vue.use(Vuex)
export default new Vuex.Store({
strict: process.env.NODE_ENV !='production',//在生产环境下,使用严格模式
modules:{
user
}
})