From eeddc808a8d6428bfd1c2d6e21e4a71f5e9bdbef Mon Sep 17 00:00:00 2001 From: houzhongjian <houzhongyi@126.com> Date: 星期五, 13 十二月 2024 10:41:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/layout/components/Logo/src/Logo.vue | 33 ++++++++++++++++++++++++++++++++- 1 files changed, 32 insertions(+), 1 deletions(-) diff --git a/src/layout/components/Logo/src/Logo.vue b/src/layout/components/Logo/src/Logo.vue index d241130..ef80370 100644 --- a/src/layout/components/Logo/src/Logo.vue +++ b/src/layout/components/Logo/src/Logo.vue @@ -1,7 +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 {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' }) @@ -13,11 +23,15 @@ const show = ref(true) +const homePath = ref('/index') + const title = computed(() => appStore.getTitle) const layout = computed(() => appStore.getLayout) const collapse = computed(() => appStore.getCollapse) + +homePath.value = '/index' onMounted(() => { if (unref(collapse)) show.value = false @@ -54,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> @@ -64,7 +94,8 @@ layout !== 'classic' ? `${prefixCls}__Top` : '', 'flex !h-[var(--logo-height)] items-center cursor-pointer pl-8px relative decoration-none overflow-hidden' ]" - to="/" + @click="gotoHome" + :to="homePath" > <img class="h-[calc(var(--logo-height)-10px)] w-[calc(var(--logo-height)-10px)]" -- Gitblit v1.9.3