fix(frontend): 修复合同签署任务列表响应解析错误

后端返回格式为 {"success":true,"data":[]},前端错误地将 response.data 直接作为 List 解析,导致类型转换失败。

修复 getPendingTasks() 和 getUnsignedTasks() 方法,正确解析 responseData['data']。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-24 22:03:54 -08:00
parent 94a5c29a09
commit 941253dd77
1 changed files with 14 additions and 6 deletions

View File

@ -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<dynamic>;
debugPrint('[ContractSigningService] 待签署任务数量: ${data.length}');
return data.map((e) => ContractSigningTask.fromJson(e)).toList();
final responseData = response.data as Map<String, dynamic>;
if (responseData['success'] == true && responseData['data'] != null) {
final data = responseData['data'] as List<dynamic>;
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<dynamic>;
debugPrint('[ContractSigningService] 未签署任务数量: ${data.length}');
return data.map((e) => ContractSigningTask.fromJson(e)).toList();
final responseData = response.data as Map<String, dynamic>;
if (responseData['success'] == true && responseData['data'] != null) {
final data = responseData['data'] as List<dynamic>;
debugPrint('[ContractSigningService] 未签署任务数量: ${data.length}');
return data.map((e) => ContractSigningTask.fromJson(e)).toList();
}
return [];
}
throw Exception('获取未签署任务失败: ${response.statusCode}');