import { lazy, Suspense } from 'react' import { Route, Routes } from 'react-router-dom' import { PageLoading } from '@/components/PageLoading' import { NotFoundPage } from '@/features/NotFoundPage' import { StorefrontLayout } from '@/layouts/StorefrontLayout' const ListingListPage = lazy(() => import('@/features/listings/ListingListPage').then(module => ({ default: module.ListingListPage })) ) const LoginPage = lazy(() => import('@/features/auth/LoginPage').then(module => ({ default: module.LoginPage })) ) const MobileLayout = lazy(() => import('@/layouts/MobileLayout').then(module => ({ default: module.MobileLayout })) ) const MobileHomePage = lazy(() => import('@/features/mobile/MobileHomePage').then(module => ({ default: module.MobileHomePage })) ) const MobileListingDetailPage = lazy(() => import('@/features/mobile/MobileListingDetailPage').then(module => ({ default: module.MobileListingDetailPage, })) ) const MobileProfilePage = lazy(() => import('@/features/mobile/MobileProfilePage').then(module => ({ default: module.MobileProfilePage, })) ) const MobileOrdersPage = lazy(() => import('@/features/mobile/MobileOrdersPage').then(module => ({ default: module.MobileOrdersPage, })) ) const MobileOrderDetailPage = lazy(() => import('@/features/mobile/MobileOrderDetailPage').then(module => ({ default: module.MobileOrderDetailPage, })) ) const MobileMessagesPage = lazy(() => import('@/features/mobile/MobileMessagesPage').then(module => ({ default: module.MobileMessagesPage, })) ) const MobileChatPage = lazy(() => import('@/features/mobile/MobileChatPage').then(module => ({ default: module.MobileChatPage, })) ) const AdminLoginPage = lazy(() => import('@/features/admin/AdminLoginPage').then(module => ({ default: module.AdminLoginPage })) ) const AdminGuard = lazy(() => import('@/features/admin/AdminGuard').then(module => ({ default: module.AdminGuard })) ) const AdminChangePasswordPage = lazy(() => import('@/features/admin/AdminChangePasswordPage').then(module => ({ default: module.AdminChangePasswordPage, })) ) const AdminDashboardPage = lazy(() => import('@/features/admin/AdminDashboardPage').then(module => ({ default: module.AdminDashboardPage, })) ) const AdminOrdersPage = lazy(() => import('@/features/admin/AdminOrdersPage').then(module => ({ default: module.AdminOrdersPage, })) ) const AdminListingsPage = lazy(() => import('@/features/admin/AdminListingsPage').then(module => ({ default: module.AdminListingsPage, })) ) const AdminUsersPage = lazy(() => import('@/features/admin/AdminUsersPage').then(module => ({ default: module.AdminUsersPage, })) ) const AdminRefundReviewPage = lazy(() => import('@/features/admin/AdminRefundReviewPage').then(module => ({ default: module.AdminRefundReviewPage, })) ) const AdminWithdrawalsPage = lazy(() => import('@/features/admin/AdminWithdrawalsPage').then(module => ({ default: module.AdminWithdrawalsPage, })) ) const AdminDisputesPage = lazy(() => import('@/features/admin/AdminDisputesPage').then(module => ({ default: module.AdminDisputesPage, })) ) const AdminFinancePage = lazy(() => import('@/features/admin/AdminFinancePage').then(module => ({ default: module.AdminFinancePage, })) ) const AdminAnnouncementsPage = lazy(() => import('@/features/admin/AdminAnnouncementsPage').then(module => ({ default: module.AdminAnnouncementsPage, })) ) const AdminLayout = lazy(() => import('@/layouts/AdminLayout').then(module => ({ default: module.AdminLayout })) ) const AdminSectionPlaceholder = lazy(() => import('@/layouts/AdminLayout').then(module => ({ default: module.AdminSectionPlaceholder })) ) const adminSections: Array<{ path: string; title: string; description: string }> = [ { path: 'distribution/sites', title: '分销站点', description: '管理分站、规则、结算与站点钱包。' }, { path: 'system-configs', title: '系统配置', description: '维护首页、发布、订单与支付配置。' }, { path: 'audit-logs', title: '审计日志', description: '查看高风险操作与变更记录。' }, ] export function AppRouter() { const adminBase = import.meta.env.VITE_ADMIN_BASE_PATH || '/console-jy8k3m' return ( }> }> } /> } /> } /> }> } /> } /> } /> } /> } /> } /> } /> } /> } /> }> } /> }> } /> } /> } /> } /> } /> } /> } /> } /> } /> } /> {adminSections.map(section => ( } /> ))} } /> } /> ) }