shinnosuke
2026-08-19 2b20145159c4c4eefc73fd449093e639812a64df
talent-card-admin/src/layouts/AdminLayout.vue
@@ -18,6 +18,7 @@
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
@@ -71,7 +72,7 @@
]
const financeMenus: MenuItem[] = [
  { path: '/merchant-settlement', label: '商户结算审核' },
  { path: '/merchant-settlement', label: '提现管理' },
]
const orderMenus: MenuItem[] = [
@@ -125,7 +126,7 @@
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)) }))