From fc49e4a0da3e3b0382ee4ca495f597f17229b627 Mon Sep 17 00:00:00 2001 From: huzibaca Date: Mon, 16 Sep 2024 05:30:29 +0800 Subject: [PATCH] fox: try to restore the processing logic of windows custom scheme --- src-tauri/src/lib.rs | 12 ++++++++++-- src-tauri/src/utils/resolve.rs | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index fdc49330..ea6fd053 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -46,16 +46,24 @@ pub fn run() { app.deep_link().register_all()?; } + #[cfg(target_os = "macos")] app.listen("deep-link://new-url", |event| { - log::trace!("deep link event: {:?}", event); tauri::async_runtime::spawn(async move { let payload = event.payload(); - log_err!(resolve_scheme(payload.to_string()).await); + log_err!(resolve_scheme(payload.to_owned()).await); }); }); tauri::async_runtime::block_on(async move { resolve::resolve_setup(app).await; + #[cfg(not(target_os = "macos"))] + { + let argvs: Vec = std::env::args().collect(); + if argvs.len() > 1 { + let param = argvs[1].as_str(); + log_err!(resolve_scheme(argvs[1].to_owned())); + } + } }); Ok(()) diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index 94231292..2f06aebf 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -241,7 +241,7 @@ pub async fn resolve_scheme(param: String) -> Result<()> { .get(2..param.len() - 2) .ok_or_else(|| anyhow::anyhow!("Invalid string slice boundaries"))? } else { - bail!("invalid deep link param: {:?}", param) + param.as_str() }; // 解析 URL