From 9916f2a3384652a2f12dcc3fd4bae15c098961c7 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Fri, 2 Oct 2026 22:21:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(gerp):=20=E5=88=87=E6=8D=A2=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E5=90=8E=E9=87=8D=E6=96=B0=E5=88=A4=E5=AE=9A=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E8=BA=AB=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RoleSwitcher 切角色后只刷新用户信息/菜单/角色,未刷新 CheckAdmin,导致 isAdmin 与 role_scope 停留在上一个角色:从普通角色切到「银河锋锐负责人」(admin:tenant)后,应用市场不显示「安装」按钮,无法开通应用。 - confirm() 补 await userStore.fetchAdminCheck() - 同类入口(DefaultLayout 的切换角色)走同一对话框,一并修复 --- src/components/RoleSwitcher.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/RoleSwitcher.vue b/src/components/RoleSwitcher.vue index 617e2c0..57c6699 100644 --- a/src/components/RoleSwitcher.vue +++ b/src/components/RoleSwitcher.vue @@ -60,6 +60,9 @@ async function confirm(): Promise { await userStore.fetchUserInfo() await userStore.fetchMenus() await userStore.fetchRoles() + // 管理员身份必须按新角色重新判定,否则 isAdmin/roleScope 会停留在上一个角色 + // (应用市场「安装」按钮、授权审批入口等都依赖它) + await userStore.fetchAdminCheck() tabsStore.reset() ElMessage.success(`已切换为 "${selectedRole.value.RoleName}"`) emit('switched', selectedRole.value)