修复Navbar:优化管理员角色判断逻辑,支持通过roleIds判断管理员
This commit is contained in:
parent
c4ebdb4d71
commit
5840d8a88e
@ -126,12 +126,23 @@ const userInfo = computed(() => ({
|
||||
|
||||
// 判断是否是管理员
|
||||
const isAdmin = computed(() => {
|
||||
const roles = authStore.userRoles || []
|
||||
// 优先从userInfo.roles获取角色列表
|
||||
const roles = authStore.userInfo?.roles || authStore.userRoles || []
|
||||
|
||||
// 检查是否包含管理员角色(ADMIN 或 SUPER_ADMIN)
|
||||
return roles.some((role: any) => {
|
||||
const hasAdminRole = roles.some((role: any) => {
|
||||
const roleCode = typeof role === 'string' ? role : role.roleCode || role.code || ''
|
||||
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')
|
||||
}
|
||||
|
||||
return hasAdminRole
|
||||
})
|
||||
|
||||
// 判断菜单是否激活
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user