退出登录调用

This commit is contained in:
灌糖包子 2026-03-28 00:56:59 +08:00
parent 96f5b93053
commit 6ffb158bf7
Signed by: sookie
GPG Key ID: 0599BECB75C1E68D
2 changed files with 14 additions and 7 deletions

View File

@ -21,9 +21,11 @@ class Store {
* @param {Object} state
* @param {UserInfo} data
*/
login(state: StateType, data: {token: string, userInfo: UserInfo}): void {
login(state: StateType, data: {token?: string, userInfo: UserInfo}): void {
if (data.token) {
localStorage.setItem('login_token', data.token)
state.loginInfo.token = data.token
}
state.loginInfo.userInfo = data.userInfo
},
/**
@ -31,6 +33,7 @@ class Store {
* @param {Object} state
*/
logout(state: StateType): void {
localStorage.removeItem('login_token')
state.loginInfo.token = null
state.loginInfo.userInfo = null
},

View File

@ -40,7 +40,7 @@
<el-tab-pane v-for="tab in store.state.tabs" :key="tab.name" :label="tab.title" :name="tab.path" closable></el-tab-pane>
</el-tabs>
</div>
<div class="layout-content">
<div class="layout-content" v-if="mainViewReady">
<router-view class="main-view" v-slot="{ Component }">
<keep-alive :include="keepViews">
<component :is="Component" />
@ -90,6 +90,7 @@ const version = process.env.VERSION
const currentYear = new Date().getFullYear()
const defaultActiveMenuKey = ref<string | null>(null)
const openMenuNames = ref<string[]>([])
const mainViewReady = ref(false)
const changePwdModal = ref(false)
const changePwdLoading = ref(false)
@ -139,7 +140,8 @@ if (!store.state.loginInfo.token) {
router.push('/login')
} else {
http.post<{token: string}, any>('/api/v2/common/verifyToken', {token: store.state.loginInfo.token}).then(data => {
store.commit('login', {token: data.newToken || store.state.loginInfo.token, userInfo: data.userInfo})
store.commit('login', {userInfo: data.userInfo})
mainViewReady.value = true
}).catch(() => {
router.push('/login')
})
@ -154,8 +156,10 @@ function dropdownMenuCommand(command: string): void {
changePwdModal.value = true
break
case 'logout':
http.post('/api/v2/common/logout').finally(() => {
store.commit('logout')
router.push('/login')
})
break
}
}