From c27f8e801ea619ef043d2f6cb0d74ee13278eca0 Mon Sep 17 00:00:00 2001 From: hailin Date: Sun, 7 Dec 2025 22:46:49 -0800 Subject: [PATCH] fix(mobile-app): accept 201 status code for token refresh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit auto-login API returns 201 (Created) not 200, causing token refresh to fail even though the response was successful 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- frontend/mobile-app/lib/core/network/api_client.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/mobile-app/lib/core/network/api_client.dart b/frontend/mobile-app/lib/core/network/api_client.dart index ef5e1181..3c2d90d2 100644 --- a/frontend/mobile-app/lib/core/network/api_client.dart +++ b/frontend/mobile-app/lib/core/network/api_client.dart @@ -135,7 +135,8 @@ class ApiClient { options: Options(headers: {'Authorization': ''}), // 不带旧 Token ); - if (response.statusCode == 200) { + // auto-login 成功可能返回 200 或 201 + if (response.statusCode == 200 || response.statusCode == 201) { final responseData = response.data; // API 返回格式: { success: true, data: { accessToken, refreshToken, ... } } final data = responseData['data'] as Map; @@ -147,7 +148,7 @@ class ApiClient { key: StorageKeys.refreshToken, value: data['refreshToken'], ); - debugPrint('Token refreshed successfully'); + debugPrint('Token refreshed successfully, new token saved'); return true; } } catch (e) {