ソースを参照

fix: logout reset state

花裤衩 5 年 前
コミット
6169577990
共有1 個のファイルを変更した12 個の追加5 個の削除を含む
  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 2
 import { getToken, setToken, removeToken } from '@/utils/auth'
3 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 15
 const mutations = {
16
+  RESET_STATE: (state) => {
17
+    Object.assign(state, getDefaultState())
18
+  },
12 19
   SET_TOKEN: (state, token) => {
13 20
     state.token = token
14 21
   },
@@ -61,7 +68,7 @@ const actions = {
61 68
   logout({ commit, state }) {
62 69
     return new Promise((resolve, reject) => {
63 70
       logout(state.token).then(() => {
64
-        commit('SET_TOKEN', '')
71
+        commit('RESET_STATE', '')
65 72
         removeToken()
66 73
         resetRouter()
67 74
         resolve()