用Electron创建跨平台应用(第三弹)开启系统通知

简介: 对于QQ这类实时通讯软件, 设置系统通知是非常常见的功能, 对于办公用的电子邮件服务, 收到新邮件进行通知也是非常必要的Electron适用于创建跨平台应用, 对于系统通知这类常见需求, 也提供了非常好用的api用户收到系统通知后, 往往会通过...
  • 对于QQ这类实时通讯软件, 设置系统通知是非常常见的功能, 对于办公用的电子邮件服务, 收到新邮件进行通知也是非常必要的
  • Electron适用于创建跨平台应用, 对于系统通知这类常见需求, 也提供了非常好用的api
  • 用户收到系统通知后, 往往会通过点击系统通知, 打开与通知相对应的界面, 这个功能往往也是必须的

需求: 我们需要创建一个动漫更新的系统通知, 当用户点击系统的通知, 就会打开相应的界面播放动漫, 这是一个Electron功能演示的文章, 所以并不涉及如何通过网络监听各大平台的动漫更新情况(当然实现的思路也是有的, 用一个爬虫程序, 定时去爬各个平台的动漫的标题目录的变化, 如果有更新, 则通过回调函数, 发出系统通知)

效果展示

源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Electron发送系统通知</title>
</head>
<body>
    <style>
        button {
            color: #ffffff;
            background-color: #44A1F8;
            font-size: 20px;
            outline: none;
        }

    </style>
    <button id="btn1">点击我,可以触发系统通知</button>
    <script>
        const path = require('path');
        const {shell} = require('electron')

        document.getElementById("btn1").onclick = function(){

            let option = {
                title: "你订阅的《海贼王》更新了",
                body: "《海贼王》已更新至第852集 激斗开幕 路飞VS卡塔库栗",
                icon: "../static/hhw.ico",
                href: 'https://www.iqiyi.com/v_19rqz6uit0.html'
            };

            // 创建通知并保存
            let hhwNotication = new window.Notification(option.title, option);

            // 当通知被点击时, 用默认浏览器打开链接
            hhwNotication.onclick= function(){
                shell.openExternal(option.href)
            }
        }


    </script>
</body>
</html>

系统通知的图标最好是ico格式图片, 但简书不支持上传ico格式的图片, 我们可以通过http://www.bitbug.net/ 制作, 简单快捷, 下面我在源码中使用的图片资源../static/hhw.ico, 感兴趣的可以用http://www.bitbug.net/ 自己制作成ico格式的图片(自己动手, 丰衣足食)

小结:

Electron对系统通知这种常见功能封装的很好, 善用系统通知功能, 能让我们的程序更好用

用Electron创建跨平台应用是一个连载, 如果阅读本篇有困难,可以补一下前两弹的内容
用Electron创建跨平台应用(第一弹)
用Electron创建跨平台应用(第二弹)开启多窗口

目录
相关文章
|
1月前
|
资源调度 JavaScript 前端开发
IM跨平台技术学习(十一):环信基于Electron打包Web IM桌面端的技术实践
这次借着论证 Web IM端 SDK 是否可以在 Electron 生成的桌面端正常稳定使用,我决定把官方新推出的 webim-vue3-demo,打包到桌面端,并记录了这次验证的过程以及所遇到的问题和解决方法。
37 2
|
2月前
|
前端开发 数据可视化 iOS开发
基于electron快速将任意网站打包成跨平台的桌面端软件
基于electron快速将任意网站打包成跨平台的桌面端软件
77 1
|
2月前
|
Rust 前端开发 JavaScript
IM跨平台技术学习(十):快速对比跨平台框架Electron、Flutter、Tauri、React Native等
在本文中,我们将比较五种流行的桌面应用程序开发框架:Electron、Flutter、Tauri、React Native 和 Qt,希望可以帮助你根据项目需求做出明智的技术选型决策。
314 2
|
8月前
|
Web App开发 前端开发 JavaScript
用electron打包前端应用初体验
用electron打包开发桌面应用遇到的各种问题和解决办法
104 1
|
11月前
|
JavaScript 前端开发 Linux
Vue.js + Electron 的跨平台桌面应用程序开发
本文介绍了 Vue.js 和 Electron 的基本特点和原理,并分析了它们在桌面应用程序开发中的优势和应用场景。在基于 Vue.js 和 Electron 的桌面应用程序开发实践中,本文详细介绍了项目的搭建和配置,包括环境的准备、项目的初始化和依赖的安装等步骤。然后,本文介绍了使用 Vue.js 进行界面设计和组件开发的方法,并提供了相关的示例代码和实现细节。接下来,本文探讨了 Electron 主进程和渲染进程的开发,包括窗口管理、文件系统访问和与底层系统交互等方面的内容。最后,本文对基于 Vue.js 和 Electron 的桌面应用程序开发做出了总结,并展望了未来的发展方向和应用前景
625 2
|
10月前
|
缓存 监控 JavaScript
IM跨平台技术学习(九):全面解密新QQ桌面版的Electron内存优化实践
本文我们将和大家分享新版 QQ 在内存优化方面的探索和阶段性优化进展。虽然本文的讨论主要集中在 Windows 平台,但由于 Electron 的跨平台特性,大部分优化措施也同样适用于 macOS 和 Linux 平台。
144 0
|
11月前
|
前端开发 Linux iOS开发
IM跨平台技术学习(八):新QQ桌面版为何选择Electron作为跨端框架
在瞬息万变的互联网行业中,年过二十四的即时通讯IM应用 QQ 堪称超长寿的产品,见证了中国互联网崛起的完整历程。 然而,如今这个元老级产品经历了一次从内到外彻底的重构。在这次重构中,QQ 选择了 Electron 作为 UI 跨平台开发框架。 尽管 Electron 被 Slack、Visual Studio Code 和 Discord 等大型产品广泛使用,但也引发了一些网友的担忧,例如内存占用、安装包体积和启动速度等方面的问题。本文内容整理自 QQ 技术团队的采访,我们一起来看看QQ团队选择Electron作为桌面版跨端框架背后的决策与思考。
330 0
|
缓存 JavaScript 前端开发
从0到1构建跨平台Electron应用,这篇文章就够了
Electron是一个可以直接开发构建跨平台应用的库,简单、快捷。 《Electron从0到1构建跨平台应用》这篇文章,我摘录了我自己在真实项目中,从开发到生成安装包的要点。
634 0
|
Linux iOS开发 MacOS
使用Electron生成安装包并打包为不同平台的应用格式
导言: 使用Electron开发桌面应用后,我们需要将其打包成适用于不同平台的安装包,例如 Mac 的`dmg`和 Windows 的`exe`。本文将介绍如何使用 Electron-forge 自动生成项目文件,并通过简单的步骤实现打包过程。
4753 0
|
开发框架 前端开发 JavaScript
构建跨平台桌面应用:Electron和Qt的比较
当谈到构建跨平台桌面应用程序时,开发人员常常会面临一个重要的选择:Electron和Qt。这两个框架都提供了强大的工具和库来开发跨平台应用程序,但它们在设计理念、技术栈和生态系统方面存在一些区别。本文将比较Electron和Qt,并探讨它们的优势和不足之处,以帮助开发人员在选择适合自己项目的框架时做出明智的决策。
4605 0