From ebd8c071475d1ce6191b169876a3c042113f6163 Mon Sep 17 00:00:00 2001 From: jacy <18049821889@163.com> Date: Mon, 3 Aug 2026 13:22:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E9=87=8F=E5=8A=A0=E5=87=8F=EF=BC=9A?= =?UTF-8?q?=E5=90=8C=E5=9F=8E/=E8=B7=A8=E5=9F=8E/=E7=8E=B0=E5=9C=BA?= =?UTF-8?q?=E5=8F=96=E8=B4=A7=E7=A1=AE=E8=AE=A4=E9=A1=B5=E5=8A=A0=E5=87=8F?= =?UTF-8?q?=E5=8F=B7=E4=B8=8D=E5=86=8D=E7=BD=AE=E7=81=B0=EF=BC=9B=E7=82=B9?= =?UTF-8?q?=E5=87=8F=E5=88=B0=E4=BD=8E=E4=BA=8E=E8=B5=B7=E8=B4=AD=E6=97=B6?= =?UTF-8?q?=20toast=EF=BC=8C=E6=95=B0=E9=87=8F=E4=BB=8D=E5=8F=AF=E9=99=8D?= =?UTF-8?q?=E5=88=B0=201=EF=BC=88=E4=B8=8D=E8=83=BD=E5=88=B0=200=EF=BC=89?= =?UTF-8?q?=E3=80=82=20=E6=94=AF=E4=BB=98=E5=90=8E=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=EF=BC=9A=E6=94=AF=E4=BB=98=E6=88=90=E5=8A=9F=E8=BF=9B=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=B8=A6=20from=3Dpay=EF=BC=9B=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E4=B8=80=E5=BE=8B=20switchTab=20=E9=A6=96=E9=A1=B5=EF=BC=88?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E5=88=99=20reLaunch=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E6=A0=88=E5=8F=AA=E6=9C=89=E4=B8=80=E9=A1=B5?= =?UTF-8?q?=E6=97=B6=20navigateBack=20=E9=80=80=E5=87=BA=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E3=80=82=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=90=8C=E6=A0=B7=E5=8A=A0=E5=9B=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/order-confirm-pickup/index.tsx | 15 ++++++++++----- apps/mini-user/src/pages/order-confirm/index.tsx | 6 +++--- apps/mini-user/src/pages/order-detail/index.tsx | 11 +++++++---- apps/mini-user/src/pages/orders/index.tsx | 6 +++++- apps/mini-user/src/pages/pay/index.tsx | 6 +++--- 5 files changed, 28 insertions(+), 16 deletions(-) diff --git a/apps/mini-user/src/pages/order-confirm-pickup/index.tsx b/apps/mini-user/src/pages/order-confirm-pickup/index.tsx index 9d187e8..3166e60 100644 --- a/apps/mini-user/src/pages/order-confirm-pickup/index.tsx +++ b/apps/mini-user/src/pages/order-confirm-pickup/index.tsx @@ -75,11 +75,12 @@ export default function OrderConfirmPickupPage() { const canSubmit = !!preview && quantityOk && !loading && !previewLoading; function updateQuantity(next: number) { - if (next < 1) return; if (next < minQty) { const tip = `现场提货至少购买 ${minQty} 瓶`; toast(tip); setMsg(tip); + if (next < 1) return; + setQuantity(next); return; } setQuantity(next); @@ -101,8 +102,12 @@ export default function OrderConfirmPickupPage() { async function submit() { if (!canSubmit) { - if (!quantityOk) setMsg(`现场提货至少购买 ${minQty} 瓶`); - return; + if (!quantityOk) { + const tip = `现场提货至少购买 ${minQty} 瓶`; + setMsg(tip); + toast(tip); + return; + } } const returnPath = `/pages/order-confirm-pickup/index?productId=${productId}&qty=${quantity}`; @@ -191,8 +196,8 @@ export default function OrderConfirmPickupPage() { 购买数量 updateQuantity(Math.max(minQty, quantity - 1))} + className="order-qty-btn" + onClick={() => updateQuantity(quantity - 1)} > diff --git a/apps/mini-user/src/pages/order-confirm/index.tsx b/apps/mini-user/src/pages/order-confirm/index.tsx index 1195316..f16545b 100644 --- a/apps/mini-user/src/pages/order-confirm/index.tsx +++ b/apps/mini-user/src/pages/order-confirm/index.tsx @@ -167,14 +167,14 @@ export default function OrderConfirmPage() { : ''; function updateQuantity(next: number) { - if (next < 1) return; if (next < minQty) { const tip = isCross ? `跨城配送至少购买 ${minQty} 瓶(1箱)` : `同城配送至少购买 ${minQty} 瓶`; toast(tip); setMsg(tip); - setQuantity(Math.max(1, next)); + if (next < 1) return; + setQuantity(next); return; } setQuantity(next); @@ -352,7 +352,7 @@ export default function OrderConfirmPage() { 购买数量 updateQuantity(quantity - 1)} > diff --git a/apps/mini-user/src/pages/order-detail/index.tsx b/apps/mini-user/src/pages/order-detail/index.tsx index 83cb554..a3f3530 100644 --- a/apps/mini-user/src/pages/order-detail/index.tsx +++ b/apps/mini-user/src/pages/order-detail/index.tsx @@ -181,12 +181,15 @@ export default function OrderDetailPage() { { - const pages = Taro.getCurrentPages(); - if (pages.length > 1) { - Taro.navigateBack(); + // 支付完成后 reLaunch 进详情:栈仅一页时 navigateBack 会退出小程序,统一回首页 + const fromPay = String(router.params.from || '') === 'pay'; + if (fromPay || Taro.getCurrentPages().length <= 1) { + Taro.switchTab({ url: '/pages/home/index' }).catch(() => { + Taro.reLaunch({ url: '/pages/home/index' }); + }); return; } - Taro.switchTab({ url: '/pages/home/index' }); + Taro.navigateBack(); }} right={} /> diff --git a/apps/mini-user/src/pages/orders/index.tsx b/apps/mini-user/src/pages/orders/index.tsx index 0a87cf5..6e44413 100644 --- a/apps/mini-user/src/pages/orders/index.tsx +++ b/apps/mini-user/src/pages/orders/index.tsx @@ -95,7 +95,11 @@ export default function OrdersPage() { Taro.switchTab({ url: '/pages/home/index' })} + onBack={() => { + Taro.switchTab({ url: '/pages/home/index' }).catch(() => { + Taro.reLaunch({ url: '/pages/home/index' }); + }); + }} /> {TABS.map((t) => ( diff --git a/apps/mini-user/src/pages/pay/index.tsx b/apps/mini-user/src/pages/pay/index.tsx index 1755d67..113d70a 100644 --- a/apps/mini-user/src/pages/pay/index.tsx +++ b/apps/mini-user/src/pages/pay/index.tsx @@ -144,10 +144,10 @@ export default function PayPage() { toast('支付成功', 'success'); } if (deliveryType === 'ON_SITE_PICKUP') { - // 现场提货支付即完成 → 订单详情(已完成);reLaunch 清掉商品详情栈 - Taro.reLaunch({ url: `/pages/order-detail/index?id=${orderId}` }); + // 现场提货支付即完成 → 订单详情;from=pay 返回强制回首页,避免 navigateBack 退出小程序 + Taro.reLaunch({ url: `/pages/order-detail/index?id=${orderId}&from=pay` }); } else { - Taro.reLaunch({ url: '/pages/orders/index?tab=paid' }); + Taro.reLaunch({ url: '/pages/orders/index?tab=paid&from=pay' }); } } catch (e) { if (isWechatAuthRequiredError(e)) {