diff --git a/frontend/mobile-app/lib/core/services/pending_action_service.dart b/frontend/mobile-app/lib/core/services/pending_action_service.dart index 96a4f445..982fde88 100644 --- a/frontend/mobile-app/lib/core/services/pending_action_service.dart +++ b/frontend/mobile-app/lib/core/services/pending_action_service.dart @@ -158,8 +158,28 @@ class PendingActionService { final data = response.data; debugPrint('[PendingActionService] 响应: $data'); + // 解析嵌套的响应结构: {success: true, data: {code: "OK", data: [...]}} if (data is Map) { - return PendingActionsResponse.fromJson(data); + // 检查是否有嵌套的 data 结构 + final innerData = data['data']; + if (innerData is Map) { + // 进一步获取内层的 data (实际的操作列表) + final actionsList = innerData['data']; + if (actionsList is List) { + debugPrint('[PendingActionService] 解析到 ${actionsList.length} 个待办操作'); + return PendingActionsResponse( + actions: actionsList + .map((e) => PendingAction.fromJson(e as Map)) + .toList(), + count: actionsList.length, + ); + } + } + + // 旧格式兼容: {actions: [...]} + if (data.containsKey('actions')) { + return PendingActionsResponse.fromJson(data); + } } // 如果返回的是列表 @@ -172,6 +192,7 @@ class PendingActionService { ); } + debugPrint('[PendingActionService] 无法解析响应数据,返回空列表'); return PendingActionsResponse(actions: [], count: 0); } catch (e) { debugPrint('[PendingActionService] 获取待办操作失败: $e');