API 示例应用作为 Tauri 功能的全面演示,展示了如何在实际应用程序中实现和使用各种 Tauri API。该应用程序是 Tauri 开发的主要验证工具和测试平台,演示了通过 Tauri 框架将 Web 技术与 Rust 集成的最佳实践。
API 示例应用旨在
该应用程序涵盖了大多数核心 Tauri 功能,包括窗口管理、IPC 通信、菜单创建、托盘图标和应用程序生命周期管理。有关通用 Tauri API 模式的信息,请参阅 关键概念。
来源: examples/api/src/views/Welcome.svelte26-33
API 示例应用遵循典型的 Tauri 应用程序架构,具有基于 Web 的前端(使用 Svelte 构建)和 Rust 后端。该应用程序演示了 UI 组件和后端功能之间的关注点分离。
来源: examples/api/src/App.svelte1-353 examples/api/src-tauri/src/main.rs1-11
该应用程序采用侧边栏导航方法,以在单独的视图组件中演示不同的 API 功能。每个视图都侧重于特定的 Tauri API 功能。
UI 结构采用响应式设计,可在不同屏幕尺寸上运行,具有
来源: examples/api/src/App.svelte222-352 examples/api/src/app.css41-50
API 示例应用在不同视图中展示了广泛的 Tauri 功能
| 视图 | 主要功能 | 相关 API |
|---|---|---|
| 欢迎 | 应用程序信息,基本交互 | @tauri-apps/api/app |
| 通信 | JS 和 Rust 之间的 IPC,通道,事件 | @tauri-apps/api/core |
| 窗口 | 窗口创建、操作、样式、效果 | @tauri-apps/api/window,@tauri-apps/api/webviewWindow |
| 应用程序 | 应用程序生命周期,主题管理 | @tauri-apps/api/app |
| 菜单 | 菜单创建、上下文菜单、应用菜单 | @tauri-apps/api/menu |
| 托盘 | 系统托盘图标,托盘菜单 | @tauri-apps/api/tray |
| WebRTC | 媒体设备访问(摄像头/麦克风) | 浏览器 WebRTC API |
来源: examples/api/src/App.svelte53-69
该示例应用程序演示了三种主要的 JavaScript 和 Rust 之间的通信模式
命令是调用 JavaScript 中的 Rust 函数的主要方法。该示例展示了如何使用 invoke API 来调用 Rust 函数并处理响应。
在“通信”视图中的示例
来源: examples/api/src/views/Communication.svelte20-47
事件系统支持 JavaScript 和 Rust 之间的双向通信。事件可以从双方监听和发出。
来源: examples/api/src/views/Communication.svelte11-18 examples/api/src/views/Communication.svelte55-57
通道提供了 JavaScript 和 Rust 之间的流式通信机制,适用于随着时间推移发送多条消息。
来源: examples/api/src/views/Communication.svelte49-53
“窗口”视图提供了 Tauri 窗口管理功能的全面演示。它允许用户
“窗口”视图实现了窗口指标的实时跟踪,并提供了用于修改窗口属性的交互式 UI。
来源: examples/api/src/views/Window.svelte1-808
示例应用程序通过交互式构建器展示了 Tauri 的菜单和托盘功能,允许用户
来源: examples/api/src/views/Menu.svelte1-50 examples/api/src/views/Tray.svelte1-80 examples/api/src/components/MenuBuilder.svelte1-46 examples/api/src/components/MenuItemBuilder.svelte1-150
该应用程序包含一个内置的控制台输出系统,用于显示前端和后端的各种消息,方便用户观察 API 调用和事件的结果。
控制台组件提供以下功能:
来源: examples/api/src/App.svelte94-127 examples/api/src/App.svelte316-350
该示例应用程序演示了各种应用程序生命周期功能,包括
来源: examples/api/src/views/App.svelte1-61 examples/api/src/views/Welcome.svelte1-41 examples/api/src/App.svelte77-92
API 示例应用展示了 Tauri 如何与 Web 技术无缝集成。该应用使用了
来源: examples/api/unocss.config.js1-102 examples/api/src/app.css1-51 examples/api/src/views/WebRTC.svelte1-57
API示例应用程序在Tauri生态系统中具有双重目的
如“欢迎”视图中所述,该应用程序计划未来集成到Tauri的自动化集成测试中。