From 846bf5b06127724a697c76b817d9f04b48b3bfdc Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 25 Dec 2025 03:09:31 -0800 Subject: [PATCH] =?UTF-8?q?fix(mobile-app):=20=E4=BF=AE=E5=A4=8D=20getTask?= =?UTF-8?q?=20=E8=A7=A3=E6=9E=90=E5=93=8D=E5=BA=94=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前直接用 response.data 解析,应该取 response.data['data']。 这导致 expiresAt 等字段无法正确获取,倒计时每次都从 24 小时开始。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../lib/core/services/contract_signing_service.dart | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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 b3a31341..14f5a5aa 100644 --- a/frontend/mobile-app/lib/core/services/contract_signing_service.dart +++ b/frontend/mobile-app/lib/core/services/contract_signing_service.dart @@ -213,6 +213,10 @@ class ContractSigningService { if (responseData['success'] == true && responseData['data'] != null) { final data = responseData['data'] as List; debugPrint('[ContractSigningService] 未签署任务数量: ${data.length}'); + // 调试:打印每个任务的 expiresAt + for (final item in data) { + debugPrint('[ContractSigningService] 任务 ${item['orderNo']} expiresAt: ${item['expiresAt']}'); + } return data.map((e) => ContractSigningTask.fromJson(e)).toList(); } return []; @@ -233,8 +237,13 @@ class ContractSigningService { final response = await _apiClient.get('/planting/contract-signing/tasks/$orderNo'); if (response.statusCode == 200) { - final data = response.data as Map; - return ContractSigningTask.fromJson(data); + final responseData = response.data as Map; + if (responseData['success'] == true && responseData['data'] != null) { + final data = responseData['data'] as Map; + debugPrint('[ContractSigningService] 任务 expiresAt: ${data['expiresAt']}'); + return ContractSigningTask.fromJson(data); + } + throw Exception('获取任务失败: ${responseData['message']}'); } throw Exception('获取签署任务详情失败: ${response.statusCode}');