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