feat: 接入旧站管理端并完整迁移后台能力

This commit is contained in:
yml
2026-11-12 22:03:01 +08:00
parent e5f923706b
commit a4441bba9a
509 changed files with 140714 additions and 1068 deletions
-355
View File
@@ -229,280 +229,6 @@ const MobileSellerFormPage = lazy(() =>
default: module.MobileSellerFormPage,
}))
)
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 AdminOrderDetailPage = lazy(() =>
import('@/features/admin/AdminOrderDetailPage').then(module => ({
default: module.AdminOrderDetailPage,
}))
)
const AdminListingsPage = lazy(() =>
import('@/features/admin/AdminListingsPage').then(module => ({
default: module.AdminListingsPage,
}))
)
const AdminListingDetailPage = lazy(() =>
import('@/features/admin/AdminListingDetailPage').then(module => ({
default: module.AdminListingDetailPage,
}))
)
const AdminListingReviewDetailPage = lazy(() =>
import('@/features/admin/AdminListingReviewDetailPage').then(module => ({
default: module.AdminListingReviewDetailPage,
}))
)
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 AdminFinanceDisbursementsPage = lazy(() =>
import('@/features/admin/AdminFinanceDisbursementsPage').then(module => ({
default: module.AdminFinanceDisbursementsPage,
}))
)
const AdminOperatingExpensesPage = lazy(() =>
import('@/features/admin/AdminOperatingExpensesPage').then(module => ({
default: module.AdminOperatingExpensesPage,
}))
)
const AdminAnnouncementsPage = lazy(() =>
import('@/features/admin/AdminAnnouncementsPage').then(module => ({
default: module.AdminAnnouncementsPage,
}))
)
const AdminAuditLogsPage = lazy(() =>
import('@/features/admin/AdminAuditLogsPage').then(module => ({
default: module.AdminAuditLogsPage,
}))
)
const AdminSystemConfigsPage = lazy(() =>
import('@/features/admin/AdminSystemConfigsPage').then(module => ({
default: module.AdminSystemConfigsPage,
}))
)
const AdminPaymentConfigsPage = lazy(() =>
import('@/features/admin/AdminPaymentConfigsPage').then(module => ({
default: module.AdminPaymentConfigsPage,
}))
)
const AdminRolesPage = lazy(() =>
import('@/features/admin/AdminRolesPage').then(module => ({
default: module.AdminRolesPage,
}))
)
const AdminSupportGroupsPage = lazy(() =>
import('@/features/admin/AdminSupportGroupsPage').then(module => ({
default: module.AdminSupportGroupsPage,
}))
)
const AdminStaffAccountsPage = lazy(() =>
import('@/features/admin/AdminStaffAccountsPage').then(module => ({
default: module.AdminStaffAccountsPage,
}))
)
const AdminBackupsPage = lazy(() =>
import('@/features/admin/AdminBackupsPage').then(module => ({
default: module.AdminBackupsPage,
}))
)
const AdminCrashCategoriesPage = lazy(() =>
import('@/features/admin/AdminCrashCategoriesPage').then(module => ({
default: module.AdminCrashCategoriesPage,
}))
)
const AdminCrashProductsPage = lazy(() =>
import('@/features/admin/AdminCrashProductsPage').then(module => ({
default: module.AdminCrashProductsPage,
}))
)
const AdminCrashOrdersPage = lazy(() =>
import('@/features/admin/AdminCrashOrdersPage').then(module => ({
default: module.AdminCrashOrdersPage,
}))
)
const AdminCrashConfigPage = lazy(() =>
import('@/features/admin/AdminCrashConfigPage').then(module => ({
default: module.AdminCrashConfigPage,
}))
)
const AdminManualEntriesPage = lazy(() =>
import('@/features/admin/AdminManualEntriesPage').then(module => ({
default: module.AdminManualEntriesPage,
}))
)
const AdminPaymentsPage = lazy(() =>
import('@/features/admin/AdminPaymentsPage').then(module => ({
default: module.AdminPaymentsPage,
}))
)
const AdminPickupsPage = lazy(() =>
import('@/features/admin/AdminPickupsPage').then(module => ({
default: module.AdminPickupsPage,
}))
)
const AdminChatsPage = lazy(() =>
import('@/features/admin/AdminChatsPage').then(module => ({
default: module.AdminChatsPage,
}))
)
const AdminChatWelcomePage = lazy(() =>
import('@/features/admin/AdminChatWelcomePage').then(module => ({
default: module.AdminChatWelcomePage,
}))
)
const AdminQrCodePoolPage = lazy(() =>
import('@/features/admin/AdminQrCodePoolPage').then(module => ({
default: module.AdminQrCodePoolPage,
}))
)
const AdminNotificationsPage = lazy(() =>
import('@/features/admin/AdminNotificationsPage').then(module => ({
default: module.AdminNotificationsPage,
}))
)
const AdminPushPage = lazy(() =>
import('@/features/admin/AdminPushPage').then(module => ({
default: module.AdminPushPage,
}))
)
const AdminInvitationsPage = lazy(() =>
import('@/features/admin/AdminInvitationsPage').then(module => ({
default: module.AdminInvitationsPage,
}))
)
const AdminPickupDetailPage = lazy(() =>
import('@/features/admin/AdminPickupDetailPage').then(module => ({
default: module.AdminPickupDetailPage,
}))
)
const AdminFinanceDetailsPage = lazy(() =>
import('@/features/admin/AdminFinanceDetailsPage').then(module => ({
default: module.AdminFinanceDetailsPage,
}))
)
const AdminWalletLedgerPage = lazy(() =>
import('@/features/admin/AdminWalletLedgerPage').then(module => ({
default: module.AdminWalletLedgerPage,
}))
)
const AdminQuickRepliesPage = lazy(() =>
import('@/features/admin/AdminQuickRepliesPage').then(module => ({
default: module.AdminQuickRepliesPage,
}))
)
const AdminTrackingLinksPage = lazy(() =>
import('@/features/admin/AdminTrackingLinksPage').then(module => ({
default: module.AdminTrackingLinksPage,
}))
)
const AdminDistributionSitesPage = lazy(() =>
import('@/features/admin/AdminDistributionSitesPage').then(module => ({
default: module.AdminDistributionSitesPage,
}))
)
const AdminDistributionWalletPage = lazy(() =>
import('@/features/admin/AdminDistributionWalletPage').then(module => ({
default: module.AdminDistributionWalletPage,
}))
)
const AdminDistributionDashboardPage = lazy(() =>
import('@/features/admin/AdminDistributionDashboardPage').then(module => ({
default: module.AdminDistributionDashboardPage,
}))
)
const AdminDistributionSMSPage = lazy(() =>
import('@/features/admin/AdminDistributionSMSPage').then(module => ({
default: module.AdminDistributionSMSPage,
}))
)
const AdminDistributionInvitationPage = lazy(() =>
import('@/features/admin/AdminDistributionInvitationPage').then(module => ({
default: module.AdminDistributionInvitationPage,
}))
)
const AdminDistributionQrCodesPage = lazy(() =>
import('@/features/admin/AdminDistributionQrCodesPage').then(module => ({
default: module.AdminDistributionQrCodesPage,
}))
)
const AdminDistributionRulesPage = lazy(() =>
import('@/features/admin/AdminDistributionRulesPage').then(module => ({
default: module.AdminDistributionRulesPage,
}))
)
const AdminDistributionOrdersPage = lazy(() =>
import('@/features/admin/AdminDistributionOrdersPage').then(module => ({
default: module.AdminDistributionOrdersPage,
}))
)
const AdminDistributionSettlementsPage = lazy(() =>
import('@/features/admin/AdminDistributionSettlementsPage').then(module => ({
default: module.AdminDistributionSettlementsPage,
}))
)
const AdminDistributionUsersPage = lazy(() =>
import('@/features/admin/AdminDistributionUsersPage').then(module => ({
default: module.AdminDistributionUsersPage,
}))
)
const AdminSiteAnnouncementsPage = lazy(() =>
import('@/features/admin/AdminSiteAnnouncementsPage').then(module => ({
default: module.AdminSiteAnnouncementsPage,
}))
)
const AdminDistributionListingsPage = lazy(() =>
import('@/features/admin/AdminDistributionListingsPage').then(module => ({
default: module.AdminDistributionListingsPage,
}))
)
const AdminDistributionPaymentChannelsPage = lazy(() =>
import('@/features/admin/AdminDistributionPaymentChannelsPage').then(module => ({
default: module.AdminDistributionPaymentChannelsPage,
}))
)
const AdminLayout = lazy(() =>
import('@/layouts/AdminLayout').then(module => ({ default: module.AdminLayout }))
)
const ProfilePage = lazy(() =>
import('@/features/profile/ProfilePage').then(module => ({ default: module.ProfilePage }))
)
@@ -515,13 +241,7 @@ const ProcessPage = lazy(() =>
const RulesPage = lazy(() =>
import('@/features/help/RulesPage').then(module => ({ default: module.RulesPage }))
)
const AdminSectionPlaceholder = lazy(() =>
import('@/layouts/AdminLayout').then(module => ({ default: module.AdminSectionPlaceholder }))
)
export function AppRouter() {
const adminBase = import.meta.env.VITE_ADMIN_BASE_PATH || '/console-jy8k3m'
return (
<Suspense fallback={<PageLoading />}>
<Routes>
@@ -589,81 +309,6 @@ export function AppRouter() {
<Route path="crash/:id" element={<MobileCrashDetailPage />} />
</Route>
<Route path={`${adminBase}/login`} element={<AdminLoginPage />} />
<Route path={adminBase} element={<AdminGuard />}>
<Route path="change-password" element={<AdminChangePasswordPage />} />
<Route element={<AdminLayout />}>
<Route index element={<AdminDashboardPage />} />
<Route path="orders" element={<AdminOrdersPage />} />
<Route path="orders/:id" element={<AdminOrderDetailPage />} />
<Route path="orders/refund-review" element={<AdminRefundReviewPage />} />
<Route path="listings" element={<AdminListingsPage />} />
<Route path="listings/review" element={<AdminListingsPage mode="review" />} />
<Route path="listings/review/:id" element={<AdminListingReviewDetailPage />} />
<Route path="listings/:id" element={<AdminListingDetailPage />} />
<Route path="users" element={<AdminUsersPage />} />
<Route path="withdrawals" element={<AdminWithdrawalsPage />} />
<Route path="disputes" element={<AdminDisputesPage />} />
<Route path="finance" element={<AdminFinancePage />} />
<Route path="finance/dashboard" element={<AdminFinancePage />} />
<Route path="finance/disbursements" element={<AdminFinanceDisbursementsPage />} />
<Route path="finance/operating-expenses" element={<AdminOperatingExpensesPage />} />
<Route path="announcements" element={<AdminAnnouncementsPage />} />
<Route path="audit-logs" element={<AdminAuditLogsPage />} />
<Route path="system-configs" element={<AdminSystemConfigsPage />} />
<Route path="payment-configs" element={<AdminPaymentConfigsPage />} />
<Route path="roles" element={<AdminRolesPage />} />
<Route path="admin-users" element={<AdminStaffAccountsPage />} />
<Route path="backups" element={<AdminBackupsPage />} />
<Route path="crash/categories" element={<AdminCrashCategoriesPage />} />
<Route path="crash/products" element={<AdminCrashProductsPage />} />
<Route path="crash/orders" element={<AdminCrashOrdersPage />} />
<Route path="crash/config" element={<AdminCrashConfigPage />} />
<Route path="manual-entries" element={<AdminManualEntriesPage />} />
<Route path="payments" element={<AdminPaymentsPage />} />
<Route path="pickup" element={<AdminPickupsPage />} />
<Route path="pickup/:id" element={<AdminPickupDetailPage />} />
<Route path="chats" element={<AdminChatsPage />} />
<Route path="chat-welcome" element={<AdminChatWelcomePage />} />
<Route path="qrcode-pool" element={<AdminQrCodePoolPage />} />
<Route path="notifications" element={<AdminNotificationsPage />} />
<Route path="push" element={<AdminPushPage />} />
<Route path="invitations" element={<AdminInvitationsPage />} />
<Route path="finance/details" element={<AdminFinanceDetailsPage />} />
<Route path="wallet-ledger" element={<AdminWalletLedgerPage />} />
<Route path="chat-quick-replies" element={<AdminQuickRepliesPage />} />
<Route path="tracking-links" element={<AdminTrackingLinksPage />} />
<Route path="chat-support-groups" element={<AdminSupportGroupsPage />} />
<Route path="support-groups" element={<AdminSupportGroupsPage />} />
<Route path="distribution/sites" element={<AdminDistributionSitesPage />} />
<Route path="distribution/dashboard" element={<AdminDistributionDashboardPage />} />
<Route path="distribution/orders" element={<AdminDistributionOrdersPage />} />
<Route path="distribution/settlements" element={<AdminDistributionSettlementsPage />} />
<Route path="distribution/users" element={<AdminDistributionUsersPage />} />
<Route path="distribution/announcements" element={<AdminSiteAnnouncementsPage />} />
<Route path="distribution/listings" element={<AdminDistributionListingsPage />} />
<Route
path="distribution/payment-channels"
element={<AdminDistributionPaymentChannelsPage />}
/>
<Route path="distribution/wallet" element={<AdminDistributionWalletPage />} />
<Route path="distribution/sms" element={<AdminDistributionSMSPage />} />
<Route path="distribution/invitation" element={<AdminDistributionInvitationPage />} />
<Route path="distribution/qrcodes" element={<AdminDistributionQrCodesPage />} />
<Route path="distribution/qrcode-pool" element={<AdminDistributionQrCodesPage />} />
<Route path="distribution/rules" element={<AdminDistributionRulesPage />} />
<Route
path="*"
element={
<AdminSectionPlaceholder
title="功能建设中"
description="这个后台页面还没有进入迁移批次。"
/>
}
/>
</Route>
</Route>
<Route path="*" element={<NotFoundPage />} />
</Routes>
</Suspense>