# Product 页面前端业务说明书 ## 1️⃣ 页面定义 ### 页面目标 帮助商户: - 管理商品信息 - 计算商品利润 - 优化商品定价(核心) - 提升商品ROI ### 页面类型 - 业务核心页(直接影响赚钱) ## 2️⃣ 页面核心数据 ### 核心数据字段 - cost(成本):包含采购成本、运费、关税等 - price(售价):商品的销售价格 - profit(利润):售价减去成本 - roi(ROI):投资回报率 - stock(库存):商品库存数量 - aiPriceSuggestion(AI建议售价):基于市场数据和成本的智能定价建议 - salesVolume(销量):商品销售数量 - salesTrend(销售趋势):近期销售数据趋势 ## 3️⃣ 页面核心操作 ### 用户操作 - 创建商品:添加新商品信息 - 修改价格:调整商品售价 - 查看ROI:查看商品的投资回报率 - 使用AI定价:获取AI的定价建议并应用 - 调整库存:更新商品库存数量 - 查看销售趋势:分析商品销售数据 ## 4️⃣ 操作 → 业务结果 ### 操作闭环 1. **修改价格** - 触发:用户点击"修改价格"按钮 - 服务:ProductService.updatePrice - 结果:重新计算利润和ROI,更新前端展示 - 反馈:如果ROI下降,标红提示;如果ROI提升,显示绿色提示 2. **使用AI定价** - 触发:用户点击"AI定价"按钮 - 服务:AIService.optimizeProductForPlatform - 结果:获取AI建议售价,显示在界面上 - 反馈:显示加载状态,完成后显示建议价格 - 收费:每次调用AI定价服务收费 3. **调整库存** - 触发:用户修改库存数量 - 服务:InventoryService.updateStock - 结果:更新库存数据,触发库存预警(如果库存过低) - 反馈:显示库存更新成功提示 ## 5️⃣ 页面状态 ### 状态定义 - loading:数据加载中 - empty:无数据 - error:操作错误 - success:操作成功 - optimizing:AI处理中 - warning:库存不足或ROI过低 ## 6️⃣ 收费点 ### 收费触发点 - AI定价:按调用次数收费 - 高级分析:按功能使用时间收费 - 批量操作:按操作次数收费 ## 7️⃣ 页面结构 ### 主要区域 1. **商品列表区**:显示所有商品,包含核心数据字段 2. **商品详情区**:显示单个商品的详细信息 3. **定价优化区**:显示AI定价建议和ROI分析 4. **库存管理区**:显示和管理商品库存 5. **销售分析区**:显示商品销售趋势和分析 ## 8️⃣ 业务价值 ### 核心价值 - 帮助商户快速识别高利润商品 - 提供智能定价建议,最大化利润 - 实时监控商品ROI,及时调整策略 - 优化库存管理,避免库存积压或缺货 ### 商业闭环 商品 → 成本计算 → 智能定价 → 销售 → ROI分析 → 价格调整 → 再销售 ## 9️⃣ 前端实现要点 ### 技术实现 - 使用React组件化开发 - 集成Ant Design表格和表单组件 - 实现虚拟列表,优化大数据量渲染 - 使用Umi Model管理全局状态 - 实现实时数据更新和WebSocket连接 ### 用户体验 - 响应式设计,支持多终端访问 - 操作反馈及时,显示loading和success/error提示 - 数据可视化,使用图表展示销售趋势和ROI变化 - 批量操作支持,提高工作效率 ## 🔟 后端服务依赖 ### 核心服务 - ProductService:商品管理和价格更新 - AIService:智能定价建议 - InventoryService:库存管理 - AnalyticsService:销售数据分析 ### 数据接口 - GET /api/v1/product:获取商品列表 - POST /api/v1/product:创建商品 - PUT /api/v1/product/:id:更新商品信息 - GET /api/v1/product/:id/roi:获取商品ROI分析 - POST /api/v1/product/:id/ai-price:获取AI定价建议 --- ## 1️⃣1️⃣ 商品中心前端架构(Product Center Frontend) > **设计原则**: 采用三层商品模型(SPU → SKU → Listing),支持多平台统一管理 ### 页面结构 ``` 商品管理 ├── SPU管理 │ ├── SPU列表页 │ ├── SPU详情页 │ └── SPU创建/编辑页 ├── SKU管理 │ ├── SKU列表页 │ ├── SKU详情页 │ └── SKU创建/编辑页 ├── Listing管理 │ ├── Listing列表页 │ ├── Listing详情页 │ └── Listing发布页 ├── 价格策略 │ ├── 策略列表页 │ ├── 策略配置页 │ └── 批量调价页 ├── SKU映射 │ ├── 映射列表页 │ ├── 自动映射页 │ └── 手动映射页 └── 授权管理 ├── 授权列表页 └── 授权详情页 ``` ### 核心页面设计 #### SPU列表页 **功能**: - 展示所有SPU,支持筛选、搜索、排序 - 显示SPU关联的SKU数量和Listing数量 - 支持批量操作(审核、停用、归档) **核心字段**: | 字段 | 说明 | 展示方式 | |------|------|----------| | name | 产品名称 | 文本 + 链接 | | brand | 品牌 | 标签 | | category | 类目 | 级联显示 | | status | 状态 | 状态标签 | | skuCount | SKU数量 | 数字 | | listingCount | Listing数量 | 数字 | #### SKU列表页 **功能**: - 展示所有SKU,支持按SPU筛选 - 显示成本价、基准价、库存信息 - 支持批量设置基准价 **核心字段**: | 字段 | 说明 | 展示方式 | |------|------|----------| | skuCode | SKU编码 | 文本 | | attributes | 变体属性 | 标签组 | | costPrice | 成本价 | 金额 | | basePrice | 基准价 | 金额 + 编辑 | | stock | 库存 | 数字 | | listingCount | 关联Listing数 | 数字 | #### Listing列表页 **功能**: - 展示所有平台商品,支持按平台、店铺筛选 - 显示最终价格、状态、同步状态 - 支持批量发布、下架、调价 **核心字段**: | 字段 | 说明 | 展示方式 | |------|------|----------| | platform | 平台 | 图标 + 名称 | | shopName | 店铺名称 | 文本 | | title | 商品标题 | 文本 + 链接 | | price | 最终价格 | 金额 + 编辑 | | stock | 库存 | 数字 | | status | 状态 | 状态标签 | | syncStatus | 同步状态 | 图标 | #### 价格策略配置页 **功能**: - 创建和管理价格策略 - 支持按平台、店铺、Listing设置策略 - 支持倍率、固定值、动态定价三种策略类型 **策略类型**: | 类型 | 说明 | 计算方式 | |------|------|----------| | MULTIPLIER | 倍率定价 | 最终价 = 基准价 × 倍率 | | FIXED | 固定定价 | 最终价 = 固定值 | | DYNAMIC | 动态定价 | AI根据市场动态计算 | **配置表单**: ```typescript interface PriceStrategyForm { name: string; scopeType: 'PLATFORM' | 'SHOP' | 'LISTING'; scopeId: string; strategyType: 'MULTIPLIER' | 'FIXED' | 'DYNAMIC'; value: number; minPrice: number; maxPrice: number; } ``` #### SKU映射页 **功能**: - 自动匹配系统SKU与平台商品 - 手动调整映射关系 - 显示匹配置信度 **映射流程**: ``` 1. 选择店铺 → 2. 执行自动映射 → 3. 审核映射结果 → 4. 确认/调整映射 ``` **置信度展示**: | 置信度 | 颜色 | 操作建议 | |--------|------|----------| | ≥ 90% | 绿色 | 自动确认 | | 70%-90% | 黄色 | 人工审核 | | < 70% | 红色 | 手动匹配 | ### 前端状态管理 **Umi Model设计**: ```typescript // src/models/productCenter.ts interface ProductCenterState { spuList: SPU[]; skuList: SKU[]; listingList: PlatformListing[]; priceStrategies: PriceStrategy[]; skuMappings: SKUMapping[]; currentSPU: SPU | null; currentSKU: SKU | null; currentListing: PlatformListing | null; loading: boolean; filters: ProductFilters; } interface ProductFilters { platform?: string; shopId?: string; status?: string; categoryId?: string; } ``` ### 前端组件设计 **核心组件**: ```typescript // SPU卡片组件 {}} onView={() => {}} /> // SKU属性标签组件 // 价格显示组件 // 映射置信度组件 ``` ### 前端交互流程 #### 商品发布流程 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 选择SKU │ → │ 配置Listing │ → │ 选择店铺 │ └─────────────┘ └─────────────┘ └─────────────┘ │ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 发布成功 │ ← │ 平台审核 │ ← │ 提交发布 │ └─────────────┘ └─────────────┘ └─────────────┘ ``` #### 价格调整流程 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 选择策略 │ → │ 预览影响 │ → │ 确认应用 │ └─────────────┘ └─────────────┘ └─────────────┘ │ ▼ ┌─────────────┐ │ 同步到平台 │ └─────────────┘ ``` ### 前端性能优化 - **虚拟列表**: SKU和Listing列表使用虚拟滚动 - **分页加载**: 大数据量采用分页加载 - **缓存策略**: 使用SWR缓存API响应 - **防抖节流**: 搜索和筛选操作使用防抖