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)) {