forked from gxwebsoft/mp-10550
优化下单流程
This commit is contained in:
103
docs/ORDER_IMPROVEMENTS.md
Normal file
103
docs/ORDER_IMPROVEMENTS.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# 订单列表功能完善说明
|
||||
|
||||
## 完善的功能
|
||||
|
||||
### 1. 订单商品正确显示
|
||||
- **问题**: 原来只显示订单基本信息,没有显示具体的商品信息
|
||||
- **解决方案**:
|
||||
- 扩展了订单接口,添加了 `OrderWithGoods` 类型
|
||||
- 在加载订单列表时,同时获取每个订单的商品信息
|
||||
- 使用 `listShopOrderGoods` API 获取订单商品详情
|
||||
- 显示商品图片、名称、规格、数量和价格
|
||||
|
||||
### 2. 订单状态正确显示
|
||||
- **问题**: 原来固定显示"待付款"状态
|
||||
- **解决方案**:
|
||||
- 添加了 `getOrderStatusText` 函数,根据订单的 `payStatus`、`deliveryStatus` 和 `orderStatus` 动态显示状态
|
||||
- 支持的状态包括:待付款、待发货、待收货、已收货、已完成、已取消、退款申请中、退款成功等
|
||||
|
||||
### 3. 确认收货功能
|
||||
- **新增功能**:
|
||||
- 当订单状态为"待收货"时,显示"确认收货"按钮
|
||||
- 点击确认收货后,更新订单状态为"已收货"和"已完成"
|
||||
- 操作成功后显示提示信息并刷新列表
|
||||
|
||||
### 4. 取消订单功能
|
||||
- **新增功能**:
|
||||
- 当订单状态为"待付款"时,显示"取消订单"按钮
|
||||
- 点击取消订单后,更新订单状态为"已取消"
|
||||
- 操作成功后显示提示信息并刷新列表
|
||||
|
||||
### 5. 操作按钮优化
|
||||
- **改进**: 根据订单状态动态显示不同的操作按钮
|
||||
- 待付款:显示"取消订单"和"立即支付"按钮
|
||||
- 待收货:显示"确认收货"按钮
|
||||
- 已完成:显示"申请退款"按钮(预留功能)
|
||||
|
||||
### 6. 订单详情页面修复
|
||||
- **问题**: 订单详情页面使用了错误的API
|
||||
- **解决方案**:
|
||||
- 修改为使用正确的 `listShopOrderGoods` API
|
||||
- 直接显示商品信息,无需额外查询商品详情
|
||||
- 优化了商品信息的显示格式
|
||||
|
||||
## 技术改进
|
||||
|
||||
### 1. 类型安全
|
||||
- 添加了 `OrderWithGoods` 接口扩展
|
||||
- 完善了 `OrderListProps` 接口定义
|
||||
- 使用了正确的 TypeScript 类型
|
||||
|
||||
### 2. 错误处理
|
||||
- 添加了完善的错误处理机制
|
||||
- 操作失败时显示友好的错误提示
|
||||
- 防止因单个订单商品获取失败而影响整个列表
|
||||
|
||||
### 3. 用户体验
|
||||
- 添加了操作成功的提示信息
|
||||
- 操作完成后自动刷新列表
|
||||
- 阻止事件冒泡,避免误触
|
||||
|
||||
### 4. 数据一致性
|
||||
- 操作完成后通知父组件刷新数据
|
||||
- 确保订单状态的实时更新
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 订单状态说明
|
||||
- **待付款**: `payStatus = 0`
|
||||
- **待发货**: `payStatus = 1 && deliveryStatus = 10`
|
||||
- **待收货**: `deliveryStatus = 20`
|
||||
- **已收货**: `deliveryStatus = 30`
|
||||
- **已完成**: `orderStatus = 1`
|
||||
- **已取消**: `orderStatus = 2`
|
||||
|
||||
### API 依赖
|
||||
- `pageShopOrder`: 分页查询订单
|
||||
- `listShopOrderGoods`: 查询订单商品
|
||||
- `updateShopOrder`: 更新订单状态
|
||||
|
||||
### 组件结构
|
||||
```
|
||||
src/pages/order/
|
||||
├── order.tsx # 订单主页面
|
||||
├── components/
|
||||
│ └── OrderList.tsx # 订单列表组件
|
||||
└── test-order.tsx # 测试页面(可选)
|
||||
```
|
||||
|
||||
## 测试建议
|
||||
|
||||
1. 创建不同状态的测试订单
|
||||
2. 验证订单商品信息显示是否正确
|
||||
3. 测试确认收货功能
|
||||
4. 测试取消订单功能
|
||||
5. 验证订单状态切换是否正常
|
||||
|
||||
## 后续优化建议
|
||||
|
||||
1. 添加订单搜索功能
|
||||
2. 实现立即支付功能
|
||||
3. 添加申请退款功能
|
||||
4. 优化商品图片加载和缓存
|
||||
5. 添加订单操作的二次确认
|
||||
Reference in New Issue
Block a user