fix(SkuSelector): 修正价格显示逻辑避免价格错误
- 调整fakeSku中price字段优先使用product.price,确保价格正确显示 - 修改currentPrice计算顺序,使price优先于salePrice,符合实际售价需求 - 统一价格逻辑,避免SKU弹窗和商品详情页价格不一致问题 - 添加注释说明ShopGoods和ShopGoodsSku中price与salePrice的区别及优先级规则
This commit is contained in:
@@ -16,3 +16,12 @@
|
|||||||
3. 移除余额不足校验和充值引导弹窗
|
3. 移除余额不足校验和充值引导弹窗
|
||||||
4. payType=0 改为货到付款:提交后直接创建订单并跳转,不走在线支付流程
|
4. payType=0 改为货到付款:提交后直接创建订单并跳转,不走在线支付流程
|
||||||
5. 清理未使用的导入(payByBalance、getUserBalance、repairOrder)
|
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)
|
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) {
|
if (fromBuyNow) {
|
||||||
Taro.removeStorageSync('buy_now')
|
Taro.removeStorageSync('buy_now')
|
||||||
} else {
|
} else {
|
||||||
await removeSelected()
|
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(() => {
|
setTimeout(() => {
|
||||||
Taro.redirectTo({ url: '/pages/order/list' })
|
Taro.switchTab({ url: '/pages/order/list' })
|
||||||
}, 1500)
|
}, 1500)
|
||||||
} catch (err: any) {
|
} catch (err: any) {
|
||||||
Taro.showToast({ title: err.message || '提交失败', icon: 'none' })
|
Taro.showToast({ title: err.message || '提交失败', icon: 'none' })
|
||||||
|
|||||||
Reference in New Issue
Block a user