diff --git a/src-tauri/src/im_request_client.rs b/src-tauri/src/im_request_client.rs index 399a9655..ec0cf90b 100644 --- a/src-tauri/src/im_request_client.rs +++ b/src-tauri/src/im_request_client.rs @@ -108,6 +108,7 @@ impl ImRequestClient { ) -> Result, anyhow::Error> { let mut retry_count = 0; const MAX_RETRY_COUNT: u8 = 2; + let is_logout = path == ImUrl::Logout.get_url().1; loop { // 使用 build_request 构建请求 @@ -127,6 +128,9 @@ impl ImRequestClient { match result.code { Some(406) => { + if is_logout { + return Ok(result); + } if retry_count >= MAX_RETRY_COUNT { return Err(anyhow::anyhow!("token过期,刷新token失败")); } @@ -135,6 +139,9 @@ impl ImRequestClient { continue; } Some(401) => { + if is_logout { + return Ok(result); + } error!( "{}; 方法: {}; 失败信息: {}", &url, diff --git a/src/mobile/views/my/MobileSettings.vue b/src/mobile/views/my/MobileSettings.vue index a819c49a..902cb52d 100644 --- a/src/mobile/views/my/MobileSettings.vue +++ b/src/mobile/views/my/MobileSettings.vue @@ -150,8 +150,6 @@ async function handleLogout() { logoutSuccess = true } catch (error) { console.error('服务器登出失败:', error) - // 即使服务器登出失败,也继续执行本地清理,但给出警告 - window.$message.warning('服务器登出失败,但本地登录状态已清除') } // 无论服务器登出是否成功,都执行本地状态清理