- 将服务文件按功能分类到core、ai、analytics、security等目录 - 修复logger导入路径问题,统一使用相对路径 - 更新相关文件的导入路径引用 - 添加新的批量操作组件导出文件 - 修复dashboard页面中的类型错误 - 添加dotenv依赖到package.json
615 lines
16 KiB
TypeScript
615 lines
16 KiB
TypeScript
import { defineConfig } from 'umi';
|
|
|
|
export default defineConfig({
|
|
define: {
|
|
'process.env.REACT_APP_USE_MOCK': process.env.REACT_APP_USE_MOCK || 'true',
|
|
'process.env.REACT_APP_API_BASE_URL': process.env.REACT_APP_API_BASE_URL || 'http://localhost:3001',
|
|
'process.env.REACT_APP_REDUX_DEVTOOLS': process.env.REACT_APP_REDUX_DEVTOOLS || 'true',
|
|
'process.env.REACT_APP_MSW_DEBUG': process.env.REACT_APP_MSW_DEBUG || 'true',
|
|
},
|
|
|
|
|
|
routes: [
|
|
{
|
|
path: '/',
|
|
component: '@/pages/Homepage',
|
|
layout: false,
|
|
},
|
|
{
|
|
path: '/pricing',
|
|
component: '@/pages/Pricing',
|
|
layout: false,
|
|
},
|
|
{
|
|
path: '/case-study',
|
|
component: '@/pages/CaseStudy',
|
|
layout: false,
|
|
},
|
|
{
|
|
path: '/case-study/:id',
|
|
component: '@/pages/CaseStudy',
|
|
layout: false,
|
|
},
|
|
{
|
|
path: '/auth',
|
|
layout: false,
|
|
routes: [
|
|
{
|
|
path: 'login',
|
|
component: '@/pages/Auth/LoginPage',
|
|
},
|
|
{
|
|
path: 'register',
|
|
component: '@/pages/Auth/RegisterPage',
|
|
},
|
|
{
|
|
path: 'reset-password',
|
|
component: '@/pages/Auth/ResetPasswordPage',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/operation-agent',
|
|
component: '@/pages/OperationAgent',
|
|
layout: '@/layouts/index',
|
|
},
|
|
{
|
|
path: '/operation-agent-enhanced',
|
|
component: '@/pages/OperationAgentEnhanced',
|
|
layout: '@/layouts/index',
|
|
},
|
|
{
|
|
path: '/dashboard',
|
|
layout: '@/layouts/index',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/DashboardPage',
|
|
},
|
|
{
|
|
path: 'overview',
|
|
component: '@/pages/DashboardPage',
|
|
},
|
|
{
|
|
path: 'operation-agent',
|
|
component: '@/pages/OperationAgent',
|
|
},
|
|
{
|
|
path: 'auto-pilot',
|
|
component: '@/pages/AutoPilot',
|
|
},
|
|
{
|
|
path: 'task-center',
|
|
component: '@/pages/TaskCenter',
|
|
},
|
|
{
|
|
path: 'ai-decision-log',
|
|
component: '@/pages/AIDecisionLog',
|
|
},
|
|
{
|
|
path: 'strategy-marketplace',
|
|
component: '@/pages/StrategyMarketplace',
|
|
},
|
|
{
|
|
path: 'leaderboard',
|
|
component: '@/pages/Leaderboard',
|
|
},
|
|
{
|
|
path: 'product',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Product/ProductList',
|
|
},
|
|
{
|
|
path: 'list',
|
|
component: '@/pages/Product/ProductList',
|
|
},
|
|
{
|
|
path: 'detail/:id?',
|
|
component: '@/pages/Product/ProductDetail',
|
|
},
|
|
{
|
|
path: 'publish',
|
|
component: '@/pages/Product/ProductPublishForm',
|
|
},
|
|
{
|
|
path: 'cross-platform',
|
|
component: '@/pages/Product/CrossPlatformManage',
|
|
},
|
|
{
|
|
path: 'material',
|
|
component: '@/pages/Product/MaterialUpload',
|
|
},
|
|
{
|
|
path: 'ai-pricing',
|
|
component: '@/pages/Product/AIPricing',
|
|
},
|
|
{
|
|
path: 'profit-monitor',
|
|
component: '@/pages/Product/ProfitMonitor',
|
|
},
|
|
{
|
|
path: 'roi-analysis',
|
|
component: '@/pages/Product/ROIAnalysis',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'orders',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Orders/OrderList',
|
|
},
|
|
{
|
|
path: 'list',
|
|
component: '@/pages/Orders/OrderList',
|
|
},
|
|
{
|
|
path: 'detail/:id',
|
|
component: '@/pages/Orders/OrderDetail',
|
|
},
|
|
{
|
|
path: 'exception',
|
|
component: '@/pages/Orders/ExceptionOrder',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'inventory',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Product/index',
|
|
},
|
|
{
|
|
path: 'forecast',
|
|
component: '@/pages/Inventory/InventoryForecast',
|
|
},
|
|
{
|
|
path: 'warehouses',
|
|
component: '@/pages/Inventory/Warehouses',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'logistics',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Logistics/index',
|
|
},
|
|
{
|
|
path: 'track',
|
|
component: '@/pages/Logistics/LogisticsTrack',
|
|
},
|
|
{
|
|
path: 'select',
|
|
component: '@/pages/Logistics/LogisticsSelect',
|
|
},
|
|
{
|
|
path: 'freight-calc',
|
|
component: '@/pages/Logistics/FreightCalc',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'after-sales',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/AfterSales/index',
|
|
},
|
|
{
|
|
path: 'refund',
|
|
component: '@/pages/AfterSales/RefundProcess',
|
|
},
|
|
{
|
|
path: 'return-apply',
|
|
component: '@/pages/AfterSales/ReturnApply',
|
|
},
|
|
{
|
|
path: 'customer-service',
|
|
component: '@/pages/AfterSales/CustomerService',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'finance',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Finance/index',
|
|
},
|
|
{
|
|
path: 'transactions',
|
|
component: '@/pages/Finance/Transactions',
|
|
},
|
|
{
|
|
path: 'reconciliation',
|
|
component: '@/pages/Finance/Reconciliation',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'marketing',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Marketing/index',
|
|
},
|
|
{
|
|
path: 'ads',
|
|
component: '@/pages/Marketing/Ads',
|
|
},
|
|
{
|
|
path: 'competitors',
|
|
component: '@/pages/Marketing/Competitors',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'ad',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Ad/index',
|
|
},
|
|
{
|
|
path: 'delivery',
|
|
component: '@/pages/Ad/AdDelivery',
|
|
},
|
|
{
|
|
path: 'plan',
|
|
component: '@/pages/Ad/AdPlanPage',
|
|
},
|
|
{
|
|
path: 'roi',
|
|
component: '@/pages/Ad/ROIAnalysis',
|
|
},
|
|
{
|
|
path: 'auto-adjustment',
|
|
component: '@/pages/Ad/AutoAdjustment',
|
|
},
|
|
{
|
|
path: 'ai-optimization',
|
|
component: '@/pages/Ad/AIOptimization',
|
|
},
|
|
{
|
|
path: 'performance',
|
|
component: '@/pages/Ad/Performance',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'analytics',
|
|
component: '@/pages/Analytics',
|
|
},
|
|
{
|
|
path: 'reports',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Reports/index',
|
|
},
|
|
{
|
|
path: 'performance',
|
|
component: '@/pages/Reports/PerformanceReport',
|
|
},
|
|
{
|
|
path: 'profit',
|
|
component: '@/pages/Reports/ProfitReport',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'multi-shop-report',
|
|
component: '@/pages/MultiShopReport',
|
|
},
|
|
{
|
|
path: 'order-multi-shop',
|
|
component: '@/pages/OrderMultiShopList',
|
|
},
|
|
{
|
|
path: 'suppliers',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Suppliers/index',
|
|
},
|
|
{
|
|
path: 'detail/:id?',
|
|
component: '@/pages/Suppliers/SupplierDetail',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'b2b',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/B2B/index',
|
|
},
|
|
{
|
|
path: 'batch-order',
|
|
component: '@/pages/B2B/BatchOrder',
|
|
},
|
|
{
|
|
path: 'contract',
|
|
component: '@/pages/B2B/ContractManage',
|
|
},
|
|
{
|
|
path: 'quote',
|
|
component: '@/pages/B2B/EnterpriseQuote',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'b2b-trade',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/B2BTrade/index',
|
|
},
|
|
{
|
|
path: 'batch-order',
|
|
component: '@/pages/B2BTrade/BatchOrder',
|
|
},
|
|
{
|
|
path: 'contract',
|
|
component: '@/pages/B2BTrade/ContractManage',
|
|
},
|
|
{
|
|
path: 'quote',
|
|
component: '@/pages/B2BTrade/EnterpriseQuote',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'merchant',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Merchant/index',
|
|
},
|
|
{
|
|
path: 'manage',
|
|
component: '@/pages/Merchant/MerchantManage',
|
|
},
|
|
{
|
|
path: 'orders',
|
|
component: '@/pages/Merchant/MerchantOrderManage',
|
|
},
|
|
{
|
|
path: 'shops',
|
|
component: '@/pages/Merchant/MerchantShopManage',
|
|
},
|
|
{
|
|
path: 'settlement',
|
|
component: '@/pages/Merchant/MerchantSettlementManage',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'independent-site',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/IndependentSite/IndependentSiteList',
|
|
},
|
|
{
|
|
path: 'list',
|
|
component: '@/pages/IndependentSite/IndependentSiteList',
|
|
},
|
|
{
|
|
path: 'create',
|
|
component: '@/pages/IndependentSite/IndependentSiteCreate',
|
|
},
|
|
{
|
|
path: 'builder',
|
|
component: '@/pages/IndependentSite/SiteBuilder',
|
|
},
|
|
{
|
|
path: 'templates',
|
|
component: '@/pages/IndependentSite/SiteTemplates',
|
|
},
|
|
{
|
|
path: 'domains',
|
|
component: '@/pages/IndependentSite/DomainManagement',
|
|
},
|
|
{
|
|
path: 'config/:id?',
|
|
component: '@/pages/IndependentSite/IndependentSiteConfig',
|
|
},
|
|
{
|
|
path: 'products/:id',
|
|
component: '@/pages/IndependentSite/IndependentSiteProduct',
|
|
},
|
|
{
|
|
path: 'orders/:id',
|
|
component: '@/pages/IndependentSite/IndependentSiteOrder',
|
|
},
|
|
{
|
|
path: 'analytics/:id',
|
|
component: '@/pages/IndependentSite/IndependentSiteAnalytics',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'compliance',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Compliance/index',
|
|
},
|
|
{
|
|
path: 'certificates',
|
|
component: '@/pages/Compliance/CertificateManage',
|
|
},
|
|
{
|
|
path: 'check',
|
|
component: '@/pages/Compliance/ComplianceCheck',
|
|
},
|
|
{
|
|
path: 'expiry-reminder',
|
|
component: '@/pages/Compliance/CertificateExpiryReminder',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'blacklist',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Blacklist/index',
|
|
},
|
|
{
|
|
path: 'manage',
|
|
component: '@/pages/Blacklist/BlacklistManage',
|
|
},
|
|
{
|
|
path: 'risk-monitor',
|
|
component: '@/pages/Blacklist/RiskMonitor',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'return',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Return/index',
|
|
},
|
|
{
|
|
path: 'monitor',
|
|
component: '@/pages/Return/ReturnMonitor',
|
|
},
|
|
{
|
|
path: 'sku',
|
|
component: '@/pages/Return/SKUManage',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'user-asset',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/UserAsset/UserAssets',
|
|
},
|
|
{
|
|
path: 'member-level',
|
|
component: '@/pages/UserAsset/MemberLevel',
|
|
},
|
|
{
|
|
path: 'points',
|
|
component: '@/pages/UserAsset/PointsManage',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'ab-test',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/ABTest/ABTestConfig',
|
|
},
|
|
{
|
|
path: 'config',
|
|
component: '@/pages/ABTest/ABTestConfig',
|
|
},
|
|
{
|
|
path: 'results',
|
|
component: '@/pages/ABTest/ABTestResults',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'dynamic-pricing',
|
|
component: '@/pages/DynamicPricing',
|
|
},
|
|
{
|
|
path: 'arbitrage-monitor',
|
|
component: '@/pages/ArbitrageMonitor',
|
|
},
|
|
{
|
|
path: 'auto-product-selection',
|
|
component: '@/pages/AutoProductSelection',
|
|
},
|
|
{
|
|
path: 'auto-execution',
|
|
component: '@/pages/AutoExecution',
|
|
},
|
|
{
|
|
path: 'settings',
|
|
routes: [
|
|
{
|
|
path: '',
|
|
component: '@/pages/Settings/index',
|
|
},
|
|
{
|
|
path: 'profile',
|
|
component: '@/pages/Settings/ProfileSettings',
|
|
},
|
|
{
|
|
path: 'system',
|
|
component: '@/pages/Settings/SystemSettings',
|
|
},
|
|
{
|
|
path: 'tenant',
|
|
component: '@/pages/Settings/TenantSettings',
|
|
},
|
|
{
|
|
path: 'users',
|
|
component: '@/pages/Settings/UserManagement',
|
|
},
|
|
{
|
|
path: 'platform-account',
|
|
component: '@/pages/Settings/PlatformAccountConfig',
|
|
},
|
|
{
|
|
path: 'platform-auth',
|
|
component: '@/pages/Settings/PlatformAuth',
|
|
},
|
|
{
|
|
path: 'exchange-rate',
|
|
component: '@/pages/Settings/ExchangeRateConfig',
|
|
},
|
|
{
|
|
path: 'cost-template',
|
|
component: '@/pages/Settings/CostTemplateConfig',
|
|
},
|
|
{
|
|
path: 'win-node',
|
|
component: '@/pages/Settings/WinNodeConfig',
|
|
},
|
|
{
|
|
path: 'subscription',
|
|
component: '@/pages/Settings/SubscriptionManage',
|
|
},
|
|
{
|
|
path: 'service-manager',
|
|
component: '@/pages/Settings/ServiceManager',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: 'role',
|
|
component: '@/pages/Role',
|
|
},
|
|
{
|
|
path: 'user',
|
|
component: '@/pages/User',
|
|
},
|
|
{
|
|
path: 'system',
|
|
component: '@/pages/System',
|
|
},
|
|
],
|
|
},
|
|
],
|
|
fastRefresh: true,
|
|
esbuildMinifyIIFE: true,
|
|
});
|