不同 Windows 和平台的功能
本指南將幫助您自訂 Tauri 應用程式的功能。
本指南內容
- 在 Tauri 應用程式中建立多個視窗
- 為不同的視窗使用不同的功能
- 使用平台特定的功能
先決條件
本練習旨在於完成 使用外掛程式權限
後閱讀。
指南
-
在這裡,我們建立一個具有兩個標籤為
first
和second
的視窗的應用程式。在您的 Tauri 應用程式中,有多種建立視窗的方法。在 Tauri 組態檔中,通常命名為
tauri.conf.json
"productName": "multiwindow",..."app": {"windows": [{"label": "first","title": "First","width": 800,"height": 600},{"label": "second","title": "Second","width": 800,"height": 600}],},...}以程式碼方式建立視窗
在 Rust 程式碼中建立 Tauri 應用程式
tauri::Builder::default().invoke_handler(tauri::generate_handler![greet]).setup(|app| {let webview_url = tauri::WebviewUrl::App("index.html".into());// First windowtauri::WebviewWindowBuilder::new(app, "first", webview_url.clone()).title("First").build()?;// Second windowtauri::WebviewWindowBuilder::new(app, "second", webview_url).title("Second").build()?;Ok(())}).run(context).expect("error while running tauri application"); -
Tauri 應用程式的視窗可以使用 Tauri 後端的不同功能或外掛程式。為了更好的安全性,建議僅為每個視窗提供必要的功能。我們模擬一個情境,其中
first
視窗使用檔案系統和對話框功能,而second
僅需要對話框功能。建議將功能檔案按其啟用的操作類別分開。
在
src-tauri/capabilities
中的 JSON 檔案將被納入功能系統的考量。在這裡,我們將與檔案系統和對話框視窗相關的功能分開到filesystem.json
和dialog.json
中。Tauri 專案的檔案樹
/src/src-tauri/capabilitiesfilesystem.jsondialog.jsontauri.conf.jsonpackage.jsonREADME.md將檔案系統功能賦予
first
視窗我們賦予
first
視窗具有讀取$HOME
目錄內容的功能。在具有一個或多個視窗標籤的功能檔案中使用
windows
欄位。filesystem.json {"identifier": "fs-read-home","description": "Allow access file access to home directory","local": true,"windows": ["first"],"permissions": ["fs:allow-home-read",]}將對話框功能賦予
first
和second
視窗我們賦予
first
和second
視窗建立「是/否」對話框的功能在具有一個或多個視窗標籤的功能檔案中使用
windows
欄位。dialog.json {"identifier": "dialog","description": "Allow to open a dialog","local": true,"windows": ["first", "second"],"permissions": ["dialog:allow-ask"]} -
我們現在想要自訂僅在特定平台上啟用的功能。我們使我們的檔案系統功能僅在
linux
和windows
上啟用。在功能檔案中使用
platforms
欄位使其成為平台特定的。filesystem.json {"identifier": "fs-read-home","description": "Allow access file access to home directory","local": true,"windows": ["first"],"permissions": ["fs:allow-home-read",],"platforms": ["linux", "windows"]}目前可用的平台為
linux
、windows
、macos
、android
和ios
。
結論與資源
我們已經學習瞭如何在 Tauri 應用程式中建立多個視窗並為它們提供特定的功能。此外,這些功能還可以針對特定平台。
可以在 api
範例 的 Tauri Github 儲存庫 中找到使用視窗功能的範例應用程式。可以在 功能 參考中找到功能檔案中可以使用的欄位列表。
© 2025 Tauri 貢獻者。CC-BY / MIT