fix: logout reset state

permission-control
花裤衩 2019-12-29 14:33:13 +08:00
commit d22a1ae14d
3 changed files with 23 additions and 11 deletions

View File

@ -30,6 +30,8 @@ if (process.env.NODE_ENV === 'production') {
// set ElementUI lang to EN
Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui按如下方式声明
// Vue.use(ElementUI)
Vue.config.productionTip = false

View File

@ -2,14 +2,21 @@ import { login, logout, getInfo } from '@/api/user'
import { getToken, setToken, removeToken } from '@/utils/auth'
import { resetRouter } from '@/router'
const state = {
token: getToken(),
name: '',
avatar: '',
roles: []
const getDefaultState = () => {
return {
token: getToken(),
name: '',
avatar: '',
roles: []
}
}
const state = getDefaultState()
const mutations = {
RESET_STATE: (state) => {
Object.assign(state, getDefaultState())
},
SET_TOKEN: (state, token) => {
state.token = token
},
@ -71,9 +78,8 @@ const actions = {
logout({ commit, state }) {
return new Promise((resolve, reject) => {
logout(state.token).then(() => {
commit('SET_TOKEN', '')
commit('SET_ROLES', [])
removeToken()
removeToken() // must remove token first
commit('RESET_STATE')
resetRouter()
resolve()
}).catch(error => {
@ -85,9 +91,8 @@ const actions = {
// remove token
resetToken({ commit }) {
return new Promise(resolve => {
commit('SET_TOKEN', '')
commit('SET_ROLES', [])
removeToken()
removeToken() // must remove token first
commit('RESET_STATE')
resolve()
})
}

View File

@ -42,3 +42,8 @@
display: block
}
}
// to fix el-date-picker css style
.el-range-separator {
box-sizing: content-box;
}