通知
向用户发送吐司通知(短暂自动过期的操作系统窗口元素)。也可以与 Notification 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,以优化包大小和安全性。
接口
Options
发送通知的选项。
自: 1.0.0
属性
body
可选
body:string
可选的通知正文。
定义于: notification.ts:38
icon
可选
icon:string
可选的通知图标。
平台特定
- Windows:应用程序必须已安装才能生效。
定义于: notification.ts:47
sound
可选
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: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
>
一个 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 | 字符串 | 选项 |
返回: void