notification

向用户发送toast通知(简短的消息提示框)。还可以与通知Web API一起使用。

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

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


{
  "tauri": {
    "allowlist": {
      "notification": {
        "all": true // 开启所有notification API
      }
    }
  }
}

建议只允许列出您使用的 API,以优化程序包的大小和安全性。

接口

Options

发送通知的选项。

自1.0.0版本起

属性

body

Optional body: string

可选的通知正文。

定义在: notification.ts:38

icon

Optional icon: string

可选的通知图标。

定义在: notification.ts:40

sound

Optional sound: string

可选的通知声音

特定平台

每个操作系统都有不同的声音名称,因此您需要根据所使用的操作系统有条件地指定一个合适的声音,"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:65

title

title: string

通知标题

定义在: notification.ts:36

类型别名

Permission

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

可能的权限值。

定义在: notification.ts:69

方法

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>

用户是否授予权限的promise。

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版本起

参数

名称 类型
options string | Options

返回值: void