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(() => {
-