From bb540ced45998ff5d829c1a6f14363d27750f3f3 Mon Sep 17 00:00:00 2001 From: XingQue Date: Mon, 6 Jul 2026 19:03:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BE=A7=E6=A0=8F=E4=BB=85=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E6=9C=8D=E5=8A=A1=E7=AB=AFvisible=5Fpage=5Fids?= =?UTF-8?q?=EF=BC=8C=E6=97=A0=E6=9D=83=E9=99=90=E4=B8=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=95=86=E5=AE=B6=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- src/utils/club-context.js | 30 ++++++------------------------ src/views/order/MerchantOrder.vue | 1 + 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/src/utils/club-context.js b/src/utils/club-context.js index aa35807..b83f01c 100644 --- a/src/utils/club-context.js +++ b/src/utils/club-context.js @@ -3,7 +3,7 @@ const CLUB_SCOPE_KEY = 'admin_club_scope'; const CLUB_CONTEXT_KEY = 'admin_club_context'; const MENU_ACCESS_KEY = 'kefu_menu_access'; const MENU_SESSION_KEY = 'kefu_menu_session_v'; -const MENU_SESSION_VERSION = '18'; +const MENU_SESSION_VERSION = '19'; const DEFAULT_CLUB_ID = 'xq'; let menuAccessInflight = null; @@ -196,13 +196,7 @@ function pageAllowedByCodes(pageId, codes) { export function getEffectiveVisiblePaths(access = null) { const a = access || getMenuAccess(); const paths = a?.visible_paths; - if (Array.isArray(paths) && paths.length > 0) { - return paths; - } - if (Array.isArray(a?.visible_page_ids) && a.visible_page_ids.length === 0) { - return []; - } - return pathsFromPermissionCodes(a?.permission_codes || []); + return Array.isArray(paths) ? paths : []; } export function hasPermCode(access, ...codes) { @@ -215,22 +209,10 @@ export function canShowMenuPage(pageId) { const access = getMenuAccess(); if (!access) return false; const ids = access?.visible_page_ids; - if (Array.isArray(ids) && ids.length > 0) { - if (ids.includes(pageId)) return true; - const children = KEFU_MENU_PARENT_IDS[pageId]; - return children ? children.some((id) => ids.includes(id)) : false; - } - const paths = access?.visible_paths; - if (Array.isArray(paths) && paths.length > 0) { - const row = KEFU_MENU_ROWS.find((r) => r.page_id === pageId); - if (row?.path && paths.includes(row.path)) return true; - } - if (Array.isArray(ids) && ids.length === 0) return false; - const row = KEFU_MENU_ROWS.find((r) => r.page_id === pageId); - if (row?.perm_codes?.length) { - return hasPermCode(access, ...row.perm_codes); - } - return false; + if (!Array.isArray(ids) || ids.length === 0) return false; + if (ids.includes(pageId)) return true; + const children = KEFU_MENU_PARENT_IDS[pageId]; + return children ? children.some((id) => ids.includes(id)) : false; } export function getFirstVisiblePath() { diff --git a/src/views/order/MerchantOrder.vue b/src/views/order/MerchantOrder.vue index 8c71c93..9976150 100644 --- a/src/views/order/MerchantOrder.vue +++ b/src/views/order/MerchantOrder.vue @@ -260,6 +260,7 @@ const fetchOrders = async () => { } } else if (res.code === 403) { hasPermission.value = false + ElMessage.warning(res.msg || '当前俱乐部无商家订单权限') } else { ElMessage.error(res.msg || '获取订单列表失败') }