退出登录调用
This commit is contained in:
parent
96f5b93053
commit
6ffb158bf7
@ -21,9 +21,11 @@ class Store {
|
||||
* @param {Object} state
|
||||
* @param {UserInfo} data 登录数据
|
||||
*/
|
||||
login(state: StateType, data: {token: string, userInfo: UserInfo}): void {
|
||||
localStorage.setItem('login_token', data.token)
|
||||
state.loginInfo.token = data.token
|
||||
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
|
||||
},
|
||||
|
||||
@ -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':
|
||||
store.commit('logout')
|
||||
router.push('/login')
|
||||
http.post('/api/v2/common/logout').finally(() => {
|
||||
store.commit('logout')
|
||||
router.push('/login')
|
||||
})
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user