#桌面通知 #tauri #tauri-plugin #发送通知 #tauri-app #桌面应用程序 #移动

sys tauri-plugin-notification

在您的 Tauri 应用程序中发送桌面和移动通知

24 个版本

2.0.0-rc.2 2024 年 8 月 20 日
2.0.0-beta.122024 年 7 月 31 日
2.0.0-beta.32024 年 3 月 21 日
2.0.0-alpha.72023 年 12 月 20 日
2.0.0-alpha.12023 年 6 月 6 日

#1044 in GUI

Download history 641/week @ 2024-04-28 914/week @ 2024-05-05 748/week @ 2024-05-12 437/week @ 2024-05-19 1166/week @ 2024-05-26 1016/week @ 2024-06-02 426/week @ 2024-06-09 725/week @ 2024-06-16 535/week @ 2024-06-23 825/week @ 2024-06-30 884/week @ 2024-07-07 692/week @ 2024-07-14 750/week @ 2024-07-21 963/week @ 2024-07-28 1011/week @ 2024-08-04 1044/week @ 2024-08-11

3,847 个月下载量
qwit-desktop 中使用

Apache-2.0 OR MIT

150KB
3.5K SLoC

Kotlin 1.5K SLoC // 0.1% comments Rust 1K SLoC // 0.0% comments Swift 654 SLoC // 0.1% comments TypeScript 327 SLoC // 0.5% comments JavaScript 19 SLoC // 0.1% comments Prolog 18 SLoC

plugin-notification

向您的用户发送消息通知(简短自动过期的操作系统窗口元素)。也可以与 Notification Web API 一起使用。

安装

此插件需要至少 1.75 的 Rust 版本

我们可以推荐三种一般性的安装方法。

  1. 使用 crates.io 和 npm(最简单,但需要您信任我们的发布管道)
  2. 直接从 Github 使用 git 标签/修订哈希提取源代码(最安全)
  3. 使用 Git 子模块安装此仓库到您的 Tauri 项目中,然后使用文件协议摄取源代码(最安全,但使用起来不方便)

通过添加以下内容到您的 Cargo.toml 文件安装核心插件

src-tauri/Cargo.toml

[dependencies]
tauri-plugin-notification = "2.0.0-rc"
# alternatively with Git:
tauri-plugin-notification = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }

您可以使用您喜欢的 JavaScript 包管理器安装 JavaScript 客户端绑定

注意:由于大多数 JavaScript 包管理器无法安装来自 git monorepos 的包,我们为每个插件提供了只读镜像。这使得安装选项更加直观。

pnpm add @tauri-apps/plugin-notification
# or
npm add @tauri-apps/plugin-notification
# or
yarn add @tauri-apps/plugin-notification

# alternatively with Git:
pnpm add https://github.com/tauri-apps/tauri-plugin-notification#v2
# or
npm add https://github.com/tauri-apps/tauri-plugin-notification#v2
# or
yarn add https://github.com/tauri-apps/tauri-plugin-notification#v2

用法

首先,您需要将核心插件注册到 Tauri 中

src-tauri/src/main.rs

fn main() {
    tauri::Builder::default()
        .plugin(tauri_plugin_notification::init())
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

然后,您需要将权限添加到您的能力文件中

src-tauri/能力/主要.json

{
  ...
  "permissions": [
    ...
    "notification:default"
  ],
  ...
}

之后,所有插件的 API 都将通过 JavaScript 客户端绑定提供

import { isPermissionGranted, requestPermission, sendNotification } from '@tauri-apps/plugin-notification';

async function checkPermission() {
  if (!(await isPermissionGranted())) {
    return (await requestPermission()) === 'granted';
  }
  return true;
}

export async function enqueueNotification(title, body) {
  if (!(await checkPermission())) {
    return;
  }
  sendNotification({ title, body });
}

贡献

PRs 被接受。在提交拉取请求之前,请确保您已阅读贡献指南。

合作伙伴

CrabNebula

有关赞助商的完整列表,请访问我们的 网站Open Collective

许可证

代码:© 2015 - 至今 - The Commons Conservancy 中的 Tauri 项目。

适用于 MIT 或 MIT/Apache 2.0。

依赖关系

~17–60MB
估计约 ~1M SLoC