From dd8157b723ac4320da4048ea8aaa7b6b1ead3847 Mon Sep 17 00:00:00 2001 From: Azure <983547216@qq.com> Date: Thu, 18 Jun 2026 11:40:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=BA=A4=E4=BA=92?= =?UTF-8?q?=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/style/variables.scss | 2 +- src/components/baseLayouts/GameList.vue | 44 +++++++++++++++-- src/components/baseLayouts/UserBar.vue | 65 ++++++++++++++++++++----- src/layouts/AuthPageLayout.vue | 26 +++++----- src/layouts/BaseLayout.vue | 48 ++++++++++++++---- 5 files changed, 146 insertions(+), 39 deletions(-) diff --git a/src/assets/style/variables.scss b/src/assets/style/variables.scss index 8bb4dc0..d56395d 100644 --- a/src/assets/style/variables.scss +++ b/src/assets/style/variables.scss @@ -22,7 +22,7 @@ // 从底层到顶层依次变亮,形成自然层级 --bg-body: #f1f5f9; /* 页面底色:最底层背景 */ --bg-surface: #ffffff; /* 卡片/面板背景:浮于页面之上的容器 */ - --bg-surface-hover: #f8fafc; /* 卡片悬停:鼠标经过时的微变反馈 */ + --bg-surface-hover: #eef2ff; /* 卡片/列表项悬停:鼠标经过时带品牌色微调,明显但不刺眼 */ --bg-sidebar: #f8fafc; /* 侧边栏背景:导航区域的专用底色 */ --bg-topbar: #ffffff; /* 顶部栏背景:顶部导航条的底色 */ --bg-elevated: #ffffff; /* 浮层背景:弹出菜单、下拉面板等最高层 */ diff --git a/src/components/baseLayouts/GameList.vue b/src/components/baseLayouts/GameList.vue index 66e6508..9b3fedd 100644 --- a/src/components/baseLayouts/GameList.vue +++ b/src/components/baseLayouts/GameList.vue @@ -129,7 +129,8 @@ function selectGame(id: string) { flex-shrink: 0; padding: 8px 4px; overflow-y: auto; - border-right: 1px solid var(--border-light); + /* 加粗分隔线,图标区与详情区边界分明 */ + border-right: 2px solid var(--border-default); } .game-list__icon-item { @@ -138,16 +139,34 @@ function selectGame(id: string) { justify-content: center; width: 48px; height: 48px; - border-radius: 12px; + border-radius: var(--radius-sm); cursor: pointer; - transition: background-color 0.2s ease; + transition: background-color 0.15s ease, transform 0.15s ease; &:hover { background-color: var(--bg-surface-hover); + transform: scale(1.08); + } + + &:active { + transform: scale(0.95); } &--active { background-color: var(--color-primary-light); + /* 选中态加左侧色条,视觉更突出 */ + position: relative; + + &::before { + content: ''; + position: absolute; + left: 0; + top: 25%; + height: 50%; + width: 3px; + border-radius: 0 3px 3px 0; + background-color: var(--color-primary); + } } } @@ -160,7 +179,7 @@ function selectGame(id: string) { /* ===== 右侧详情面板 ===== */ .game-list__detail { flex: 1; - padding: 16px; + padding: 20px 16px; overflow-y: auto; } @@ -179,9 +198,15 @@ function selectGame(id: string) { } .game-list__detail-gameplay { + /* 玩法介绍卡片 — 浅底圆角,从详情区中独立出来 */ + background-color: var(--bg-body); + border-radius: var(--radius-md); + padding: 14px 16px; + border: 1px solid var(--border-light); + h4 { font-size: 16px; - font-weight: 500; + font-weight: 600; margin-bottom: 8px; color: var(--text-primary); } @@ -195,10 +220,19 @@ function selectGame(id: string) { .game-list__detail-empty { display: flex; + flex-direction: column; align-items: center; justify-content: center; height: 100%; + gap: 8px; color: var(--text-tertiary); font-size: 14px; + + /* 空状态图标 */ + &::before { + content: '🎮'; + font-size: 40px; + opacity: 0.4; + } } diff --git a/src/components/baseLayouts/UserBar.vue b/src/components/baseLayouts/UserBar.vue index 1452672..31dc515 100644 --- a/src/components/baseLayouts/UserBar.vue +++ b/src/components/baseLayouts/UserBar.vue @@ -4,8 +4,12 @@