From 099163450fe3684a8d280e0f9f33bfcff5540871 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Sun, 17 Aug 2025 13:24:52 +0800 Subject: [PATCH] refactor: simplify error handling and remove unnecessary else statements --- src-tauri/Cargo.lock | 347 +--------------------- src-tauri/Cargo.toml | 12 +- src-tauri/src/cmd/app.rs | 3 +- src-tauri/src/cmd/media_unlock_checker.rs | 21 +- src-tauri/src/core/handle.rs | 1 - src-tauri/src/core/service.rs | 3 +- src-tauri/src/enhance/script.rs | 4 +- src-tauri/src/ipc/logs.rs | 3 +- src-tauri/src/utils/resolve.rs | 4 +- src-tauri/src/utils/server.rs | 3 +- 10 files changed, 23 insertions(+), 378 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 466b2844..ce2c4104 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -74,15 +74,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "aligned-vec" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b" -dependencies = [ - "equator", -] - [[package]] name = "alloc-no-stdlib" version = "2.0.4" @@ -173,17 +164,6 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" -[[package]] -name = "arg_enum_proc_macro" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "arrayvec" version = "0.7.6" @@ -490,29 +470,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" -[[package]] -name = "av1-grain" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8" -dependencies = [ - "anyhow", - "arrayvec", - "log", - "nom 7.1.3", - "num-rational", - "v_frame", -] - -[[package]] -name = "avif-serialize" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ea8ef51aced2b9191c08197f55450d830876d9933f8f48a429b354f1d496b42" -dependencies = [ - "arrayvec", -] - [[package]] name = "axum" version = "0.6.20" @@ -591,12 +548,6 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "bit_field" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" - [[package]] name = "bitflags" version = "1.3.2" @@ -612,12 +563,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bitstream-io" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" - [[package]] name = "block" version = "0.1.6" @@ -833,12 +778,6 @@ dependencies = [ "alloc-stdlib", ] -[[package]] -name = "built" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" - [[package]] name = "bumpalo" version = "3.19.0" @@ -1111,7 +1050,6 @@ version = "2.4.0" dependencies = [ "aes-gcm", "anyhow", - "async-trait", "base64 0.22.1", "boa_engine", "chrono", @@ -1122,14 +1060,11 @@ dependencies = [ "dirs 6.0.0", "dunce", "futures", - "futures-util", "gethostname 1.0.2", "getrandom 0.3.3", "hex", "hmac", - "image", "kode-bridge", - "lazy_static", "libc", "log", "log4rs", @@ -1166,7 +1101,6 @@ dependencies = [ "tauri-plugin-shell", "tauri-plugin-updater", "tauri-plugin-window-state", - "tempfile", "tokio", "users", "warp", @@ -1213,12 +1147,6 @@ dependencies = [ "objc", ] -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - [[package]] name = "colored" version = "2.2.0" @@ -1991,26 +1919,6 @@ dependencies = [ "syn 2.0.104", ] -[[package]] -name = "equator" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc" -dependencies = [ - "equator-macro", -] - -[[package]] -name = "equator-macro" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -2081,21 +1989,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "exr" -version = "1.73.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" -dependencies = [ - "bit_field", - "half", - "lebe", - "miniz_oxide", - "rayon-core", - "smallvec", - "zune-inflate", -] - [[package]] name = "fast-float2" version = "0.2.3" @@ -2552,16 +2445,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "gif" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae047235e33e2829703574b54fdec96bfbad892062d97fed2f76022287de61b" -dependencies = [ - "color_quant", - "weezl", -] - [[package]] name = "gimli" version = "0.31.1" @@ -3378,37 +3261,11 @@ checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" dependencies = [ "bytemuck", "byteorder-lite", - "color_quant", - "exr", - "gif", - "image-webp", "num-traits", "png", - "qoi", - "ravif", - "rayon", - "rgb", "tiff", - "zune-core", - "zune-jpeg", ] -[[package]] -name = "image-webp" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6970fe7a5300b4b42e62c52efa0187540a5bef546c60edaf554ef595d2e6f0b" -dependencies = [ - "byteorder-lite", - "quick-error", -] - -[[package]] -name = "imgref" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" - [[package]] name = "indexmap" version = "1.9.3" @@ -3474,17 +3331,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "interpolate_name" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "interprocess" version = "2.2.3" @@ -3747,12 +3593,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lebe" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" - [[package]] name = "libappindicator" version = "0.9.0" @@ -3783,16 +3623,6 @@ version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" -[[package]] -name = "libfuzzer-sys" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404" -dependencies = [ - "arbitrary", - "cc", -] - [[package]] name = "libloading" version = "0.7.4" @@ -3954,15 +3784,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "loop9" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" -dependencies = [ - "imgref", -] - [[package]] name = "lru" version = "0.12.5" @@ -4051,16 +3872,6 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" -[[package]] -name = "maybe-rayon" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" -dependencies = [ - "cfg-if", - "rayon", -] - [[package]] name = "md-5" version = "0.10.6" @@ -4323,12 +4134,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "noop_proc_macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" - [[package]] name = "notify-rust" version = "4.11.7" @@ -4390,17 +4195,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.104", -] - [[package]] name = "num-integer" version = "0.1.46" @@ -4410,17 +4204,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -5403,25 +5186,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "profiling" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773" -dependencies = [ - "profiling-procmacros", -] - -[[package]] -name = "profiling-procmacros" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" -dependencies = [ - "quote", - "syn 2.0.104", -] - [[package]] name = "prost" version = "0.12.6" @@ -5470,15 +5234,6 @@ dependencies = [ "psl-types", ] -[[package]] -name = "qoi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" -dependencies = [ - "bytemuck", -] - [[package]] name = "quick-error" version = "2.0.1" @@ -5683,56 +5438,6 @@ dependencies = [ "rand_core 0.5.1", ] -[[package]] -name = "rav1e" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9" -dependencies = [ - "arbitrary", - "arg_enum_proc_macro", - "arrayvec", - "av1-grain", - "bitstream-io", - "built", - "cfg-if", - "interpolate_name", - "itertools 0.12.1", - "libc", - "libfuzzer-sys", - "log", - "maybe-rayon", - "new_debug_unreachable", - "noop_proc_macro", - "num-derive 0.4.2", - "num-traits", - "once_cell", - "paste", - "profiling", - "rand 0.8.5", - "rand_chacha 0.3.1", - "simd_helpers", - "system-deps", - "thiserror 1.0.69", - "v_frame", - "wasm-bindgen", -] - -[[package]] -name = "ravif" -version = "0.11.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b" -dependencies = [ - "avif-serialize", - "imgref", - "loop9", - "quick-error", - "rav1e", - "rayon", - "rgb", -] - [[package]] name = "raw-window-handle" version = "0.6.2" @@ -5964,12 +5669,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "rgb" -version = "0.8.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce" - [[package]] name = "ring" version = "0.17.14" @@ -6621,15 +6320,6 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" -[[package]] -name = "simd_helpers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" -dependencies = [ - "quote", -] - [[package]] name = "siphasher" version = "0.3.11" @@ -7542,7 +7232,7 @@ dependencies = [ "libc", "log", "memmem", - "num-derive 0.3.3", + "num-derive", "num-traits", "ordered-float", "regex", @@ -8354,17 +8044,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "v_frame" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2" -dependencies = [ - "aligned-vec", - "num-traits", - "wasm-bindgen", -] - [[package]] name = "valuable" version = "0.1.1" @@ -9812,30 +9491,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "zune-core" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a" - -[[package]] -name = "zune-inflate" -version = "0.2.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "zune-jpeg" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9e525af0a6a658e031e95f14b7f889976b74a11ba0eca5a5fc9ac8a1c43a6a" -dependencies = [ - "zune-core", -] - [[package]] name = "zvariant" version = "5.6.0" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 2b5de404..2736418b 100755 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -30,7 +30,6 @@ boa_engine = "0.20.0" serde_json = "1.0.142" serde_yaml = "0.9.34" once_cell = "1.21.3" -lazy_static = "1.5.0" port_scanner = "0.1.5" delay_timer = "0.11.6" parking_lot = "0.12.4" @@ -41,12 +40,10 @@ tokio = { version = "1.47.1", features = [ "time", "sync", ] } -futures-util = "0.3.31" serde = { version = "1.0.219", features = ["derive"] } reqwest = { version = "0.12.23", features = ["json", "rustls-tls", "cookies"] } regex = "1.11.1" sysproxy = { git = "https://github.com/clash-verge-rev/sysproxy-rs" } -image = "0.25.6" tauri = { version = "2.7.0", features = [ "protocol-asset", "devtools", @@ -70,7 +67,6 @@ base64 = "0.22.1" getrandom = "0.3.3" futures = "0.3.31" sys-locale = "0.3.2" -async-trait = "0.1.89" libc = "0.2.175" gethostname = "1.0.2" hmac = "0.12.1" @@ -141,7 +137,6 @@ crate-type = ["staticlib", "cdylib", "rlib"] [dev-dependencies] criterion = "0.7.0" -tempfile = "3.20.0" [lints.clippy] # Core categories - most important for code safety and correctness @@ -180,10 +175,11 @@ unused_async = "deny" # Too many false positives in Tauri/framewor await_holding_lock = "deny" large_futures = "deny" future_not_send = "deny" + # Common style improvements -#redundant_else = "allow" # Too many in existing code -#needless_continue = "allow" # Too many in existing code -#needless_raw_string_hashes = "allow" # Too many in existing code +redundant_else = "deny" # Too many in existing code +needless_continue = "deny" # Too many in existing code +needless_raw_string_hashes = "deny" # Too many in existing code # Disable noisy categories for existing codebase but keep them available #style = { level = "allow", priority = -1 } diff --git a/src-tauri/src/cmd/app.rs b/src-tauri/src/cmd/app.rs index f862dbe7..cb8fd6a2 100644 --- a/src-tauri/src/cmd/app.rs +++ b/src-tauri/src/cmd/app.rs @@ -121,9 +121,8 @@ pub async fn download_icon_cache(url: String, name: String) -> CmdResult Err(_) => { if icon_path.exists() { return Ok(icon_path.to_string_lossy().to_string()); - } else { - return Err("Failed to create temporary file".into()); } + return Err("Failed to create temporary file".into()); } }; diff --git a/src-tauri/src/cmd/media_unlock_checker.rs b/src-tauri/src/cmd/media_unlock_checker.rs index 6b9a5b86..e8661f1b 100644 --- a/src-tauri/src/cmd/media_unlock_checker.rs +++ b/src-tauri/src/cmd/media_unlock_checker.rs @@ -1091,18 +1091,17 @@ async fn check_disney_plus(client: &Client) -> UnlockItem { region: None, check_time: Some(get_local_date_string()), }; - } else { - return UnlockItem { - name: "Disney+".to_string(), - status: format!( - "Failed (GraphQL error: {}, status: {})", - graphql_body_text.chars().take(50).collect::() + "...", - graphql_status.as_u16() - ), - region: None, - check_time: Some(get_local_date_string()), - }; } + return UnlockItem { + name: "Disney+".to_string(), + status: format!( + "Failed (GraphQL error: {}, status: {})", + graphql_body_text.chars().take(50).collect::() + "...", + graphql_status.as_u16() + ), + region: None, + check_time: Some(get_local_date_string()), + }; } // 提取国家代码 diff --git a/src-tauri/src/core/handle.rs b/src-tauri/src/core/handle.rs index 68845586..820dce99 100644 --- a/src-tauri/src/core/handle.rs +++ b/src-tauri/src/core/handle.rs @@ -180,7 +180,6 @@ impl NotificationSystem { thread::sleep(Duration::from_millis(20)); } Err(mpsc::RecvTimeoutError::Timeout) => { - continue; } Err(mpsc::RecvTimeoutError::Disconnected) => { log::info!( diff --git a/src-tauri/src/core/service.rs b/src-tauri/src/core/service.rs index 1940de4d..036c2d30 100644 --- a/src-tauri/src/core/service.rs +++ b/src-tauri/src/core/service.rs @@ -856,9 +856,8 @@ pub(super) async fn run_core_by_service(config_file: &PathBuf) -> Result<()> { if let Ok(()) = start_with_existing_service(config_file).await { log::info!(target: "app", "尽管版本不匹配,但成功启动了服务"); return Ok(()); - } else { - bail!("服务版本不匹配且无法重装,启动失败"); } + bail!("服务版本不匹配且无法重装,启动失败"); } log::info!(target: "app", "开始重装服务"); diff --git a/src-tauri/src/enhance/script.rs b/src-tauri/src/enhance/script.rs index 5915b47b..30c62754 100644 --- a/src-tauri/src/enhance/script.rs +++ b/src-tauri/src/enhance/script.rs @@ -68,12 +68,12 @@ pub fn use_script( let safe_name = escape_js_string_for_single_quote(&name); let code = format!( - r#"try{{ + r"try{{ {script}; JSON.stringify(main({config_str},'{safe_name}')||'') }} catch(err) {{ `__error_flag__ ${{err.toString()}}` - }}"# + }}" ); if let Ok(result) = context.eval(Source::from_bytes(code.as_str())) { diff --git a/src-tauri/src/ipc/logs.rs b/src-tauri/src/ipc/logs.rs index ecc5bf1c..4307354f 100644 --- a/src-tauri/src/ipc/logs.rs +++ b/src-tauri/src/ipc/logs.rs @@ -109,9 +109,8 @@ impl LogsMonitor { filter_level ); return; - } else { - true // Level changed } + true // Level changed } else { true // First time or was stopped } diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index c6569556..0aa68166 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -557,13 +557,13 @@ pub fn create_window(is_show: bool) -> bool { logging!(info, Type::Window, true, "UI已完全加载就绪"); handle::Handle::global() .get_window() - .map(|window| window.eval(r#" + .map(|window| window.eval(r" const overlay = document.getElementById('initial-loading-overlay'); if (overlay) { overlay.style.opacity = '0'; setTimeout(() => overlay.remove(), 300); } - "#)); + ")); } Err(_) => { logging!( diff --git a/src-tauri/src/utils/server.rs b/src-tauri/src/utils/server.rs index 1cdd16cf..2e48d3a1 100644 --- a/src-tauri/src/utils/server.rs +++ b/src-tauri/src/utils/server.rs @@ -38,9 +38,8 @@ pub async fn check_singleton() -> Result<()> { } log::error!("failed to setup singleton listen server"); bail!("app exists"); - } else { - Ok(()) } + Ok(()) } /// The embed server only be used to implement singleton process