fox: try to restore the processing logic of windows custom scheme

This commit is contained in:
huzibaca 2024-09-16 05:30:29 +08:00
parent b6e1d71b81
commit fc49e4a0da
2 changed files with 11 additions and 3 deletions

View File

@ -46,16 +46,24 @@ pub fn run() {
app.deep_link().register_all()?; app.deep_link().register_all()?;
} }
#[cfg(target_os = "macos")]
app.listen("deep-link://new-url", |event| { app.listen("deep-link://new-url", |event| {
log::trace!("deep link event: {:?}", event);
tauri::async_runtime::spawn(async move { tauri::async_runtime::spawn(async move {
let payload = event.payload(); 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 { tauri::async_runtime::block_on(async move {
resolve::resolve_setup(app).await; resolve::resolve_setup(app).await;
#[cfg(not(target_os = "macos"))]
{
let argvs: Vec<String> = std::env::args().collect();
if argvs.len() > 1 {
let param = argvs[1].as_str();
log_err!(resolve_scheme(argvs[1].to_owned()));
}
}
}); });
Ok(()) Ok(())

View File

@ -241,7 +241,7 @@ pub async fn resolve_scheme(param: String) -> Result<()> {
.get(2..param.len() - 2) .get(2..param.len() - 2)
.ok_or_else(|| anyhow::anyhow!("Invalid string slice boundaries"))? .ok_or_else(|| anyhow::anyhow!("Invalid string slice boundaries"))?
} else { } else {
bail!("invalid deep link param: {:?}", param) param.as_str()
}; };
// 解析 URL // 解析 URL