Files

355 lines
10 KiB
Markdown
Raw Permalink Normal View History

# Product 页面前端业务说明书
## 1⃣ 页面定义
### 页面目标
帮助商户:
- 管理商品信息
- 计算商品利润
- 优化商品定价(核心)
- 提升商品ROI
### 页面类型
- 业务核心页(直接影响赚钱)
## 2⃣ 页面核心数据
### 核心数据字段
- cost成本包含采购成本、运费、关税等
- price售价商品的销售价格
- profit利润售价减去成本
- roiROI投资回报率
- stock库存商品库存数量
- aiPriceSuggestionAI建议售价基于市场数据和成本的智能定价建议
- 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操作成功
- optimizingAI处理中
- 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卡片组件
<SPUCard
spu={spu}
skuCount={5}
listingCount={12}
onEdit={() => {}}
onView={() => {}}
/>
// SKU属性标签组件
<SKUAttributes
attributes={{ color: '红色', size: 'XL' }}
/>
// 价格显示组件
<PriceDisplay
basePrice={99}
strategyPrice={108.9}
finalPrice={109}
showBreakdown
/>
// 映射置信度组件
<MappingConfidence
confidence={0.85}
status="PENDING"
/>
```
### 前端交互流程
#### 商品发布流程
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 选择SKU │ → │ 配置Listing │ → │ 选择店铺 │
└─────────────┘ └─────────────┘ └─────────────┘
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 发布成功 │ ← │ 平台审核 │ ← │ 提交发布 │
└─────────────┘ └─────────────┘ └─────────────┘
```
#### 价格调整流程
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 选择策略 │ → │ 预览影响 │ → │ 确认应用 │
└─────────────┘ └─────────────┘ └─────────────┘
┌─────────────┐
│ 同步到平台 │
└─────────────┘
```
### 前端性能优化
- **虚拟列表**: SKU和Listing列表使用虚拟滚动
- **分页加载**: 大数据量采用分页加载
- **缓存策略**: 使用SWR缓存API响应
- **防抖节流**: 搜索和筛选操作使用防抖