退出登录调用
This commit is contained in:
parent
96f5b93053
commit
6ffb158bf7
@ -21,9 +21,11 @@ class Store {
|
|||||||
* @param {Object} state
|
* @param {Object} state
|
||||||
* @param {UserInfo} data 登录数据
|
* @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)
|
localStorage.setItem('login_token', data.token)
|
||||||
state.loginInfo.token = data.token
|
state.loginInfo.token = data.token
|
||||||
|
}
|
||||||
state.loginInfo.userInfo = data.userInfo
|
state.loginInfo.userInfo = data.userInfo
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@ -31,6 +33,7 @@ class Store {
|
|||||||
* @param {Object} state
|
* @param {Object} state
|
||||||
*/
|
*/
|
||||||
logout(state: StateType): void {
|
logout(state: StateType): void {
|
||||||
|
localStorage.removeItem('login_token')
|
||||||
state.loginInfo.token = null
|
state.loginInfo.token = null
|
||||||
state.loginInfo.userInfo = 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-tab-pane v-for="tab in store.state.tabs" :key="tab.name" :label="tab.title" :name="tab.path" closable></el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<div class="layout-content">
|
<div class="layout-content" v-if="mainViewReady">
|
||||||
<router-view class="main-view" v-slot="{ Component }">
|
<router-view class="main-view" v-slot="{ Component }">
|
||||||
<keep-alive :include="keepViews">
|
<keep-alive :include="keepViews">
|
||||||
<component :is="Component" />
|
<component :is="Component" />
|
||||||
@ -90,6 +90,7 @@ const version = process.env.VERSION
|
|||||||
const currentYear = new Date().getFullYear()
|
const currentYear = new Date().getFullYear()
|
||||||
const defaultActiveMenuKey = ref<string | null>(null)
|
const defaultActiveMenuKey = ref<string | null>(null)
|
||||||
const openMenuNames = ref<string[]>([])
|
const openMenuNames = ref<string[]>([])
|
||||||
|
const mainViewReady = ref(false)
|
||||||
|
|
||||||
const changePwdModal = ref(false)
|
const changePwdModal = ref(false)
|
||||||
const changePwdLoading = ref(false)
|
const changePwdLoading = ref(false)
|
||||||
@ -139,7 +140,8 @@ if (!store.state.loginInfo.token) {
|
|||||||
router.push('/login')
|
router.push('/login')
|
||||||
} else {
|
} else {
|
||||||
http.post<{token: string}, any>('/api/v2/common/verifyToken', {token: store.state.loginInfo.token}).then(data => {
|
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(() => {
|
}).catch(() => {
|
||||||
router.push('/login')
|
router.push('/login')
|
||||||
})
|
})
|
||||||
@ -154,8 +156,10 @@ function dropdownMenuCommand(command: string): void {
|
|||||||
changePwdModal.value = true
|
changePwdModal.value = true
|
||||||
break
|
break
|
||||||
case 'logout':
|
case 'logout':
|
||||||
|
http.post('/api/v2/common/logout').finally(() => {
|
||||||
store.commit('logout')
|
store.commit('logout')
|
||||||
router.push('/login')
|
router.push('/login')
|
||||||
|
})
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user