From 76377c3bb6fc7ed270f90dbadec36760c52ac118 Mon Sep 17 00:00:00 2001 From: hailin Date: Wed, 10 Dec 2025 06:55:30 -0800 Subject: [PATCH] fix(mobile): fix wallet API response parsing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The wallet API returns wrapped format { success, data, timestamp } but the parser was reading from the root object directly. Now correctly unpacks the inner 'data' field before parsing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../mobile-app/lib/core/services/wallet_service.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frontend/mobile-app/lib/core/services/wallet_service.dart b/frontend/mobile-app/lib/core/services/wallet_service.dart index d965586c..3bf7f92c 100644 --- a/frontend/mobile-app/lib/core/services/wallet_service.dart +++ b/frontend/mobile-app/lib/core/services/wallet_service.dart @@ -160,8 +160,13 @@ class WalletService { debugPrint('[WalletService] 响应数据类型: ${response.data.runtimeType}'); if (response.statusCode == 200) { - final data = response.data as Map; - debugPrint('[WalletService] 原始响应数据: $data'); + final responseData = response.data as Map; + debugPrint('[WalletService] 原始响应数据: $responseData'); + + // API 返回格式: { success: true, data: {...}, timestamp: "..." } + // 需要解包内层的 data 字段 + final data = responseData['data'] as Map? ?? responseData; + debugPrint('[WalletService] 解包后数据: $data'); // 解析并打印详细信息 final wallet = WalletResponse.fromJson(data);