| | |
| | | import { getAdminPendingNotices } from '../api/admin' |
| | | import type { AdminPendingNotice } from '../api/admin' |
| | | import { useAppStore } from '../stores/app' |
| | | import { hasAdminPermission } from '../utils/permissions' |
| | | |
| | | interface MenuItem { |
| | | path?: string |
| | |
| | | ] |
| | | |
| | | const financeMenus: MenuItem[] = [ |
| | | { path: '/merchant-settlement', label: '商户结算审核' }, |
| | | { path: '/merchant-settlement', label: '提现管理' }, |
| | | ] |
| | | |
| | | const orderMenus: MenuItem[] = [ |
| | |
| | | const canAccess = (path?: string) => { |
| | | if (!path || appStore.user.role === '平台管理') return true |
| | | const required = routePermissions[path] |
| | | return !required || Boolean(appStore.user.permissionCodes?.includes('*') || appStore.user.permissionCodes?.includes(required)) |
| | | return !required || hasAdminPermission(required, appStore) |
| | | } |
| | | const visibleMenuGroups = computed(() => menuGroups |
| | | .map((group) => ({ ...group, items: group.items.filter((item) => canAccess(item.path)) })) |