Browse Source

fix: logout reset state

花裤衩 5 years ago
parent
commit
6169577990
1 changed files with 12 additions and 5 deletions
  1. 12 5
      src/store/modules/user.js

+ 12 - 5
src/store/modules/user.js

@@ -2,13 +2,20 @@ import { login, logout, getInfo } from '@/api/user'
2
 import { getToken, setToken, removeToken } from '@/utils/auth'
2
 import { getToken, setToken, removeToken } from '@/utils/auth'
3
 import { resetRouter } from '@/router'
3
 import { resetRouter } from '@/router'
4
 
4
 
5
-const state = {
6
-  token: getToken(),
7
-  name: '',
8
-  avatar: ''
5
+const getDefaultState = () => {
6
+  return {
7
+    token: getToken(),
8
+    name: '',
9
+    avatar: ''
10
+  }
9
 }
11
 }
10
 
12
 
13
+const state = getDefaultState()
14
+
11
 const mutations = {
15
 const mutations = {
16
+  RESET_STATE: (state) => {
17
+    Object.assign(state, getDefaultState())
18
+  },
12
   SET_TOKEN: (state, token) => {
19
   SET_TOKEN: (state, token) => {
13
     state.token = token
20
     state.token = token
14
   },
21
   },
@@ -61,7 +68,7 @@ const actions = {
61
   logout({ commit, state }) {
68
   logout({ commit, state }) {
62
     return new Promise((resolve, reject) => {
69
     return new Promise((resolve, reject) => {
63
       logout(state.token).then(() => {
70
       logout(state.token).then(() => {
64
-        commit('SET_TOKEN', '')
71
+        commit('RESET_STATE', '')
65
         removeToken()
72
         removeToken()
66
         resetRouter()
73
         resetRouter()
67
         resolve()
74
         resolve()