diff --git a/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue b/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue index e4278eef..10b5baa9 100644 --- a/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue +++ b/Yi.Ai.Vue3/src/layouts/components/ChatAside/index.vue @@ -759,6 +759,7 @@ function toggleSidebar() { transform: translateX(-100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); + background: #fff; &.aside-collapsed { transform: translateX(-100%); diff --git a/Yi.Ai.Vue3/src/layouts/components/Header/components/AiTutorialBtn.vue b/Yi.Ai.Vue3/src/layouts/components/Header/components/AiTutorialBtn.vue index bd7f2647..566f5d7c 100644 --- a/Yi.Ai.Vue3/src/layouts/components/Header/components/AiTutorialBtn.vue +++ b/Yi.Ai.Vue3/src/layouts/components/Header/components/AiTutorialBtn.vue @@ -14,27 +14,6 @@ function openTutorial() { > 文档 - - - - - @@ -70,19 +49,4 @@ function openTutorial() { } } } - -// 移动端显示图标,隐藏文字 -@media (max-width: 768px) { - .ai-tutorial-btn-container { - .ai-tutorial-btn { - .pc-text { - display: none; - } - - .mobile-icon { - display: inline; - } - } - } -} diff --git a/Yi.Ai.Vue3/src/layouts/components/Header/components/AnnouncementBtn.vue b/Yi.Ai.Vue3/src/layouts/components/Header/components/AnnouncementBtn.vue index 9df9fe82..22dbe36a 100644 --- a/Yi.Ai.Vue3/src/layouts/components/Header/components/AnnouncementBtn.vue +++ b/Yi.Ai.Vue3/src/layouts/components/Header/components/AnnouncementBtn.vue @@ -17,24 +17,6 @@ function openAnnouncement() { > 公告 - - -
- - - - -
@@ -151,26 +133,4 @@ function openAnnouncement() { box-shadow: 0 1px 2px rgba(245, 108, 108, 0.2); } } - -/* 移动端显示图标,隐藏文字 */ -@media (max-width: 768px) { - .pc-text { - display: none; - } - - .mobile-icon { - display: block; - } - - .announcement-btn { - padding: 8px; - } -} - -/* 响应式调整 */ -@media (min-width: 769px) { - .mobile-icon { - display: none; - } -} diff --git a/Yi.Ai.Vue3/src/layouts/components/Header/index.vue b/Yi.Ai.Vue3/src/layouts/components/Header/index.vue index 54b4af58..78290e2b 100644 --- a/Yi.Ai.Vue3/src/layouts/components/Header/index.vue +++ b/Yi.Ai.Vue3/src/layouts/components/Header/index.vue @@ -1,5 +1,5 @@ @@ -166,7 +269,12 @@ function handleConsoleClick(e: MouseEvent) { height: var(--header-container-default-height, 64px); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); user-select: none; + position: relative; +} +// 移动端头部(默认隐藏) +.mobile-header { + display: none; } .header-menu { @@ -294,6 +402,112 @@ function handleConsoleClick(e: MouseEvent) { margin-left: 4px; } +// 移动端头部样式 +.mobile-brand { + display: flex; + align-items: center; + gap: 10px; + cursor: pointer; + padding: 8px; + border-radius: 6px; + transition: background-color 0.2s; + + &:hover { + background-color: var(--menu-hover-bg); + } +} + +.mobile-logo { + width: 32px; + height: 32px; + flex-shrink: 0; +} + +.mobile-brand-text { + font-size: 18px; + font-weight: 600; + color: var(--brand-color, #000000); +} + +.mobile-actions { + display: flex; + align-items: center; + gap: 8px; +} + +.mobile-avatar { + display: flex; + align-items: center; +} + +.menu-toggle { + padding: 8px; + color: var(--el-text-color-primary); + + &:hover { + color: var(--el-color-primary); + } +} + +// 移动端抽屉样式 +.drawer-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0; +} + +.drawer-title { + font-size: 18px; + font-weight: 600; + color: var(--el-text-color-primary); +} + +.mobile-menu { + border: none; + + :deep(.el-sub-menu__title), + :deep(.el-menu-item) { + height: 48px; + line-height: 48px; + padding: 0 20px !important; + margin: 4px 0; + border-radius: 8px; + transition: all 0.2s; + + &:hover { + background-color: var(--el-color-primary-light-9); + } + + &.is-active { + color: var(--el-color-primary); + background-color: var(--el-color-primary-light-9); + font-weight: 500; + } + } + + :deep(.el-icon) { + margin-right: 12px; + font-size: 18px; + } +} + +.mobile-menu-actions { + margin-top: 20px; + padding: 16px 0; + border-top: 1px solid var(--el-border-color-light); + + .action-item { + padding: 8px 20px; + margin: 4px 0; + + &:hover { + background-color: var(--el-color-primary-light-9); + border-radius: 8px; + } + } +} + // 响应式设计 @media (max-width: 1280px) { .brand-text { @@ -340,52 +554,37 @@ function handleConsoleClick(e: MouseEvent) { } @media (max-width: 768px) { - .brand-text { - display: none; + // 隐藏桌面端菜单 + .desktop-menu { + display: none !important; } - .logo-img { - width: 32px; - height: 32px; - } - - .menu-left { - margin-left: 12px; - } - - .menu-right { - margin-right: 8px; - - // 隐藏按钮文字 - :deep(.button-text) { - display: none; - } - - .menu-title { - display: none; - } - - // 显示图标 - :deep(.el-icon) { - font-size: 18px; - } - } - - :deep(.el-menu-item), - :deep(.el-sub-menu__title) { - padding: 0 8px !important; - min-width: auto !important; + // 显示移动端头部 + .mobile-header { + display: flex; + align-items: center; + justify-content: space-between; + height: 100%; + padding: 0 12px; } } @media (max-width: 480px) { - .menu-right { - gap: 0; + .mobile-header { + padding: 0 8px; + } - :deep(.el-menu-item), - :deep(.el-sub-menu__title) { - padding: 0 6px !important; - } + .mobile-brand-text { + font-size: 16px; + } + + .mobile-logo { + width: 28px; + height: 28px; + } + + .mobile-actions { + gap: 4px; } } diff --git a/Yi.Ai.Vue3/src/pages/chat/image/components/ImageGenerator.vue b/Yi.Ai.Vue3/src/pages/chat/image/components/ImageGenerator.vue index 067daa8f..03a82d35 100644 --- a/Yi.Ai.Vue3/src/pages/chat/image/components/ImageGenerator.vue +++ b/Yi.Ai.Vue3/src/pages/chat/image/components/ImageGenerator.vue @@ -351,11 +351,11 @@ onUnmounted(() => {