diff --git a/src-tauri/src/proxy/circuit_breaker.rs b/src-tauri/src/proxy/circuit_breaker.rs index f2c5093ff..9f35b00bd 100644 --- a/src-tauri/src/proxy/circuit_breaker.rs +++ b/src-tauri/src/proxy/circuit_breaker.rs @@ -169,8 +169,7 @@ impl CircuitBreaker { // 超过限额,回退计数,拒绝请求 self.half_open_requests.fetch_sub(1, Ordering::SeqCst); log::debug!( - "Circuit breaker HalfOpen: rejecting request (limit reached: {})", - max_half_open_requests + "Circuit breaker HalfOpen: rejecting request (limit reached: {max_half_open_requests})" ); false } diff --git a/src-tauri/src/proxy/failover_switch.rs b/src-tauri/src/proxy/failover_switch.rs index 22d636e34..fd84f0395 100644 --- a/src-tauri/src/proxy/failover_switch.rs +++ b/src-tauri/src/proxy/failover_switch.rs @@ -48,16 +48,14 @@ impl FailoverSwitchManager { provider_id: &str, provider_name: &str, ) -> Result { - let switch_key = format!("{}:{}", app_type, provider_id); + let switch_key = format!("{app_type}:{provider_id}"); // 去重检查:如果相同切换已在进行中,跳过 { let mut pending = self.pending_switches.write().await; if pending.contains(&switch_key) { log::debug!( - "[Failover] 切换已在进行中,跳过: {} -> {}", - app_type, - provider_id + "[Failover] 切换已在进行中,跳过: {app_type} -> {provider_id}" ); return Ok(false); } @@ -86,10 +84,7 @@ impl FailoverSwitchManager { provider_name: &str, ) -> Result { log::info!( - "[Failover] 开始切换供应商: {} -> {} ({})", - app_type, - provider_name, - provider_id + "[Failover] 开始切换供应商: {app_type} -> {provider_name} ({provider_id})" ); // 1. 更新数据库 is_current @@ -97,7 +92,7 @@ impl FailoverSwitchManager { // 2. 更新本地 settings(设备级) let app_type_enum = crate::app_config::AppType::from_str(app_type) - .map_err(|_| AppError::Message(format!("无效的应用类型: {}", app_type)))?; + .map_err(|_| AppError::Message(format!("无效的应用类型: {app_type}")))?; crate::settings::set_current_provider(&app_type_enum, Some(provider_id))?; // 3. 更新托盘菜单和发射事件 @@ -137,10 +132,7 @@ impl FailoverSwitchManager { } log::info!( - "[Failover] 供应商切换完成: {} -> {} ({})", - app_type, - provider_name, - provider_id + "[Failover] 供应商切换完成: {app_type} -> {provider_name} ({provider_id})" ); Ok(true) diff --git a/src-tauri/src/proxy/handlers.rs b/src-tauri/src/proxy/handlers.rs index b5949f3ad..b9ad927c1 100644 --- a/src-tauri/src/proxy/handlers.rs +++ b/src-tauri/src/proxy/handlers.rs @@ -392,7 +392,7 @@ pub async fn handle_gemini( .map(|pq| pq.as_str()) .unwrap_or(uri.path()); - log::info!("[Gemini] 请求端点: {}", endpoint); + log::info!("[Gemini] 请求端点: {endpoint}"); let is_stream = body .get("stream") diff --git a/src-tauri/src/proxy/provider_router.rs b/src-tauri/src/proxy/provider_router.rs index dbac96e1c..01d80becb 100644 --- a/src-tauri/src/proxy/provider_router.rs +++ b/src-tauri/src/proxy/provider_router.rs @@ -102,8 +102,7 @@ impl ProviderRouter { if result.is_empty() { return Err(AppError::Config(format!( - "No available provider for {} (all circuit breakers open or no providers configured)", - app_type + "No available provider for {app_type} (all circuit breakers open or no providers configured)" ))); } @@ -199,7 +198,7 @@ impl ProviderRouter { breaker.update_config(config.clone()).await; } - log::info!("已更新 {} 个熔断器的配置", count); + log::info!("已更新 {count} 个熔断器的配置"); } /// 获取熔断器状态 diff --git a/src-tauri/src/services/proxy.rs b/src-tauri/src/services/proxy.rs index a897af1a1..407c86c13 100644 --- a/src-tauri/src/services/proxy.rs +++ b/src-tauri/src/services/proxy.rs @@ -142,8 +142,7 @@ impl ProxyService { log::warn!("同步 Claude Token 到数据库失败: {e}"); } else { log::info!( - "已同步 Claude Token 到数据库 (provider: {})", - provider_id + "已同步 Claude Token 到数据库 (provider: {provider_id})" ); } } @@ -182,8 +181,7 @@ impl ProxyService { log::warn!("同步 Codex Token 到数据库失败: {e}"); } else { log::info!( - "已同步 Codex Token 到数据库 (provider: {})", - provider_id + "已同步 Codex Token 到数据库 (provider: {provider_id})" ); } } @@ -222,8 +220,7 @@ impl ProxyService { log::warn!("同步 Gemini Token 到数据库失败: {e}"); } else { log::info!( - "已同步 Gemini Token 到数据库 (provider: {})", - provider_id + "已同步 Gemini Token 到数据库 (provider: {provider_id})" ); } } @@ -354,7 +351,7 @@ impl ProxyService { }); } self.write_claude_live(&live_config)?; - log::info!("Claude Live 配置已接管,代理地址: {}", proxy_url); + log::info!("Claude Live 配置已接管,代理地址: {proxy_url}"); } // Codex: 修改 config.toml 的 base_url,auth.json 的 OPENAI_API_KEY(代理会注入真实 Token) @@ -373,7 +370,7 @@ impl ProxyService { live_config["config"] = json!(updated_config); self.write_codex_live(&live_config)?; - log::info!("Codex Live 配置已接管,代理地址: {}", proxy_url); + log::info!("Codex Live 配置已接管,代理地址: {proxy_url}"); } // Gemini: 修改 GOOGLE_GEMINI_BASE_URL,使用占位符替代真实 Token(代理会注入真实 Token) @@ -389,7 +386,7 @@ impl ProxyService { }); } self.write_gemini_live(&live_config)?; - log::info!("Gemini Live 配置已接管,代理地址: {}", proxy_url); + log::info!("Gemini Live 配置已接管,代理地址: {proxy_url}"); } Ok(()) @@ -514,9 +511,7 @@ impl ProxyService { .map_err(|e| format!("更新当前供应商失败: {e}"))?; log::info!( - "代理模式:已切换 {} 的目标供应商为 {}", - app_type, - provider_id + "代理模式:已切换 {app_type} 的目标供应商为 {provider_id}" ); Ok(()) } @@ -722,9 +717,7 @@ impl ProxyService { .reset_provider_circuit_breaker(provider_id, app_type) .await; log::info!( - "已重置 Provider {} (app: {}) 的熔断器", - provider_id, - app_type + "已重置 Provider {provider_id} (app: {app_type}) 的熔断器" ); } Ok(()) diff --git a/src-tauri/src/services/speedtest.rs b/src-tauri/src/services/speedtest.rs index 409f54e12..d24336f01 100644 --- a/src-tauri/src/services/speedtest.rs +++ b/src-tauri/src/services/speedtest.rs @@ -63,7 +63,7 @@ impl SpeedtestService { if valid_targets.is_empty() { return Ok(results .into_iter() - .filter_map(|v| v) + .flatten() .collect::>()); } @@ -112,7 +112,7 @@ impl SpeedtestService { results[idx] = Some(latency); } - Ok(results.into_iter().filter_map(|v| v).collect::>()) + Ok(results.into_iter().flatten().collect::>()) } fn build_client(timeout_secs: u64) -> Result {