|
@@ -33,8 +33,11 @@
|
|
|
### 1. 规格概念澄清
|
|
### 1. 规格概念澄清
|
|
|
- **规格 = 子商品的名称**:子商品的`name`字段作为规格名称
|
|
- **规格 = 子商品的名称**:子商品的`name`字段作为规格名称
|
|
|
- **规格选择 = 选择子商品**:选择规格时实际选择对应的子商品
|
|
- **规格选择 = 选择子商品**:选择规格时实际选择对应的子商品
|
|
|
-- **购物车逻辑不变**:购物车始终存储商品(可能是父商品或子商品),`spec`字段存储规格名称(子商品名称)
|
|
|
|
|
-- **核心洞察**:购物车和订单系统不需要大改,只是商品ID可能是子商品ID
|
|
|
|
|
|
|
+- **购物车逻辑简化**:
|
|
|
|
|
+ - 如果选择规格:使用子商品的`id`、`name`、`price`、`stock`
|
|
|
|
|
+ - 如果不选择规格:使用父商品的`id`、`name`、`price`、`stock`
|
|
|
|
|
+ - **关键洞察**:`name`字段已经包含完整的规格信息,`spec`字段可能暂时不需要
|
|
|
|
|
+- **核心优势**:购物车和订单系统几乎不需要修改
|
|
|
|
|
|
|
|
### 2. 商品列表展示策略
|
|
### 2. 商品列表展示策略
|
|
|
- **商品列表页**(首页、分类页、搜索页):只显示父商品(spuId=0)
|
|
- **商品列表页**(首页、分类页、搜索页):只显示父商品(spuId=0)
|
|
@@ -84,11 +87,11 @@
|
|
|
- **验收标准**:用户能在商品详情页成功选择规格,系统使用正确的子商品价格和库存
|
|
- **验收标准**:用户能在商品详情页成功选择规格,系统使用正确的子商品价格和库存
|
|
|
|
|
|
|
|
5. **故事5:购物车和订单规格支持**
|
|
5. **故事5:购物车和订单规格支持**
|
|
|
- - **购物车逻辑适配**:支持添加子商品到购物车,使用子商品信息填充CartItem
|
|
|
|
|
- - **规格信息显示**:在购物车和订单中显示规格名称(子商品名称)
|
|
|
|
|
- - **订单系统兼容**:订单创建使用商品ID(可能是子商品ID),规格信息通过spec字段传递
|
|
|
|
|
|
|
+ - **购物车最小化修改**:适配`addToCart`逻辑,支持添加子商品(使用子商品信息填充CartItem)
|
|
|
|
|
+ - **规格信息显示**:购物车和订单中通过`name`字段显示完整规格信息
|
|
|
|
|
+ - **订单系统兼容**:订单创建使用商品ID(可能是子商品ID),保持现有逻辑
|
|
|
- **多租户兼容性**:确保父子商品在同一租户下
|
|
- **多租户兼容性**:确保父子商品在同一租户下
|
|
|
- - **验收标准**:购物车能正确添加子商品,订单显示规格信息,现有单规格商品不受影响
|
|
|
|
|
|
|
+ - **验收标准**:购物车能正确添加子商品,订单显示完整商品名称,现有单规格商品不受影响
|
|
|
|
|
|
|
|
## 兼容性要求
|
|
## 兼容性要求
|
|
|
- [ ] 现有API保持向后兼容,新增端点不影响现有功能
|
|
- [ ] 现有API保持向后兼容,新增端点不影响现有功能
|
|
@@ -129,12 +132,12 @@
|
|
|
|
|
|
|
|
### 前端适配
|
|
### 前端适配
|
|
|
- **规格选择器**:显示子商品名称作为规格选项,选择时使用子商品信息
|
|
- **规格选择器**:显示子商品名称作为规格选项,选择时使用子商品信息
|
|
|
-- **购物车逻辑简化**:
|
|
|
|
|
- - 如果选择规格:使用子商品的`id`、`name`、`price`、`stock`,`spec`=子商品名称
|
|
|
|
|
- - 如果不选择规格(单规格商品):使用父商品的`id`、`name`、`price`、`stock`,`spec`=undefined
|
|
|
|
|
- - **关键**:购物车接口和逻辑保持不变,只是商品可能是子商品
|
|
|
|
|
-- **商品详情页**:父商品信息展示,规格选择后使用选中商品(子商品)的信息
|
|
|
|
|
-- 保持现有UI样式和错误处理机制
|
|
|
|
|
|
|
+- **购物车逻辑极致简化**:
|
|
|
|
|
+ - 如果选择规格:`CartItem`使用子商品的`id`、`name`、`price`、`stock`
|
|
|
|
|
+ - 如果不选择规格:`CartItem`使用父商品的`id`、`name`、`price`、`stock`
|
|
|
|
|
+ - **关键**:`name`字段已经包含完整规格信息,`spec`字段可暂时忽略或设置为相同值
|
|
|
|
|
+- **商品详情页**:父商品信息展示,规格选择后使用选中商品的信息
|
|
|
|
|
+- **最大优势**:购物车和订单逻辑几乎不需要修改,只需正确选择商品
|
|
|
|
|
|
|
|
---
|
|
---
|
|
|
**史诗创建时间**:2025-12-06
|
|
**史诗创建时间**:2025-12-06
|