diff --git a/src/api/index.ts b/src/api/index.ts index d9f3fa08..ad415100 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -27,8 +27,7 @@ api.interceptors.response.use( return Promise.reject(new Error(error)) } else if (error.response.status === 403) { // 清除登录状态信息 - store.dispatch('auth/clearToken') - + store.dispatch('auth/logout') // token验证失败,跳转到登录页面 router.push('/login') } diff --git a/src/layouts/components/UserProfile.vue b/src/layouts/components/UserProfile.vue index cffdb3d4..c25245b3 100644 --- a/src/layouts/components/UserProfile.vue +++ b/src/layouts/components/UserProfile.vue @@ -25,9 +25,7 @@ const progressDialog = ref(false) // 执行注销操作 function logout() { // 清除登录状态信息 - store.dispatch('auth/clearToken') - // 主动登出时清除路由标记 - store.state.auth.originalPath = null + store.dispatch('auth/logout') // 重定向到登录页面或其他适当的页面 router.push('/login') } diff --git a/src/pages/login.vue b/src/pages/login.vue index 2b0dfde4..7e8589e9 100644 --- a/src/pages/login.vue +++ b/src/pages/login.vue @@ -162,14 +162,10 @@ function login() { const username = response.user_name const avatar = response.avatar const level = response.level + const remember = form.value.remember // 更新token和remember状态到Vuex Store - store.dispatch('auth/updateToken', token) - store.dispatch('auth/updateRemember', form.value.remember) - store.dispatch('auth/updateSuperUser', superuser) - store.dispatch('auth/updateUserName', username) - store.dispatch('auth/updateAvatar', avatar) - store.dispatch('auth/updateLevel', level) + store.dispatch('auth/login', { token, remember, superuser, username, avatar, level }) // 登录后处理 afterLogin(superuser) diff --git a/src/store/auth.ts b/src/store/auth.ts index c3ac35db..58ad502b 100644 --- a/src/store/auth.ts +++ b/src/store/auth.ts @@ -55,30 +55,18 @@ const authModule: Module = { }, }, actions: { - updateToken({ commit }, token: string) { + login({ commit }, { token, remember, superUser, userName, avatar, level }) { commit('setToken', token) - }, - clearToken({ commit }) { - commit('clearToken') - }, - updateRemember({ commit }, remember: boolean) { commit('setRemember', remember) - }, - updateSuperUser({ commit }, superUser: boolean) { commit('setSuperUser', superUser) - }, - updateUserName({ commit }, userName: string) { commit('setUserName', userName) - }, - updateAvatar({ commit }, avatar: string) { commit('setAvatar', avatar) - }, - updateOriginalPath({ commit }, originalPath: string) { - commit('setOriginalPath', originalPath) - }, - updateLevel({ commit }, level: number) { commit('setLevel', level) }, + logout({ commit }) { + commit('clearToken') + commit('setOriginalPath', '') + }, }, getters: { getToken: state => state.token,