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 1d729684..e3b0af7d 100644 --- a/frontend/mobile-app/lib/core/services/contract_signing_service.dart +++ b/frontend/mobile-app/lib/core/services/contract_signing_service.dart @@ -185,9 +185,13 @@ class ContractSigningService { final response = await _apiClient.get('/planting/contract-signing/pending'); if (response.statusCode == 200) { - final data = response.data as List; - debugPrint('[ContractSigningService] 待签署任务数量: ${data.length}'); - return data.map((e) => ContractSigningTask.fromJson(e)).toList(); + final responseData = response.data as Map; + if (responseData['success'] == true && responseData['data'] != null) { + final data = responseData['data'] as List; + debugPrint('[ContractSigningService] 待签署任务数量: ${data.length}'); + return data.map((e) => ContractSigningTask.fromJson(e)).toList(); + } + return []; } throw Exception('获取待签署任务失败: ${response.statusCode}'); @@ -205,9 +209,13 @@ class ContractSigningService { final response = await _apiClient.get('/planting/contract-signing/unsigned'); if (response.statusCode == 200) { - final data = response.data as List; - debugPrint('[ContractSigningService] 未签署任务数量: ${data.length}'); - return data.map((e) => ContractSigningTask.fromJson(e)).toList(); + final responseData = response.data as Map; + if (responseData['success'] == true && responseData['data'] != null) { + final data = responseData['data'] as List; + debugPrint('[ContractSigningService] 未签署任务数量: ${data.length}'); + return data.map((e) => ContractSigningTask.fromJson(e)).toList(); + } + return []; } throw Exception('获取未签署任务失败: ${response.statusCode}');