From 83af3dd309889489f541fc8e21894c9f79e5788c Mon Sep 17 00:00:00 2001 From: zhangwei <1504152376@qq.com> Date: 星期五, 22 八月 2025 16:09:58 +0800 Subject: [PATCH] 用户管理 --- src/layout/hooks/useNav.ts | 45 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 37 insertions(+), 8 deletions(-) diff --git a/src/layout/hooks/useNav.ts b/src/layout/hooks/useNav.ts index 2da245e..88ff49c 100644 --- a/src/layout/hooks/useNav.ts +++ b/src/layout/hooks/useNav.ts @@ -2,7 +2,7 @@ import { getConfig } from "@/config"; import { emitter } from "@/utils/mitt"; import Avatar from "@/assets/user.jpg"; -import { getTopMenu } from "@/router/utils"; +import { initRouter, getTopMenu, handleAliveRoute } from "@/router/utils"; import { useFullscreen } from "@vueuse/core"; import type { routeMetaType } from "../types"; import { useRouter, useRoute } from "vue-router"; @@ -14,6 +14,8 @@ import { usePermissionStoreHook } from "@/store/modules/permission"; import ExitFullscreen from "~icons/ri/fullscreen-exit-fill"; import Fullscreen from "~icons/ri/fullscreen-fill"; +import { unref } from "vue"; +import { message } from "@/utils/message"; const errorInfo = "The current routing configuration is incorrect, please check the configuration"; @@ -51,13 +53,14 @@ : useUserStoreHook()?.nickname; }); - /** 瑙掕壊 */ + /** 褰撳墠瑙掕壊 */ const userRoles = computed(() => { - console.log(useUserStoreHook()?.roles, "useUserStoreHook()?.roles"); + return useUserStoreHook()?.nowRole; + }); - return isAllEmpty(useUserStoreHook()?.roles) - ? useUserStoreHook()?.roles - : {}; + /** 瑙掕壊 */ + const userRolesList = computed(() => { + return useUserStoreHook()?.exRoles ?? []; }); const avatarsStyle = computed(() => { @@ -87,7 +90,31 @@ if (Title) document.title = `${meta.title} | ${Title}`; else document.title = meta.title; } - + /** 鍒锋柊璺敱 */ + function onFresh() { + const { fullPath, query } = unref(route); + router.replace({ + path: "/redirect" + fullPath, + query + }); + handleAliveRoute(route as ToRouteType, "refresh"); + } + /** 鍒囨崲瑙掕壊 */ + const changRole = item => { + useUserStoreHook() + .changeLogoInExRule({ + ruleCode: item.code + }) + .then(res => { + if (res.code == 200) { + // 鑾峰彇鍚庣璺敱 + initRouter(); + onFresh(); + } else { + message(res?.message, { type: "warning" }); + } + }); + }; /** 閫�鍑虹櫥褰� */ function logout() { useUserStoreHook().logOut(); @@ -160,8 +187,10 @@ pureApp, username, userRoles, + userRolesList, userAvatar, avatarsStyle, - tooltipEffect + tooltipEffect, + changRole }; } -- Gitblit v1.9.1