自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入浅出实现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 883

原创 深入浅出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 2807

原创 深入浅出Electron windows端打包签名应用

应用不签名在安装过程或者下载过程会提示应用不安全,因此需要做签名,具体步骤如下:1.准备好证书,详细可以参考链接导出证书2.设置package.json的有关window打包的相关内容```json"win": { ... "verifyUpdateCodeSignature": false, // 代表加密的方式,一般分为'sha256'与'sha1'两种方式,都进行加密即可。 "signingHashAlgorithms": [ "sha256", .

2021-04-29 17:09:19 3104

原创 高阶函数

一、定义:高阶函数是指至少满足一下条件之一:函数可以作为参数被传递 或者 函数可以作为返回值输出。(1)函数作为参数被传递如:回调函数、Array.prototype.sort函数接收一个函数作为参数(2)函数作为返回值输出如:判断数据类型var isString = function( obj ){ return Object.prototype.toString.call( obj ) === '[object String]'; // String、Array、Object

2021-04-26 17:14:42 87

原创 闭包

一、闭包1、变量的作用域:var声明的变量会局限于函数中,如果变量没有会往外层逐层收缩,一直搜索到全局变量为止。2、变量的生存周期:一般变量会随着函数的调用完,退出函数则会销毁,但是函数内还有函数,并给外部调用了,造成闭包,则变量不会销毁来个简单的闭包例子:var func2 = function(){ var a = 1; a++; console.log('1111',a); return function(){ a++; console.log(

2021-04-26 16:39:01 116

原创 this的指向

分4种:作为对象的方法调用 作为普通函数调用 构造器调用 Function.prototype.call或Function.prototype.apply调用1、作为对象的方法调用当函数作为对象的方法被调用时,this 指向该对象:var obj = { a: 1, getA: function(){ alert ( this === obj ); // 输出:true alert ( this.a ); // 输出: 1 } }; obj.getA();2、

2021-04-26 15:32:38 55

原创 javascript - 原型设计模式

讲解原型设计模式之前,先了解原型和原型链的概念。一、原型和原型链1、显式原型与隐式原型显:prototype隐:__proto__两者指向同一个指针地址,因此两者是相等了 Person.prototype === Person.__proto__ // truefunction Person(name){ this.name = name}var person = new Person('zhangsan');var person1 = new Person('lis.

2021-04-26 14:27:42 84

原创 深入浅出实现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 1647

原创 深入浅出实现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 2807 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 1785

原创 githab下载代码拉取分支代码

git clone -b develop(拉取分支名称) xxxxxxxxgiturl

2021-04-16 17:01:15 174

原创 深入浅出分析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 1694

原创 深入浅出分析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 1694 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 2374

原创 Electron https

需求是:客户环境是使用https,但是证书是自签名的。因此在一般浏览器访问该网站的地址时会提示证书不安全,需要手动点击“继续访问不安全链接”,进行跳转才能访问。但是我们是Electron客户端,不可能像浏览器一样有个跳转提示,因此需要做绕开这个认证的过程。具体配置如下:/** * 兼容https非可信域*/app.on('certificate-error', (event, webContents, url, error, certificate, callback) => .

2021-04-05 21:58:56 3347 7

原创 Electron如何优雅搭建大型项目

Electron如何优雅搭建大型项目项目框架main.jsapp 模块内容使用UI层Service层Utils层Window层项目框架搭建一个稳健的Electron框架,而不是随便使用别人封装好的electron-vue,想自定义一个更合适自己的项目架构,以便更有利于实现项目发布时的体积尽可能小,并且可以任意选择合适的UI层框架,如React、Vue、Angular甚至是纯html。先看下以下项目架构图:再看下我们数据通讯流程图如下:由以上两个图可以清晰的实现代码的高内聚低耦合,并遵循职责分明的

2021-04-01 20:46:04 532 1

3D地球转动动画,适用于大盘展示数据,更加高科技效果

动画,高级感,3D,围绕地球转动动画特效,大盘展示

2023-03-31

test(vc_redist.x86.exe静默安装.nsi

NSIS打包windows端应用的脚本,实现静默安装vc_redist.x86.exe.以及添加注册表信息,实现URLscheme功能,以及应用运行中检测等,基本满足完整的打包过程

2021-04-16

Uxxx.iss实现打包windows端应用模板

INNO SETUP的打包脚本模板,里面实现静默安装vc_redist.x86.exe.以及实现了覆盖安装,以及运行中检测

2021-04-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除