fix: menu_access 返回 permission_codes 便于排查无菜单权限
This commit is contained in:
@@ -38,6 +38,12 @@ def _page_visible(page, permissions, user):
|
||||
return any(code in permissions for code in codes)
|
||||
|
||||
|
||||
def _permission_codes_list(permissions):
|
||||
if _is_super_permissions(permissions):
|
||||
return ['000001']
|
||||
return list(permissions) if permissions else []
|
||||
|
||||
|
||||
def build_menu_access_payload(request, username=None):
|
||||
"""
|
||||
根据用户 gvsdsdk 权限计算可见菜单 page_id 列表。
|
||||
@@ -79,6 +85,7 @@ def build_menu_access_payload(request, username=None):
|
||||
return {
|
||||
'visible_page_ids': sorted(set(visible_ids)),
|
||||
'visible_paths': visible_paths,
|
||||
'permission_codes': _permission_codes_list(permissions),
|
||||
'can_switch_club': bool(club_ctx.get('can_switch_club')),
|
||||
'is_group_admin': bool(club_ctx.get('is_group_admin')),
|
||||
'menu_ready': bool(pages),
|
||||
|
||||
@@ -169,8 +169,10 @@ class ClubKefuLoginView(APIView):
|
||||
'menu_access': menu_access if menu_access else {
|
||||
'visible_page_ids': [],
|
||||
'visible_paths': [],
|
||||
'permission_codes': [],
|
||||
'can_switch_club': False,
|
||||
'is_group_admin': False,
|
||||
'menu_ready': False,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user