From 8b40f521b99ba9e5af7bb38587e4a4a4a0599193 Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期四, 02 一月 2025 09:41:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/layout/components/Logo/src/Logo.vue |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/src/layout/components/Logo/src/Logo.vue b/src/layout/components/Logo/src/Logo.vue
index 2d1cfb6..ef80370 100644
--- a/src/layout/components/Logo/src/Logo.vue
+++ b/src/layout/components/Logo/src/Logo.vue
@@ -1,8 +1,17 @@
 <script lang="ts" setup>
 import { computed, onMounted, ref, unref, watch } from 'vue'
 import { useAppStore } from '@/store/modules/app'
+import { useUserStoreWithOut } from '@/store/modules/user'
+import { usePermissionStoreWithOut } from '@/store/modules/permission'
 import { useDesign } from '@/hooks/web/useDesign'
-import * as authUtil from "@/utils/auth";
+import {isRelogin} from "@/config/axios/service";
+import router from "@/router";
+import type {RouteRecordRaw} from "vue-router";
+import {CACHE_KEY, useCache, useSessionCache} from "@/hooks/web/useCache";
+import {getAccessToken} from "@/utils/auth";
+import {getInfo} from "@/api/login";
+const { wsCache } = useCache()
+const { wsSessionCache } = useSessionCache()
 
 defineOptions({ name: 'Logo' })
 
@@ -59,6 +68,22 @@
     }
   }
 )
+
+/** 刷新所有菜单权限 */
+const gotoHome = async () => {
+  const permissionStore = usePermissionStoreWithOut()
+  isRelogin.show = true
+  let userInfo = await getInfo()
+  wsCache.set(CACHE_KEY.USER, userInfo)
+  wsSessionCache.set(CACHE_KEY.ROLE_ROUTERS, userInfo.menus)
+  isRelogin.show = false
+  // 后端过滤菜单
+  await permissionStore.generateRoutes()
+  permissionStore.getAddRouters.forEach((route) => {
+    router.addRoute(route as unknown as RouteRecordRaw) // 动态添加可访问路由表
+  })
+}
+
 </script>
 
 <template>
@@ -69,6 +94,7 @@
         layout !== 'classic' ? `${prefixCls}__Top` : '',
         'flex !h-[var(--logo-height)] items-center cursor-pointer pl-8px relative decoration-none overflow-hidden'
       ]"
+      @click="gotoHome"
       :to="homePath"
     >
       <img

--
Gitblit v1.9.3