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