diff --git a/src-tauri/src/cmd/service.rs b/src-tauri/src/cmd/service.rs index 5b10d82e..083ca5b7 100644 --- a/src-tauri/src/cmd/service.rs +++ b/src-tauri/src/cmd/service.rs @@ -1,22 +1,16 @@ use super::CmdResult; -use crate::{ - core::{service, CoreManager}, - logging_error, - utils::logging::Type, -}; +use crate::core::{service, CoreManager}; async fn execute_service_operation( service_op: impl std::future::Future>, op_type: &str, ) -> CmdResult { - if let Err(_) = service_op.await { + if service_op.await.is_err() { let emsg = format!("{} {} failed", op_type, "service"); - // logging_error!(Type::Service, true, "{:?}", e); return Err(emsg); } - if let Err(_) = CoreManager::global().restart_core().await { + if CoreManager::global().restart_core().await.is_err() { let emsg = format!("{} {} failed", op_type, "core"); - // logging_error!(Type::Core, true, "{:?}", e); return Err(emsg); } Ok(()) diff --git a/src-tauri/src/core/core.rs b/src-tauri/src/core/core.rs index 768d65c7..dc73fa3a 100644 --- a/src-tauri/src/core/core.rs +++ b/src-tauri/src/core/core.rs @@ -576,9 +576,11 @@ impl CoreManager { // 安装失败,记录错误并使用sidecar模式 logging!(warn, Type::Core, true, "服务安装失败: {}", err); - let mut new_state = service::ServiceState::default(); - new_state.last_error = Some(err.to_string()); - new_state.prefer_sidecar = true; // 标记偏好sidecar模式 + let new_state = service::ServiceState { + last_error: Some(err.to_string()), + prefer_sidecar: true, + ..Default::default() + }; new_state.save()?; self.start_core_by_sidecar().await?; diff --git a/src-tauri/src/core/tray/mod.rs b/src-tauri/src/core/tray/mod.rs index 75db0375..177ef397 100644 --- a/src-tauri/src/core/tray/mod.rs +++ b/src-tauri/src/core/tray/mod.rs @@ -50,7 +50,7 @@ pub struct Tray {} impl TrayState { pub fn get_common_tray_icon() -> (bool, Vec) { let verge = Config::verge().latest().clone(); - let is_common_tray_icon = verge.common_tray_icon.clone().unwrap_or(false); + let is_common_tray_icon = verge.common_tray_icon.unwrap_or(false); if is_common_tray_icon { if let Some(common_icon_path) = find_target_icons("common").unwrap() { let icon_data = fs::read(common_icon_path).unwrap(); @@ -59,7 +59,7 @@ impl TrayState { } #[cfg(target_os = "macos")] { - let tray_icon_colorful = verge.tray_icon.clone().unwrap_or("monochrome".to_string()); + let tray_icon_colorful = verge.tray_icon.unwrap_or("monochrome".to_string()); if tray_icon_colorful == "monochrome" { ( false, @@ -84,7 +84,7 @@ impl TrayState { pub fn get_sysproxy_tray_icon() -> (bool, Vec) { let verge = Config::verge().latest().clone(); - let is_sysproxy_tray_icon = verge.sysproxy_tray_icon.clone().unwrap_or(false); + let is_sysproxy_tray_icon = verge.sysproxy_tray_icon.unwrap_or(false); if is_sysproxy_tray_icon { if let Some(sysproxy_icon_path) = find_target_icons("sysproxy").unwrap() { let icon_data = fs::read(sysproxy_icon_path).unwrap(); @@ -118,7 +118,7 @@ impl TrayState { pub fn get_tun_tray_icon() -> (bool, Vec) { let verge = Config::verge().latest().clone(); - let is_tun_tray_icon = verge.tun_tray_icon.clone().unwrap_or(false); + let is_tun_tray_icon = verge.tun_tray_icon.unwrap_or(false); if is_tun_tray_icon { if let Some(tun_icon_path) = find_target_icons("tun").unwrap() { let icon_data = fs::read(tun_icon_path).unwrap(); diff --git a/src-tauri/src/core/tray/speed_rate.rs b/src-tauri/src/core/tray/speed_rate.rs index 66821241..ea741c79 100644 --- a/src-tauri/src/core/tray/speed_rate.rs +++ b/src-tauri/src/core/tray/speed_rate.rs @@ -76,10 +76,10 @@ impl SpeedRate { } // 分离图标加载和速率渲染 - pub fn add_speed_text<'a>( + pub fn add_speed_text( is_custom_icon: bool, icon_bytes: Option>, - rate: Option<&'a Rate>, + rate: Option<&Rate>, ) -> Result> { let rate = rate.unwrap_or(&Rate { up: 0, down: 0 });