App API 提供了一系列用于管理和与 Tauri 应用程序本身交互的 JavaScript 函数。这包括检索应用程序元数据、控制应用程序可见性、管理主题以及访问特定于平台的特性,例如 macOS 上的 Dock 可见性。App API 是 @tauri-apps/api 包的一部分,它为开发者提供了对应用程序级别特性的程序化控制。
有关操作单个窗口的信息,请参阅 Window API。
App API 提供管理整个应用程序的函数,而不是特定的窗口或 WebView。这包括以下函数:
来源
examples/api/src/views/App.svelteexamples/api/src/views/Welcome.sveltepackages/api/CHANGELOG.mdApp API 提供用于检索应用程序基本信息的函数。
| 功能 | 描述 | 平台 |
|---|---|---|
getName() | 获取在 tauri.conf.json 中定义的应用程序名称。 | 所有 |
getVersion() | 获取应用程序版本。 | 所有 |
getTauriVersion() | 获取 Tauri 框架版本。 | 所有 |
getIdentifier() | 获取应用程序标识符(包标识符)。 | 所有 |
来源
examples/api/src/views/Welcome.sveltepackages/api/CHANGELOG.mdApp API 提供用于控制整个应用程序可见性的函数。
| 功能 | 描述 | 平台 |
|---|---|---|
show() | 使应用程序可见。 | 所有 |
hide() | 隐藏应用程序。 | 所有 |
这些函数会影响整个应用程序,而不仅仅是单个窗口或 WebView。
来源
examples/api/src/views/App.svelteApp API 提供用于控制应用程序主题的函数。
| 功能 | 描述 | 平台 |
|---|---|---|
setTheme(theme) | 设置应用程序主题。接受 'light'、'dark' 或 null(表示系统主题)。 | 所有 |
来源
examples/api/src/views/App.sveltepackages/api/CHANGELOG.md在 macOS 上,App API 提供用于控制应用程序在 Dock 中的可见性的函数。
| 功能 | 描述 | 平台 |
|---|---|---|
setDockVisibility(visible) | 设置应用程序在 macOS Dock 中的可见性。 | 仅限 macOS |
来源
examples/api/src/views/App.sveltepackages/api/CHANGELOG.mdApp API 函数是对 Rust 后端的 IPC(进程间通信)调用的 JavaScript 包装器。当您调用 show() 这样的函数时,它会将一个命令发送到 Tauri 核心进程,该进程然后与操作系统交互以执行请求的操作。
来源
examples/api/src/views/App.svelteexamples/api/src/views/Welcome.sveltepackages/api/CHANGELOG.md这是一个演示各种 App API 函数的完整示例。
来源
examples/api/src/views/App.svelteexamples/api/src/views/Welcome.sveltepackages/api/CHANGELOG.md错误处理:在处理 App API 函数时,务必使用 try/catch 块或 promise catch 处理程序,因为它们可能由于各种原因(权限、平台限制等)而失败。
检查平台兼容性:某些函数(如 setDockVisibility)仅在特定平台上可用。在使用这些函数之前,请检查当前平台。
主题:在实现主题切换时,请考虑使用 CSS 变量或其他技术来使主题更改立即生效。
应用程序生命周期:注意何时调用 hide() 和 show()。例如,隐藏应用程序而没有办法再次显示它可能会让用户陷入困境。
性能:App API 函数涉及 JavaScript 和 Rust 之间的 IPC 通信,这会产生一些开销。避免在紧密循环或性能关键的代码路径中调用这些函数。
来源
examples/api/src/views/App.svelteexamples/api/src/views/Welcome.svelteApp API 提供了管理整个 Tauri 应用程序的基本功能。从检索基本的应用程序信息到控制可见性和主题,这些函数使开发人员能够以编程方式控制应用程序级别的功能。虽然大多数函数在所有平台上都能正常工作,但有些函数是特定于平台的,这反映了不同操作系统上的桌面应用程序工作方式的差异。
来源
examples/api/src/views/App.svelteexamples/api/src/views/Welcome.sveltepackages/api/CHANGELOG.md