Commit 521a134e authored by youjie's avatar youjie

退出登录

parent 4787b2fb
...@@ -59,14 +59,6 @@ onMounted(async () => { ...@@ -59,14 +59,6 @@ onMounted(async () => {
<template> <template>
<ConfigProvider :locale="globalArcoLocale || undefined"> <ConfigProvider :locale="globalArcoLocale || undefined">
<div id="app" class="min-h-screen bg-[#ffffff]"> <div id="app" class="min-h-screen bg-[#ffffff]">
<!-- 语言切换器 - 固定在右上角 -->
<div
v-if="showLanguageSwitcher"
class="fixed top-4 right-4 z-50"
>
<LanguageSwitcher />
</div>
<!-- 主要内容区域 --> <!-- 主要内容区域 -->
<RouterView /> <RouterView />
</div> </div>
......
...@@ -22,19 +22,35 @@ ...@@ -22,19 +22,35 @@
<a-button v-if="!userStore.userInfo" <a-button v-if="!userStore.userInfo"
type="primary" type="primary"
size="large" size="large"
class="SourceHanSansCN flex-1 font-bold text-gray-200 class="loginButton SourceHanSansCN flex-1 font-bold text-gray-200
w-[126px] !h-[40px] !rounded-[8px] !text-base !text-sm ml-[6px]" w-[126px] !h-[40px] !rounded-[8px] !text-base !text-sm ml-[6px]"
@click="goPage('/login')" @click="goPage('/login')"
> >
{{ t('login.loginButton') }}/{{ t('login.register') }} {{ t('login.loginButton') }}/{{ t('login.register') }}
</a-button> </a-button>
<a-avatar v-else class="cursor-pointer flex-shrink-0 !w-[35px] !h-[35px]" <a-dropdown v-else position="br" trigger="click">
@click="goPage('/personalCenter/myOrder')"> <a-avatar class="cursor-pointer flex-shrink-0 !w-[35px] !h-[35px]">
<img class="w-full h-full cursor-pointer" <img class="w-full h-full cursor-pointer"
alt="avatar" alt="avatar"
:src="userStore.userInfo.avatar || systemConfigStore.config?.logo || 'https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp'" :src="userStore.userInfo.avatar || systemConfigStore.config?.logo || 'https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp'"
/> />
</a-avatar> </a-avatar>
<template #content>
<a-doption @click="goPage('/personalCenter/myOrder')">
<!-- <template #icon>
<icon-user />
</template> -->
{{ t('personal.profile') }}
</a-doption>
<a-doption @click="logOut">
<!-- <template #icon>
<icon-logout />
</template> -->
{{ t('menu.logout') }}
</a-doption>
</template>
</a-dropdown>
<img src="../../assets/images/headers/8.png" alt="avatar" <img src="../../assets/images/headers/8.png" alt="avatar"
class="w-[27] h-[24px] ml-[24px] cursor-pointer"/> class="w-[27] h-[24px] ml-[24px] cursor-pointer"/>
</div> </div>
...@@ -72,6 +88,11 @@ const goPage = (path: string) => { ...@@ -72,6 +88,11 @@ const goPage = (path: string) => {
router.push(path) router.push(path)
} }
const logOut = async () => {
await userStore.signOutAsync()
goPage('/login')
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
...@@ -93,5 +114,14 @@ const goPage = (path: string) => { ...@@ -93,5 +114,14 @@ const goPage = (path: string) => {
.app-menu-divider{ .app-menu-divider{
border-color: var(--primary-4); border-color: var(--primary-4);
} }
:deep(.arco-btn-primary, .arco-btn-primary){
background-color: var(--primary-6);
}
:deep(.arco-btn-primary:hover, .arco-btn-primary){
background-color: var(--primary-6);
}
:deep(.arco-btn-primary, .arco-btn-primary:hover){
background-color: var(--primary-6);
}
</style> </style>
...@@ -507,8 +507,6 @@ class UserService { ...@@ -507,8 +507,6 @@ class UserService {
/** /**
* 获取个人中心信息 * 获取个人中心信息
* @param email 邮箱地址
* @param code 验证码
* @param tenantId 租户ID(可选) * @param tenantId 租户ID(可选)
* @returns 验证结果 * @returns 验证结果
*/ */
......
...@@ -132,6 +132,26 @@ export const useUserStore = defineStore('user', { ...@@ -132,6 +132,26 @@ export const useUserStore = defineStore('user', {
this.userInfo = {} this.userInfo = {}
}, },
/**
* 退出登录
*/
async signOutAsync(): Promise<void> {
try {
// 使用新的 UserService 退出登录
// await UserService.logoutAsync()
this.token = ''
this.userInfo = null
this.denied = false
} catch (error) {
console.error('Sign out error:', error)
} finally {
// 清空用户信息
this.token = ''
this.userInfo = null
this.denied = false
}
},
/** /**
* 设置访问被拒绝状态 * 设置访问被拒绝状态
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment