From 91eccc205cc66b5962852ecfcff27556a44faee0 Mon Sep 17 00:00:00 2001 From: tanghaolin <1723298894@qq.com> Date: 星期四, 13 二月 2025 18:09:59 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/IEE/Web.V1 --- src/components/AppHeader.vue | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/components/AppHeader.vue b/src/components/AppHeader.vue index 1b18f5f..b168b58 100644 --- a/src/components/AppHeader.vue +++ b/src/components/AppHeader.vue @@ -30,9 +30,15 @@ </el-input> <div class="flex items-center text-gray-600 text-sm text-nowrap"> - <a href="#" class="hover:text-blue-500">娉ㄥ唽</a> - <span class="mx-2">路</span> - <router-link to="/login" class="hover:text-blue-500">鐧诲綍</router-link> + <template v-if="!userInfo"> + <a href="#" class="hover:text-blue-500">娉ㄥ唽</a> + <span class="mx-2">路</span> + <router-link to="/login" class="hover:text-blue-500">鐧诲綍</router-link> + </template> + <template v-else> + <span class="text-blue-500 mr-2">{{ userInfo.username }}</span> + <a href="#" class="hover:text-blue-500" @click.prevent="handleLogout">閫�鍑�</a> + </template> </div> </div> </div> @@ -43,12 +49,29 @@ <script setup lang="ts"> import headerLogo from '@/assets/logo/header_logo.png'; import { Search } from '@element-plus/icons-vue'; +import { ElMessage } from 'element-plus'; import { computed, ref } from 'vue'; -import { useRoute } from 'vue-router'; +import { useRoute, useRouter } from 'vue-router'; + const route = useRoute(); +const router = useRouter(); const searchQuery = ref(''); const activeRoute = computed(() => route.path); + +// 鑾峰彇鐢ㄦ埛淇℃伅 +const userInfo = computed(() => { + const info = localStorage.getItem('userInfo'); + return info ? JSON.parse(info) : null; +}); + +// 澶勭悊鐧诲嚭 +const handleLogout = () => { + localStorage.removeItem('userInfo'); + ElMessage.success('宸查��鍑虹櫥褰�'); + router.push('/login'); +}; + const linkClick = (url) => { window.open(url, '_blank'); }; -- Gitblit v1.9.3