diff --git a/jituan/services/kefu_menu.py b/jituan/services/kefu_menu.py index 65d2909..3c10be1 100644 --- a/jituan/services/kefu_menu.py +++ b/jituan/services/kefu_menu.py @@ -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), diff --git a/jituan/views.py b/jituan/views.py index 629e2bf..a9ff4a1 100644 --- a/jituan/views.py +++ b/jituan/views.py @@ -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, }, }, })