|
@@ -2,13 +2,20 @@ import { login, logout, getInfo } from '@/api/user'
|
|
import { getToken, setToken, removeToken } from '@/utils/auth'
|
|
import { getToken, setToken, removeToken } from '@/utils/auth'
|
|
import { resetRouter } from '@/router'
|
|
import { resetRouter } from '@/router'
|
|
|
|
|
|
-const state = {
|
|
|
|
- token: getToken(),
|
|
|
|
- name: '',
|
|
|
|
- avatar: ''
|
|
|
|
|
|
+const getDefaultState = () => {
|
|
|
|
+ return {
|
|
|
|
+ token: getToken(),
|
|
|
|
+ name: '',
|
|
|
|
+ avatar: ''
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+const state = getDefaultState()
|
|
|
|
+
|
|
const mutations = {
|
|
const mutations = {
|
|
|
|
+ RESET_STATE: (state) => {
|
|
|
|
+ Object.assign(state, getDefaultState())
|
|
|
|
+ },
|
|
SET_TOKEN: (state, token) => {
|
|
SET_TOKEN: (state, token) => {
|
|
state.token = token
|
|
state.token = token
|
|
},
|
|
},
|
|
@@ -61,7 +68,7 @@ const actions = {
|
|
logout({ commit, state }) {
|
|
logout({ commit, state }) {
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
logout(state.token).then(() => {
|
|
logout(state.token).then(() => {
|
|
- commit('SET_TOKEN', '')
|
|
|
|
|
|
+ commit('RESET_STATE', '')
|
|
removeToken()
|
|
removeToken()
|
|
resetRouter()
|
|
resetRouter()
|
|
resolve()
|
|
resolve()
|