跳至主要内容

通知

向用户发送吐司通知(简短的自动过期操作系统窗口元素)。也可与通知 Web API 配合使用。

tauri.conf.json 中的 build.withGlobalTauri 设置为 true 时,还可以使用 window.__TAURI__.notification 访问此软件包。

必须将 API 添加到 tauri.conf.json 中的 tauri.allowlist.notification

{
"tauri": {
"allowlist": {
"notification": {
"all": true // enable all notification APIs
}
}
}
}

建议仅允许列入白名单的 API,以优化捆绑大小和安全性。

接口

选项

发送通知的选项。

: 1.0.0

属性

body

可选 正文: 字符串

可选的通知正文。

在以下位置定义: notification.ts:38

icon

可选 图标: 字符串

可选的通知图标。

特定于平台

  • Windows:必须安装该应用程序才能产生任何效果。

在以下位置定义: notification.ts:47

sound

可选 声音: 字符串

可选的通知声音。

特定于平台

每个操作系统都有不同的声音名称,因此您需要根据所使用的操作系统有条件地指定适当的声音,“default”表示默认系统声音。有关声音列表,请参阅

  • Linux:可以是 https://0pointer.de/public/sound-naming-spec.html 中列出的声音之一

  • Windows:可以是 https://learn.microsoft.com/en-us/uwp/schemas/tiles/toastschema/element-audio 中列出的声音之一,但没有前缀,例如,如果 ms-winsoundevent:Notification.Default,您将使用 Default,如果 ms-winsoundevent:Notification.Looping.Alarm2,您将使用 Alarm2。Windows 7 不受支持,如果提供了声音,它将播放默认声音,否则将保持静音。

  • macOS:您可以指定在显示通知时要播放的声音的名称。除了自定义声音文件外,还可以使用任何默认声音(在“系统偏好设置”>“声音”下)。确保将声音文件复制到应用程序包(例如,YourApp.app/Contents/Resources)或以下位置之一

    • ~/Library/Sounds

    • /Library/Sounds

    • /Network/Library/Sounds

    • /System/Library/Sounds

      有关详细信息,请参阅 NSSound 文档。

: 1.5.0

定义于: notification.ts:72

title

title: string

通知标题。

定义于: notification.ts:36

类型别名

Permission

Permission: "granted" | "denied" | "default"

可能的权限值。

定义于: notification.ts:76

函数

isPermissionGranted

isPermissionGranted(): Promise<boolean>

检查是否已授予发送通知的权限。

示例

import { isPermissionGranted } from '@tauri-apps/api/notification';
const permissionGranted = await isPermissionGranted();

: 1.0.0

返回: Promise<boolean>

requestPermission

requestPermission(): Promise<Permission>

请求发送通知的权限。

示例

import { isPermissionGranted, requestPermission } from '@tauri-apps/api/notification';
let permissionGranted = await isPermissionGranted();
if (!permissionGranted) {
const permission = await requestPermission();
permissionGranted = permission === 'granted';
}

: 1.0.0

返回: Promise<Permission>

一个承诺,解决用户是否授予权限的问题。

sendNotification

sendNotification(options: string | Options): void

向用户发送通知。

示例

import { isPermissionGranted, requestPermission, sendNotification } from '@tauri-apps/api/notification';
let permissionGranted = await isPermissionGranted();
if (!permissionGranted) {
const permission = await requestPermission();
permissionGranted = permission === 'granted';
}
if (permissionGranted) {
sendNotification('Tauri is awesome!');
sendNotification({ title: 'TAURI', body: 'Tauri is awesome!' });
}

: 1.0.0

参数

名称类型
optionsstring | Options

返回: void