大小小丹
欲将得之,必先与之!凡事尽力而为,随心而行,余下随缘~
展开
-
深入浅出Electron mac打包签名输出dmg和pkg安装包
为了应用安全以及使用electron-updater实现自动升级功能,必须对应用进行签名打包发布。具体签名过程如下:1、本地安装两个签名的证书,具体可以咨询ios开发人员,如下:2.设置package.json的有关mac打包的相关内容,配置签名参考链接```json "build": { "afterSign": "package/afterSign.js", // 签名后执行的js,实现electron-notarize公证app "appId": "cn.com原创 2021-04-29 17:53:37 · 3100 阅读 · 0 评论 -
深入浅出实现Electron应用图片下载无感更新渲染进程视图
需求:应用在使用过程中,在后台更新应用的背景图片,这时候应用接收更新推送后实现背景图片的下载和实时更新视图。难点:1、图片下载2、无感刷新背景图片3、websocket推送项目架构:Electron + Vue编译后dist文件作为渲染进程视图解决思路:1、Vue项目中配置websocket推送监听 // 初始化weosocketfunction initWebSocket () { let wsurl = `${type}://${url}/xxxxx/websoc原创 2021-04-30 10:55:15 · 944 阅读 · 0 评论 -
深入浅出Electron windows端打包签名应用
应用不签名在安装过程或者下载过程会提示应用不安全,因此需要做签名,具体步骤如下:1.准备好证书,详细可以参考链接导出证书2.设置package.json的有关window打包的相关内容```json"win": { ... "verifyUpdateCodeSignature": false, // 代表加密的方式,一般分为'sha256'与'sha1'两种方式,都进行加密即可。 "signingHashAlgorithms": [ "sha256", .原创 2021-04-29 17:09:19 · 3450 阅读 · 0 评论 -
深入浅出实现Electron音量调节功能
Electron实现调节电脑端的音量,如下:可以通过查找nodejs的相关插件实现。查找资料有两种方式可以实现音量的设置:方式一:使用nircmd.exe实现,这个插件也是挺强大的,可以做挺多事情的,暂时还没有需求,以后可能可以用上。参考资料:https://blog.csdn.net/qq_41185868/article/details/80761111设置音量的参考链接:https://blog.csdn.net/weixin_37073932/article/details/113..原创 2021-04-20 14:16:36 · 1841 阅读 · 0 评论 -
深入浅出实现Electron判断屏幕当前是否是双屏显示?
如果在win10中设置双屏显示如下配置:开启了双屏后,我们可以通过以下两种方式实现双屏显示的判断:使用nodejs的child_process方式实现信息读取。 // 方式一: 使用 wmic 以及 exec读取显示器序列号数量判断是否多显示器 const cmdStr = "WMIC /NameSpace:\\\\Root\\WMI Path WmiMonitorID Get SerialNumberID /value"; var exec = require('child_proc原创 2021-04-19 09:43:48 · 3019 阅读 · 1 评论 -
深入浅出实现Electron判断屏幕是否是触摸屏
判断设备是否是触摸屏,在cmd终端中输入如下命令可以reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Tablet" "PC /s | find "IsTabletPC"输出结果如下:如果里面的值0x0,则表示是触摸屏。我们在终端中是可以通过命令读取注册表信息是可以判断是否是触摸屏的,那我们在electron中是否也可以通过读取注册表信息,获取这些信息?所以找到regedit模块:let regedit = requi原创 2021-04-19 09:34:39 · 1985 阅读 · 0 评论 -
深入浅出分析Electron自动升级electron-updater + electron-builder配置
自动升级的方式有很多种,我们公司第一版是使用fs做文件的下载和替换,但是存在C:// programfile的权限问题,因此只好更换技术方案。使用Electron-builder结合updater实现自动升级功能。一、electron-builder的配置在package.json中安装依赖"devDependencies": { ... "electron": "^8.2.4", "electron-builder": "^22.9.1", .... },原创 2021-04-15 17:12:39 · 1816 阅读 · 0 评论 -
深入浅出分析Electron打包插件electron-builder配置
```json{ "name": "Umeet", // 产品名称 "version": "3.2.0", // 产品版本 "private": true, // 是否私有 "main": "./src/main.js", // 程序入口文件 "author": { // 发布者信息 win-属性可见,mac在关于Umeet中可见 "name": "SYSTEC" }, "desc.原创 2021-04-15 16:37:21 · 1908 阅读 · 2 评论 -
深入浅出Electron如何解决第三方库绕开electron-builder签名配置
一、问题使用electron-builder打包应用时,会自动检查应用中所有的exe文件进行签名,dll文件可以配置"signDlls": false是否需要签名,但是有些.exe文件是不能签名的,如果签名会导致应用报错。而且.exe文件不能通过package.json指定那些文件不需要签名。二、解决思路需要在打包之前把绕开签名的exe文件重命名未.temp文件,当签名完成后再把.temp文件重命名为.exe即可。三、具体步骤如下package.json中的script如下:.原创 2021-04-06 22:07:44 · 2584 阅读 · 0 评论 -
Electron https
需求是:客户环境是使用https,但是证书是自签名的。因此在一般浏览器访问该网站的地址时会提示证书不安全,需要手动点击“继续访问不安全链接”,进行跳转才能访问。但是我们是Electron客户端,不可能像浏览器一样有个跳转提示,因此需要做绕开这个认证的过程。具体配置如下:/** * 兼容https非可信域*/app.on('certificate-error', (event, webContents, url, error, certificate, callback) => .原创 2021-04-05 21:58:56 · 3707 阅读 · 7 评论 -
Electron如何优雅搭建大型项目
Electron如何优雅搭建大型项目项目框架main.jsapp 模块内容使用UI层Service层Utils层Window层项目框架搭建一个稳健的Electron框架,而不是随便使用别人封装好的electron-vue,想自定义一个更合适自己的项目架构,以便更有利于实现项目发布时的体积尽可能小,并且可以任意选择合适的UI层框架,如React、Vue、Angular甚至是纯html。先看下以下项目架构图:再看下我们数据通讯流程图如下:由以上两个图可以清晰的实现代码的高内聚低耦合,并遵循职责分明的原创 2021-04-01 20:46:04 · 719 阅读 · 1 评论 -
深入浅出解决Electron窗口置顶失效的问题
最近接到一个任务做窗口浮窗置顶,并且可以拖动移动,类似360的浮窗,如下图所示:第一时间是使用alwaysOnTop:true, 但实际效果不如意,比如打开其他应用时会隐藏置顶,效果达不到。经过一番折腾,查阅Electron文档,官网地址,配置如下:// 即时会议窗口function createInstantWindow (title, message, btns) { //如果已经存在即时会议窗口 就不再弹窗了 let instantWindow = utils.winUt...原创 2021-03-24 15:29:10 · 4813 阅读 · 3 评论 -
Electron 使用Webview 快速开发项目,达到web端一次开发多端共用
##目录结构```sh├──assets#打包图片资源├──mac-tool#mac端打包需要的脚本文件│└──preinstall#脚本文件--实现重装清缓存、卸载干净旧的包├──node_modules#npm本地依赖包├──Output#打包输出应用包├──renderViews#渲染进程视图,由...原创 2021-02-23 09:49:18 · 1205 阅读 · 0 评论