From 73012ee03ce9302e06e79dfb9f761a1c8d100519 Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Sun, 12 Jul 2026 18:28:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(client/orders):=20=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8/=E8=AF=A6=E6=83=85=E6=98=BE=E7=A4=BA=20expir?= =?UTF-8?q?ed=20=E8=BF=87=E6=9C=9F=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - _statusPill 函数加 'expired' => neutral 灰状态胶囊(复用 canceled 视觉档) - actions() 函数让 expired 单复用 created 分支,显示「继续支付」按钮 - 对接后端 Task 0 返回的 status=='expired' + Task 2 的 t.orderStatusExpired Co-Authored-By: Claude Opus 4.8 (1M context) --- client/lib/screens/orders_page.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/lib/screens/orders_page.dart b/client/lib/screens/orders_page.dart index ea60bf3..9d6d269 100644 --- a/client/lib/screens/orders_page.dart +++ b/client/lib/screens/orders_page.dart @@ -35,12 +35,13 @@ String _methodName(AppText t, String method) => switch (method) { _ => method, }; -/// 订单状态 → (胶囊色, 文案)。created=等待付款 / paid=已开通 / canceled=已取消。 +/// 订单状态 → (胶囊色, 文案)。created=等待付款 / paid=已开通 / canceled=已取消 / expired=已过期。 ({PangolinStatus status, String label}) _statusPill(AppText t, String status) => switch (status) { 'created' => (status: PangolinStatus.connecting, label: t.awaitingPayment), 'paid' => (status: PangolinStatus.connected, label: t.orderStatusPaid), 'canceled' => (status: PangolinStatus.neutral, label: t.orderStatusCanceled), + 'expired' => (status: PangolinStatus.neutral, label: t.orderStatusExpired), _ => (status: PangolinStatus.neutral, label: status), }; @@ -327,6 +328,7 @@ class _OrderDetailView extends ConsumerWidget { final list = []; switch (o.status) { case 'created': + case 'expired': list.add(PangolinButton(label: t.orderContinuePay, expand: true, onPressed: () => _goPurchase(context, ref))); case 'canceled': list.add(PangolinButton(label: t.orderRebuy, expand: true, onPressed: () => _goPurchase(context, ref)));