diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index e50a255b..2f0c2405 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -6979,8 +6979,7 @@ dependencies = [ [[package]] name = "tauri-plugin-autostart" version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58593aafcb03892dbf9998b35a96ead3b8e597435c7af46aff1654d076d5d03" +source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v2#9bc4b2230ebb32bd30a4c0c2a21077829a729193" dependencies = [ "auto-launch", "serde", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index e99eb8fc..28365eef 100755 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -85,13 +85,21 @@ hex = "0.4.3" runas = "=1.2.0" deelevate = "0.2.0" winreg = "0.55.0" -winapi = { version = "0.3", features = ["winbase", "fileapi", "winnt", "handleapi", "errhandlingapi", "minwindef", "winerror"] } +winapi = { version = "0.3", features = [ + "winbase", + "fileapi", + "winnt", + "handleapi", + "errhandlingapi", + "minwindef", + "winerror", +] } [target.'cfg(target_os = "linux")'.dependencies] users = "0.11.0" [target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] -tauri-plugin-autostart = "2.3.0" +tauri-plugin-autostart = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" } tauri-plugin-global-shortcut = "2.2.0" tauri-plugin-updater = "2.7.1" diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index be95583a..3c030667 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -123,12 +123,9 @@ pub fn run() { #[cfg(debug_assertions)] let devtools = tauri_plugin_devtools::init(); + #[allow(unused_mut)] let mut builder = tauri::Builder::default() - .plugin(tauri_plugin_autostart::init( - MacosLauncher::LaunchAgent, - None, - )) .plugin(tauri_plugin_updater::Builder::new().build()) .plugin(tauri_plugin_clipboard_manager::init()) .plugin(tauri_plugin_process::init()) @@ -139,12 +136,22 @@ pub fn run() { .plugin(tauri_plugin_deep_link::init()) .setup(|app| { logging!(info, Type::Setup, true, "开始应用初始化..."); + let mut auto_start_plugin_builder = tauri_plugin_autostart::Builder::new(); + #[cfg(target_os = "macos")] + { + auto_start_plugin_builder = auto_start_plugin_builder + .macos_launcher(MacosLauncher::LaunchAgent) + .app_name(app.config().identifier.clone()); + } + let _ = app.handle().plugin(auto_start_plugin_builder.build()); + #[cfg(any(target_os = "linux", all(debug_assertions, windows)))] { use tauri_plugin_deep_link::DeepLinkExt; logging!(info, Type::Setup, true, "注册深层链接..."); logging_error!(Type::System, true, app.deep_link().register_all()); } + app.deep_link().on_open_url(|event| { AsyncHandler::spawn(move || { let url = event.urls().first().map(|u| u.to_string());