Browse Source

✨ feat(tauri): 添加单实例插件以支持应用程序的单一运行实例

陈雪 3 weeks ago
parent
commit
759a6c2aba
3 changed files with 20 additions and 0 deletions
  1. 16 0
      src-tauri/Cargo.lock
  2. 3 0
      src-tauri/Cargo.toml
  3. 1 0
      src-tauri/src/lib.rs

+ 16 - 0
src-tauri/Cargo.lock

@@ -4257,6 +4257,7 @@ dependencies = [
  "tauri-build",
  "tauri-plugin-http",
  "tauri-plugin-opener",
+ "tauri-plugin-single-instance",
  "tauri-plugin-sql",
  "tauri-plugin-store",
  "tauri-plugin-upload",
@@ -4650,6 +4651,21 @@ dependencies = [
 ]
 
 [[package]]
+name = "tauri-plugin-single-instance"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25bbc73eed15bba8ad290a52614f2711280df4bf575b36ce78f64367074b90b7"
+dependencies = [
+ "serde",
+ "serde_json",
+ "tauri",
+ "thiserror 2.0.11",
+ "tracing",
+ "windows-sys 0.59.0",
+ "zbus",
+]
+
+[[package]]
 name = "tauri-plugin-sql"
 version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"

+ 3 - 0
src-tauri/Cargo.toml

@@ -28,3 +28,6 @@ tauri-plugin-upload = "2"
 [dependencies.tauri-plugin-sql]
 features = ["sqlite"] # or "postgres", or "mysql"
 version = "2"
+
+[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
+tauri-plugin-single-instance = "2"

+ 1 - 0
src-tauri/src/lib.rs

@@ -11,6 +11,7 @@ pub fn run() {
         kind: MigrationKind::Up,
     }];
     tauri::Builder::default()
+        .plugin(tauri_plugin_single_instance::init())
         .plugin(tauri_plugin_upload::init())
         .plugin(tauri_plugin_http::init())
         .plugin(tauri_plugin_store::Builder::new().build())