Electron開發實戰之記帳軟件8——消息通知

代碼倉庫: https://github.com/hilanmiao/LanMiaoDesktopnode

通用基本通知

使用原生通知直接瀏覽官網地址 https://electronjs.org/docs/tutorial/notificationsgit

渲染進程能夠直接用HTML5 Notification API 發送通知。主進程就須要使用 Notification 模塊。這兩個適用於不一樣的場景。github

設置應用程序用戶模型IDapp.setAppUsesrModelId('appId')npm

核心代碼windows

if (process.platform === 'win32') {
    app.setAppUserModelId(ApplicationName)
}
...
{
    label: '彈出通知',
    click: function () {
        console.log(Notification.isSupported())
        let notification = new Notification({
            title: '通知的標題', // 通知的標題, 將在通知窗口的頂部顯示
            body: '通知的正文文本', // 通知的正文文本, 將顯示在標題或副標題下面
            icon: iconPath, // 用於在該通知上顯示的圖標
            silent: true, // 在顯示通知時是否發出系統提示音
        })

        notification.show()
        notification.on('click' ,()=>{
            notification.close()
            console.log('click notification')
        })
    }
},

咱們目前沒有這方面的業務,因此只用基本通知就夠了,下面的高級通知,有興趣的能夠研究下。api

高級通知

Windows 的更高版本容許高級通知,自定義模板,圖像和其餘靈活元素。 要發送這些通知(來自主進程或渲染器進程),請使用用戶區模塊 electron-windows-notifications 來用原生節點附件發送 ToastNotification 和 TileNotification 對象。app

免打擾模式 / 演示模式

要檢測是否容許發送通知,請使用用戶區模塊 electron-notification-state。這樣,您能夠提早肯定 Windows 是否會將通知忽略。electron

上面兩段內容來自官網,不過只是適應windows下的。mac另有說明。3d

目前,Electron 支持Windows上的基本Toast通知。可是,當前的實現僅限於通用的多平臺通知API,而且不支持與通知中心和最新的Windows 10通知功能進行更深刻的本機集成。這裏有一篇老外的文章,能夠看到仍是很屌的。code

https://www.microsoft.com/developerblog/2016/10/30/showing-native-windows-notifications-from-electron-using-nodert/

實際使用及效果

npm install --save electron-windows-notifications

不打緊,找到早期版本安裝上便可。https://developer.microsoft.com/zh-cn/windows/downloads/sdk-archive

很差意思,仍是不行?那再見吧!

另外一個庫

node-notifier,有興趣的研究下。

相關文章
相關標籤/搜索