diff --git a/frontend/mobile-app/lib/core/services/contract_signing_service.dart b/frontend/mobile-app/lib/core/services/contract_signing_service.dart index 10d5ef71..a3bc2a8a 100644 --- a/frontend/mobile-app/lib/core/services/contract_signing_service.dart +++ b/frontend/mobile-app/lib/core/services/contract_signing_service.dart @@ -268,15 +268,22 @@ class ContractSigningService { if (response.statusCode == 200) { final responseData = response.data as Map; - if (responseData['success'] == true && responseData['data'] != null) { - final data = responseData['data'] as Map; - debugPrint('[ContractSigningService] 滚动标记成功,任务状态: ${data['status']}'); - return ContractSigningTask.fromJson(data); - } - // 兼容直接返回任务数据的情况 - if (responseData['orderNo'] != null) { - debugPrint('[ContractSigningService] 滚动标记成功(直接返回数据)'); - return ContractSigningTask.fromJson(responseData); + if (responseData['success'] == true) { + debugPrint('[ContractSigningService] 滚动标记成功'); + // 后端可能返回 data,也可能只返回 success + message + if (responseData['data'] != null) { + final data = responseData['data'] as Map; + debugPrint('[ContractSigningService] 返回任务数据,状态: ${data['status']}'); + return ContractSigningTask.fromJson(data); + } + // 兼容直接返回任务数据的情况 + if (responseData['orderNo'] != null) { + debugPrint('[ContractSigningService] 滚动标记成功(直接返回数据)'); + return ContractSigningTask.fromJson(responseData); + } + // 如果没有返回 data,重新获取任务详情 + debugPrint('[ContractSigningService] 重新获取任务详情'); + return await getTask(orderNo); } throw Exception('标记滚动失败: ${responseData['message'] ?? '响应格式错误'}'); } @@ -304,15 +311,22 @@ class ContractSigningService { if (response.statusCode == 200) { final responseData = response.data as Map; - if (responseData['success'] == true && responseData['data'] != null) { - final data = responseData['data'] as Map; - debugPrint('[ContractSigningService] 确认法律效力成功,任务状态: ${data['status']}'); - return ContractSigningTask.fromJson(data); - } - // 兼容直接返回任务数据的情况 - if (responseData['orderNo'] != null) { - debugPrint('[ContractSigningService] 确认法律效力成功(直接返回数据)'); - return ContractSigningTask.fromJson(responseData); + if (responseData['success'] == true) { + debugPrint('[ContractSigningService] 确认法律效力成功'); + // 后端可能返回 data,也可能只返回 success + message + if (responseData['data'] != null) { + final data = responseData['data'] as Map; + debugPrint('[ContractSigningService] 返回任务数据,状态: ${data['status']}'); + return ContractSigningTask.fromJson(data); + } + // 兼容直接返回任务数据的情况 + if (responseData['orderNo'] != null) { + debugPrint('[ContractSigningService] 确认法律效力成功(直接返回数据)'); + return ContractSigningTask.fromJson(responseData); + } + // 如果没有返回 data,重新获取任务详情 + debugPrint('[ContractSigningService] 重新获取任务详情'); + return await getTask(orderNo); } throw Exception('确认法律效力失败: ${responseData['message'] ?? '响应格式错误'}'); } diff --git a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart index 0b2f8c00..974cb749 100644 --- a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart +++ b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/contract_signing_page.dart @@ -761,7 +761,7 @@ class _ContractSigningPageState extends ConsumerState { ), const SizedBox(height: 4), Text( - '${_task!.treeCount} 棵榴莲树 · ${_task!.totalAmount.toStringAsFixed(2)} USDT', + '${_task!.treeCount} 棵榴莲树 · ${_task!.totalAmount.toStringAsFixed(2)} 绿积分', style: const TextStyle( fontSize: 14, fontWeight: FontWeight.bold, diff --git a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart index f47078c9..120f1bf3 100644 --- a/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart +++ b/frontend/mobile-app/lib/features/contract_signing/presentation/pages/pending_contracts_page.dart @@ -272,7 +272,7 @@ class _PendingContractsPageState extends ConsumerState { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - '金额: ${task.totalAmount.toStringAsFixed(2)} USDT', + '金额: ${task.totalAmount.toStringAsFixed(2)} 绿积分', style: const TextStyle( fontSize: 14, color: Color(0xFFD4AF37),