From e18d5f610f9522d02e3ec61f19cbdc07d0c0ba19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=BC=A0?= <2091066548@qq.com> Date: Fri, 22 Aug 2025 17:11:28 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=89=93=E5=8C=85=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/layout/AppHeader.vue | 39 ++++++++---------- src/views/Faculty.vue | 18 ++++----- src/views/NotFound.vue | 61 ++++++++++++++++++++++++++--- 3 files changed, 81 insertions(+), 37 deletions(-) diff --git a/src/components/layout/AppHeader.vue b/src/components/layout/AppHeader.vue index aec8657..3587ed2 100644 --- a/src/components/layout/AppHeader.vue +++ b/src/components/layout/AppHeader.vue @@ -91,12 +91,10 @@ {{ t('header.management') }} - +
@@ -285,16 +283,11 @@ const showLoginModal = () => { loginModalVisible.value = true } -// 显示注册模态框 -const showRegisterModal = () => { - // 这里可以根据实际需求判断是否弹出内测通知 - // 例如:如果要弹出内测通知,直接显示registerNoticeVisible - // 否则显示注册弹窗 - // 目前假设直接弹注册弹窗 - registerModalVisible.value = true - registerNoticeVisible.value = false - -} +// 显示注册模态框(已移除注册功能,保留函数以防后续需要) +// const showRegisterModal = () => { +// registerModalVisible.value = true +// registerNoticeVisible.value = false +// } // 认证成功处理 const handleAuthSuccess = () => { @@ -659,9 +652,9 @@ onUnmounted(() => { background: #0088D1; color: white; border-radius: 5px; - padding: 8px 10px; - font-size: 12px; - font-weight: 400; + padding: 6px 24px; + font-size: 15px; + font-weight: 500; cursor: pointer; transition: all 0.2s; } @@ -670,16 +663,16 @@ onUnmounted(() => { background: #40a9ff; } - .auth-login, - .auth-register { - padding: 0 8px; + .auth-login { + padding: 0; cursor: pointer; transition: all 0.2s; + font-size: inherit; + font-weight: inherit; } - - .auth-login:hover, - .auth-register:hover { - opacity: 0.8; + + .auth-login:hover { + opacity: 0.9; } .auth-divider { diff --git a/src/views/Faculty.vue b/src/views/Faculty.vue index c230257..7c2ab17 100644 --- a/src/views/Faculty.vue +++ b/src/views/Faculty.vue @@ -128,14 +128,14 @@ const navigateToTeacherDetail = (teacherId: number) => { router.push(`/teacher/${teacherId}`) } -// 处理箭头点击 -const toggleCourseInfo = (teacherId: number) => { - if (expandedTeacherId.value === teacherId) { - expandedTeacherId.value = null - } else { - expandedTeacherId.value = teacherId - } -} +// 处理箭头点击(保留以防后续需要) +// const toggleCourseInfo = (teacherId: number) => { +// if (expandedTeacherId.value === teacherId) { +// expandedTeacherId.value = null +// } else { +// expandedTeacherId.value = teacherId +// } +// } // 鼠标悬停显示课程信息 const showCourseInfo = (teacherId: number) => { @@ -143,7 +143,7 @@ const showCourseInfo = (teacherId: number) => { } // 鼠标离开隐藏课程信息 -const hideCourseInfo = (teacherId: number) => { +const hideCourseInfo = (_teacherId: number) => { expandedTeacherId.value = null } diff --git a/src/views/NotFound.vue b/src/views/NotFound.vue index ae34cf2..c61482a 100644 --- a/src/views/NotFound.vue +++ b/src/views/NotFound.vue @@ -45,12 +45,25 @@ import { AlertCircleOutline } from '@vicons/ionicons5' align-items: center; justify-content: center; background: #f8f9fa; + padding: 20px; + box-sizing: border-box; +} + +.container { + width: 100%; + display: flex; + align-items: center; + justify-content: center; } .not-found-content { text-align: center; max-width: 500px; + width: 100%; padding: 40px; + background: white; + border-radius: 12px; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); } .error-image { @@ -121,21 +134,59 @@ p { } @media (max-width: 768px) { - .not-found-content { - padding: 20px; + .not-found { + padding: 15px; } - + + .not-found-content { + padding: 30px 20px; + max-width: 400px; + } + h1 { font-size: 4rem; } - + h2 { font-size: 1.5rem; } - + .actions { flex-direction: column; align-items: center; + gap: 12px; + } + + .actions .n-button { + width: 100%; + max-width: 200px; + } +} + +@media (max-width: 480px) { + .not-found { + padding: 10px; + } + + .not-found-content { + padding: 20px 15px; + max-width: 350px; + } + + h1 { + font-size: 3rem; + } + + h2 { + font-size: 1.3rem; + } + + p { + font-size: 1rem; + } + + .suggestions { + padding: 20px; } }