From 2f1337eca3129feffb34494baca00283a1f9e13d Mon Sep 17 00:00:00 2001 From: MTing Date: Thu, 11 Sep 2025 11:50:47 +0800 Subject: [PATCH] fix 7 --- .../main/java/com/ouxuan/oxface/MainActivity.java | 39 +++++++++++++++++++++- .../ouxuan/oxface/network/utils/NetworkUtils.java | 21 ++++++++++++ .../main/res/drawable/verify_button_background.xml | 6 ++-- 3 files changed, 62 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/ouxuan/oxface/MainActivity.java b/app/src/main/java/com/ouxuan/oxface/MainActivity.java index 696b5a6..6c9b812 100644 --- a/app/src/main/java/com/ouxuan/oxface/MainActivity.java +++ b/app/src/main/java/com/ouxuan/oxface/MainActivity.java @@ -338,8 +338,45 @@ public class MainActivity extends AppCompatActivity { android.util.Log.e("MainActivity", "Error Message: " + errorMessage); android.util.Log.e("MainActivity", "==========================="); + // 根据错误代码显示不同的提示信息 + String displayMessage; + switch (errorCode) { + case 502: + displayMessage = "服务器暂时不可用,请稍后再试"; + break; + case 400: + displayMessage = "请求参数错误"; + break; + case 401: + displayMessage = "用户名或密码错误"; + break; + case 403: + displayMessage = "访问被禁止"; + break; + case 404: + displayMessage = "登录接口未找到"; + break; + case 500: + displayMessage = "服务器内部错误"; + break; + case 503: + displayMessage = "服务暂时不可用"; + break; + case 504: + displayMessage = "网关超时"; + break; + default: + // 如果errorMessage包含具体的错误信息,则显示具体信息,否则显示通用信息 + if (errorMessage != null && !errorMessage.isEmpty() && !errorMessage.equals("请求失败: ")) { + displayMessage = errorMessage; + } else { + displayMessage = "登录失败,请检查网络连接"; + } + break; + } + // 显示Toast错误信息 - showToast("登录失败: " + errorMessage); + showToast(displayMessage); } @Override diff --git a/app/src/main/java/com/ouxuan/oxface/network/utils/NetworkUtils.java b/app/src/main/java/com/ouxuan/oxface/network/utils/NetworkUtils.java index 4b397a8..84853b7 100644 --- a/app/src/main/java/com/ouxuan/oxface/network/utils/NetworkUtils.java +++ b/app/src/main/java/com/ouxuan/oxface/network/utils/NetworkUtils.java @@ -263,6 +263,27 @@ public class NetworkUtils { public void onResponse(Call> call, Response> response) { try { + // 特别处理502错误,直接显示服务器返回的HTML内容 + if (response.code() == 502) { + // 获取错误响应体 + String errorBody = ""; + if (response.errorBody() != null) { + try { + errorBody = response.errorBody().string(); + } catch (Exception e) { + errorBody = "502 Bad Gateway"; + } + } + + // 检查是否是HTML格式的错误页面 + if (errorBody.contains("") && errorBody.contains("502 Bad Gateway")) { + callback.onError(502, "服务器暂时不可用,请稍后再试 (502 Bad Gateway)"); + } else { + callback.onError(502, "服务器错误: " + errorBody); + } + return; + } + if (response.isSuccessful() && response.body() != null) { ApiResponse apiResponse = response.body(); diff --git a/app/src/main/res/drawable/verify_button_background.xml b/app/src/main/res/drawable/verify_button_background.xml index 0a17bab..6a9c5cc 100644 --- a/app/src/main/res/drawable/verify_button_background.xml +++ b/app/src/main/res/drawable/verify_button_background.xml @@ -3,8 +3,8 @@ android:shape="rectangle"> \ No newline at end of file