通知功能
在 Electron 中,我们可以使用 Notification
API 来创建桌面通知。这个功能可以让用户即使不在应用的窗口中也能接收到消息提示。
创建一个基本的通知
首先,你需要确保你的应用已经启用了通知权限。可以通过调用 Notification.requestPermission()
方法来请求权限。
Notification.requestPermission().then((result) => { console.log(result); // "granted", "denied" 或 "default" });
当权限被授予后,你可以创建一个新的通知:
-- -------------------- ---- ------- ----- ------------ - --- ------------------ - ----- ---------- ----- -------------------- --- -------------------- - -------- -- - --------------- ------------- --
自定义通知样式
虽然原生的通知样式不能被完全定制,但你可以通过自定义 HTML 和 CSS 来实现更复杂的交互和视觉效果。这通常需要结合 Web Notifications API 和一些自定义代码。
<!-- 示例 HTML --> <div id="custom-notification"> <div class="content"> <h3>自定义通知</h3> <p>这里是通知的内容。</p> </div> </div>
-- -------------------- ---- ------- -- -- --- -- -------------------- - --------- ------ ---- ----- ------ ----- ----------------- ------ ------- --- ----- ----- -------- ----- ----------- - --- --- ------- -- -- ----- -------- ----- -- ---- -- - ------------------------- - -------- ------ -
-- -------------------- ---- ------- -- ---------- -------- ------------------------ - ----- ------------------- - ----------------------------------------------- ------------------------------------------ ------------- -- - --------------------------------------------- -- ------ -- ------- - --------------------------------------------- -- -- - -- ------------------------ --- ---------- - ------------------------- - ---
托盘图标功能
托盘图标(Tray Icon)是另一种与用户交互的重要方式,它允许用户通过系统托盘区域访问你的应用的功能。
创建托盘图标
首先,你需要安装 electron-tray
模块(如果还没有安装的话):
npm install electron-tray
然后,在你的主进程中初始化一个托盘图标:
-- -------------------- ---- ------- ----- - ---- ---- - - -------------------- ----- ---- - ---------------- --------------- -- -- - ----- ---- - --- ------------------------- --------------------- -- ------------ ----- ----------- - ------------------------ - ------ -------- ------ -- -- -- -- - ------ ----- ------ -- -- ---------- - --- --------------------- -------- ----- --------------------------------- ---
托盘图标的事件处理
你可以监听托盘图标的点击事件,以执行特定的操作:
tray.on('click', () => { // 显示或隐藏应用窗口 mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show(); });
更多功能
托盘图标还可以支持更多的交互功能,比如右键菜单、拖放操作等。这些都可以通过 Electron 的 Tray
类提供的方法和事件来实现。
通过结合使用通知和托盘图标,可以让你的应用更加互动和用户友好。希望以上内容能帮助你更好地理解和使用 Electron 的这些特性。