fix(mining-app): 更新弹窗不可点击外部关闭,订单详情按买卖角色显示不同倒计时文案

- 更新提示弹窗 barrierDismissible 始终为 false,防止用户误触关闭
- 订单详情页根据买家/卖家角色显示不同的倒计时提示文案
  - 买方:你需要在xx:xx内完成付款 / 等待卖方确认收款
  - 卖方:对方将在xx:xx内完成付款 / 请在xx:xx内确认收款

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-02-01 01:58:53 -08:00
parent 4e4a876341
commit 7f2479d995
2 changed files with 21 additions and 9 deletions

View File

@ -31,7 +31,7 @@ class SelfHostedUpdater extends StatefulWidget {
}) async {
await showDialog(
context: context,
barrierDismissible: !isForceUpdate,
barrierDismissible: false,
builder: (context) => SelfHostedUpdater(
versionInfo: versionInfo,
isForceUpdate: isForceUpdate,

View File

@ -108,7 +108,7 @@ class _C2cOrderDetailPageState extends ConsumerState<C2cOrderDetailPage> {
const SizedBox(height: 16),
//
_buildStatusCard(order),
_buildStatusCard(order, isBuyer),
const SizedBox(height: 16),
@ -158,7 +158,7 @@ class _C2cOrderDetailPageState extends ConsumerState<C2cOrderDetailPage> {
);
}
Widget _buildStatusCard(C2cOrderModel order) {
Widget _buildStatusCard(C2cOrderModel order, bool isBuyer) {
Color statusColor;
String statusText;
String statusDesc;
@ -176,18 +176,30 @@ class _C2cOrderDetailPageState extends ConsumerState<C2cOrderDetailPage> {
statusColor = Colors.blue;
statusText = '待付款';
remainingSeconds = order.paymentRemainingSeconds;
statusDesc = remainingSeconds != null && remainingSeconds > 0
? '对方将在 ${_formatRemainingTime(remainingSeconds)} 内完成付款'
: '买方需在规定时间内付款';
if (isBuyer) {
statusDesc = remainingSeconds != null && remainingSeconds > 0
? '你需要在 ${_formatRemainingTime(remainingSeconds)} 内完成付款'
: '请在规定时间内完成付款';
} else {
statusDesc = remainingSeconds != null && remainingSeconds > 0
? '对方将在 ${_formatRemainingTime(remainingSeconds)} 内完成付款'
: '买方需在规定时间内付款';
}
statusIcon = Icons.payment;
break;
case C2cOrderStatus.paid:
statusColor = Colors.purple;
statusText = '待确认';
remainingSeconds = order.confirmRemainingSeconds;
statusDesc = remainingSeconds != null && remainingSeconds > 0
? '请在 ${_formatRemainingTime(remainingSeconds)} 内确认收款'
: '卖方需确认收款后释放资产';
if (isBuyer) {
statusDesc = remainingSeconds != null && remainingSeconds > 0
? '等待卖方在 ${_formatRemainingTime(remainingSeconds)} 内确认收款'
: '等待卖方确认收款';
} else {
statusDesc = remainingSeconds != null && remainingSeconds > 0
? '请在 ${_formatRemainingTime(remainingSeconds)} 内确认收款'
: '请确认收款后释放资产';
}
statusIcon = Icons.check_circle_outline;
break;
case C2cOrderStatus.completed: