From c80ff80bf09059349323b82174e6fdb9224a28a9 Mon Sep 17 00:00:00 2001 From: sexygoat <1538832180@qq.com> Date: Tue, 28 Apr 2026 15:32:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B4=A6=E5=8F=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/composables/useLogin.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/composables/useLogin.ts b/src/composables/useLogin.ts index e4517e0..9477047 100644 --- a/src/composables/useLogin.ts +++ b/src/composables/useLogin.ts @@ -5,7 +5,7 @@ import { ref, reactive, computed, onMounted } from 'vue' import { useRouter, useRoute } from 'vue-router' import { useI18n } from 'vue-i18n' -import { ElNotification } from 'element-plus' +import { ElNotification, ElMessage } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus' import { useUserStore } from '@/store/modules/user' import { HOME_PAGE, RoutesAlias } from '@/router/routesAlias' @@ -110,7 +110,7 @@ export function useLogin() { // 检查用户类型 - 禁止企业账号登录 if (response.data.user && response.data.user.user_type === 4) { - console.log('企业账号无法登录后台管理系统') + ElMessage.error('企业账号无法登录后台管理系统,请使用平台/代理账号登录') return } @@ -122,7 +122,7 @@ export function useLogin() { userStore.setUserInfo(response.data.user) userStore.setLoginStatus(true) } else { - console.log(t('login.error.getUserInfoFailed')) + ElMessage.error(t('login.error.getUserInfoFailed')) return } @@ -137,6 +137,19 @@ export function useLogin() { userStore.setButtons(response.data.buttons) } + // 检查权限和菜单是否为空 + const hasPermissions = response.data.permissions && response.data.permissions.length > 0 + const hasMenus = response.data.menus && response.data.menus.length > 0 + + if (!hasPermissions || !hasMenus) { + ElMessage.warning({ + message: '当前账号暂无任何权限,请联系管理员分配角色和权限', + duration: 4000, + showClose: true + }) + // 虽然没有权限,但仍然允许登录,让用户看到空白页面而不是停留在登录页 + } + // 保存记住密码 saveCredentials(formData.username, formData.password, formData.rememberPassword)