fix(SkuSelector): 修正价格显示逻辑避免价格错误
- 调整fakeSku中price字段优先使用product.price,确保价格正确显示 - 修改currentPrice计算顺序,使price优先于salePrice,符合实际售价需求 - 统一价格逻辑,避免SKU弹窗和商品详情页价格不一致问题 - 添加注释说明ShopGoods和ShopGoodsSku中price与salePrice的区别及优先级规则
This commit is contained in:
@@ -16,3 +16,12 @@
|
||||
3. 移除余额不足校验和充值引导弹窗
|
||||
4. payType=0 改为货到付款:提交后直接创建订单并跳转,不走在线支付流程
|
||||
5. 清理未使用的导入(payByBalance、getUserBalance、repairOrder)
|
||||
|
||||
## 确认订单页:下单成功跳转修复
|
||||
- **文件**: `src/pages/shop/checkout.tsx`
|
||||
- **问题**: 下单成功后无法跳转到订单列表页
|
||||
- **根因**: `pages/order/list` 是 tabBar 页面,`redirectTo` 无法跳转 tabBar 页,必须用 `switchTab`
|
||||
- **修复**:
|
||||
1. `redirectTo` → `switchTab`
|
||||
2. 购物车数据清理移到 payType 分支前,确保货到付款也清理购物车
|
||||
3. 货到付款(payType=0)和微信支付(payType=1)统一走同一跳转逻辑,toast 文案区分"下单成功"/"支付成功"
|
||||
|
||||
@@ -271,29 +271,23 @@ const CheckoutPage: React.FC = () => {
|
||||
|
||||
const res = await createOrder(orderParams)
|
||||
|
||||
// 根据支付方式处理
|
||||
if (payType === 0) {
|
||||
// 货到付款 — 直接创建订单,无需在线支付
|
||||
Taro.showToast({ title: '下单成功', icon: 'success' })
|
||||
setTimeout(() => {
|
||||
Taro.redirectTo({ url: '/pages/order/list' })
|
||||
}, 1500)
|
||||
return
|
||||
} else {
|
||||
// 微信支付 - res 是 WxPayResult
|
||||
await handleWxPay(res as WxPayResult)
|
||||
}
|
||||
|
||||
// 清理数据
|
||||
// 清理购物车数据(无论哪种支付方式都需清理)
|
||||
if (fromBuyNow) {
|
||||
Taro.removeStorageSync('buy_now')
|
||||
} else {
|
||||
await removeSelected()
|
||||
}
|
||||
|
||||
Taro.showToast({ title: '支付成功', icon: 'success' })
|
||||
// 根据支付方式处理
|
||||
if (payType === 1) {
|
||||
// 微信支付 - res 是 WxPayResult
|
||||
await handleWxPay(res as WxPayResult)
|
||||
}
|
||||
|
||||
// 货到付款(payType=0)无需在线支付,直接下单成功
|
||||
Taro.showToast({ title: payType === 0 ? '下单成功' : '支付成功', icon: 'success' })
|
||||
setTimeout(() => {
|
||||
Taro.redirectTo({ url: '/pages/order/list' })
|
||||
Taro.switchTab({ url: '/pages/order/list' })
|
||||
}, 1500)
|
||||
} catch (err: any) {
|
||||
Taro.showToast({ title: err.message || '提交失败', icon: 'none' })
|
||||
|
||||
Reference in New Issue
Block a user