系統(tǒng)通知是桌面應(yīng)用的常見功能,用于給用戶發(fā)送提醒(刷下存在感 ??),還能幫定點擊事件以便后續(xù)的操作。
Electron 自帶通知模塊,下方代碼是一個簡單的示例
const { Notification } = require('electron')
const notice = (title, body)=> new Promise((ok,fail)=>{
if(!Notification.isSupported()) fail("當(dāng)前系統(tǒng)不支持通知")
let ps = typeof(title) == 'object'? title : {title, body}
let n = new Notification(ps)
n.on('click', ok)
n.show()
})
notice(`通知演示程序`, `程序啟動完成,本次初始化耗時 ${Math.ceil(Math.random()*1000)} ms`)
我們看看運行效果(OS 為 windows 11 家庭中文版)
這看起來還不錯,不過在 windows 10
下會遭遇滑鐵盧??,通知無法正常顯示。這是由于 OS 安全機制導(dǎo)致,兼容方案請看這里:關(guān)于electron的notification在win10下不顯示問題
我個人覺得上述操作下來較麻煩,于是找到了node-notifier,代碼改造文章來源:http://www.zghlxwxcb.cn/news/detail-609229.html
const { release } = require("os")
const notice = (title, body)=> new Promise((ok, fail)=>{
notify(
{
appID: release().indexOf("10.0.1")==0? "": "演示程序",
title,
message: body,
sound: true,
wait: true,
time: 30*1000
},
(err, response, metadata)=>ok()
)
})
效果如下
另外,打包(此處用的是 electron-builder
) node-notifier 時需添加以下配置:文章來源地址http://www.zghlxwxcb.cn/news/detail-609229.html
{
"build":{
"asarUnpack": ["./node_modules/node-notifier/**/*"]
}
}
到了這里,關(guān)于Electron 系統(tǒng)通知 Notification 實踐指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!