Prechádzať zdrojové kódy

fix: logout reset state

花裤衩 5 rokov pred
rodič
commit
6169577990
1 zmenil súbory, kde vykonal 12 pridanie a 5 odobranie
  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'
 import { getToken, setToken, removeToken } from '@/utils/auth'
 import { resetRouter } from '@/router'
 
-const state = {
-  token: getToken(),
-  name: '',
-  avatar: ''
+const getDefaultState = () => {
+  return {
+    token: getToken(),
+    name: '',
+    avatar: ''
+  }
 }
 
+const state = getDefaultState()
+
 const mutations = {
+  RESET_STATE: (state) => {
+    Object.assign(state, getDefaultState())
+  },
   SET_TOKEN: (state, token) => {
     state.token = token
   },
@@ -61,7 +68,7 @@ const actions = {
   logout({ commit, state }) {
     return new Promise((resolve, reject) => {
       logout(state.token).then(() => {
-        commit('SET_TOKEN', '')
+        commit('RESET_STATE', '')
         removeToken()
         resetRouter()
         resolve()