优化Navbar管理员判断:优先检查roleIds,添加调试日志

This commit is contained in:
Your Name 2026-01-02 15:58:50 +08:00
parent 94a4e79a31
commit 9197c06cc3

View File

@ -126,7 +126,18 @@ const userInfo = computed(() => ({
// 判断是否是管理员
const isAdmin = computed(() => {
// 优先从userInfo.roles获取角色列表
// 优先检查roleIds(最可靠)
if (authStore.userInfo?.roleIds) {
const roleIds = authStore.userInfo.roleIds.split(',').map((id: string) => id.trim())
// roleId 2 = ADMIN, 1 = SUPER_ADMIN
const isAdminByRoleIds = roleIds.includes('2') || roleIds.includes('1')
if (isAdminByRoleIds) {
console.log('[Navbar] 通过roleIds判断为管理员:', roleIds)
return true
}
}
// 其次从userInfo.roles获取角色列表
const roles = authStore.userInfo?.roles || authStore.userRoles || []
// 检查是否包含管理员角色(ADMIN 或 SUPER_ADMIN)
@ -135,14 +146,14 @@ const isAdmin = computed(() => {
return roleCode === 'ADMIN' || roleCode === 'SUPER_ADMIN'
})
// 如果通过roles没找到,再检查roleIds(兼容旧版)
if (!hasAdminRole && authStore.userInfo?.roleIds) {
const roleIds = authStore.userInfo.roleIds.split(',').map((id: string) => id.trim())
// roleId 2 = ADMIN, 1 = SUPER_ADMIN
return roleIds.includes('2') || roleIds.includes('1')
if (hasAdminRole) {
console.log('[Navbar] 通过roles判断为管理员:', roles)
return true
}
return hasAdminRole
// 调试日志
console.log('[Navbar] 不是管理员 - roleIds:', authStore.userInfo?.roleIds, 'roles:', roles)
return false
})
// 判断菜单是否激活