From 2bd5b4f32d19abf1ef1cbbcba2b4686486ffcf0f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期六, 10 十月 2026 11:59:34 +0800
Subject: [PATCH] 风格替换

---
 hugray-admin/src/layout/components/Navbar.vue |  112 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 63 insertions(+), 49 deletions(-)

diff --git a/hugray-admin/src/layout/components/Navbar.vue b/hugray-admin/src/layout/components/Navbar.vue
index 20221b5..281156b 100644
--- a/hugray-admin/src/layout/components/Navbar.vue
+++ b/hugray-admin/src/layout/components/Navbar.vue
@@ -10,15 +10,7 @@
 
     <div class="right-menu">
       <template v-if="appStore.device !== 'mobile'">
-        <header-search id="header-search" class="right-menu-item" />
-
-        <el-tooltip content="源码地址" effect="dark" placement="bottom">
-          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
-        <el-tooltip content="文档地址" effect="dark" placement="bottom">
-          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
-        </el-tooltip>
+        <header-search id="header-search" class="right-menu-item hover-effect" />
 
         <screenfull id="screenfull" class="right-menu-item hover-effect" />
 
@@ -40,8 +32,7 @@
 
       <el-dropdown @command="handleCommand" class="avatar-container right-menu-item hover-effect" trigger="hover">
         <div class="avatar-wrapper">
-          <img :src="userStore.avatar" class="user-avatar" />
-          <span class="user-nickname"> {{ userStore.nickName }} </span>
+          <div class="avatar-initial">{{ avatarLetter }}</div>
         </div>
         <template #dropdown>
           <el-dropdown-menu>
@@ -74,8 +65,6 @@
 import Screenfull from '@/components/Screenfull'
 import SizeSelect from '@/components/SizeSelect'
 import HeaderSearch from '@/components/HeaderSearch'
-import RuoYiGit from '@/components/RuoYi/Git'
-import RuoYiDoc from '@/components/RuoYi/Doc'
 import useAppStore from '@/store/modules/app'
 import useUserStore from '@/store/modules/user'
 import useLockStore from '@/store/modules/lock'
@@ -88,6 +77,9 @@
 const userStore = useUserStore()
 const lockStore = useLockStore()
 const settingsStore = useSettingsStore()
+
+// 顶栏头像为设计稿的绿色首字母圆,取昵称首字母(无昵称时兜底 A)
+const avatarLetter = computed(() => (userStore.nickName || 'A').charAt(0).toUpperCase())
 
 function toggleSideBar() {
   appStore.toggleSideBar()
@@ -190,6 +182,8 @@
   align-items: center;
   // padding: 0 8px;
   box-sizing: border-box;
+  /* 品牌深蓝顶栏:hamburger 等用 fill="currentColor" 的图标继承白字 */
+  color: #ffffff;
 
   .hamburger-container {
     line-height: 46px;
@@ -203,12 +197,24 @@
     margin-right: 8px;
 
     &:hover {
-      background: rgba(0, 0, 0, 0.025);
+      background: rgba(255, 255, 255, 0.12);
     }
   }
 
   .breadcrumb-container {
     flex-shrink: 0;
+  }
+
+  /* 面包屑在深蓝底上改白系(#breadcrumb-container 提权以盖过 Breadcrumb 组件内 .no-redirect 的灰字) */
+  #breadcrumb-container {
+    :deep(.el-breadcrumb__inner),
+    :deep(.el-breadcrumb__separator) {
+      color: rgba(255, 255, 255, 0.85);
+    }
+
+    :deep(.el-breadcrumb__inner.is-link:hover) {
+      color: #ffffff;
+    }
   }
 
   .topmenu-container {
@@ -236,30 +242,46 @@
       outline: none;
     }
 
+    /* 设计稿顶栏右侧为一排白色描边的圆形图标按钮 */
     .right-menu-item {
-      display: inline-block;
-      padding: 0 8px;
-      height: 100%;
-      font-size: 18px;
-      color: #5a5e66;
-      vertical-align: text-bottom;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      width: 30px;
+      height: 30px;
+      padding: 0;
+      margin: 0 5px;
+      font-size: 15px;
+      color: #ffffff;
+      border: 1px solid rgba(255, 255, 255, 0.35);
+      border-radius: 50%;
+      flex-shrink: 0;
 
       &.hover-effect {
         cursor: pointer;
-        transition: background 0.3s;
+        transition: background 0.3s, border-color 0.3s;
 
         &:hover {
-          background: rgba(0, 0, 0, 0.025);
+          background: rgba(255, 255, 255, 0.12);
+          border-color: rgba(255, 255, 255, 0.6);
         }
       }
 
-      &.theme-switch-wrapper {
-        display: flex;
-        align-items: center;
+      /* 子组件自带的行高/内边距会在圆形按钮里偏心,归零让图标居中 */
+      :deep(.size-icon--style) {
+        line-height: 1;
+        padding-right: 0;
+      }
 
+      :deep(.size-icon),
+      :deep(.search-icon) {
+        font-size: 15px;
+      }
+
+      &.theme-switch-wrapper {
         svg {
           transition: transform 0.3s;
-          
+
           &:hover {
             transform: scale(1.15);
           }
@@ -267,37 +289,29 @@
       }
     }
 
-    .avatar-container {
-      margin-right: 0px;
-      padding-right: 0px;
+    /* 头像容器不参与描边圆按钮:内层是设计稿的绿色首字母实心圆 */
+    .avatar-container,
+    .avatar-container.hover-effect:hover {
+      border: none;
+      background: transparent;
 
       .avatar-wrapper {
-        margin-top: 10px;
-        right: 8px;
-        position: relative;
+        display: flex;
+        align-items: center;
 
-        .user-avatar {
-          cursor: pointer;
+        .avatar-initial {
+          display: flex;
+          align-items: center;
+          justify-content: center;
           width: 30px;
           height: 30px;
-          margin-right: 8px;
           border-radius: 50%;
-        }
-
-        .user-nickname{
-          position: relative;
-          left: 0px;
-          bottom: 10px;
+          background-color: #80BF40;
+          color: #ffffff;
           font-size: 14px;
-          font-weight: bold;
-        }
-
-        i {
+          font-weight: 600;
           cursor: pointer;
-          position: absolute;
-          right: -20px;
-          top: 25px;
-          font-size: 12px;
+          user-select: none;
         }
       }
     }

--
Gitblit v1.7.1