自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

渐墨深的博客

学海无涯

  • 博客(25)
  • 资源 (9)
  • 收藏
  • 关注

原创 【electron】接入c++插件

环境:visual Studio python npm install node-gyp -gdemo:https://github.com/nodejs/node-addon-examplesnode官方提供的多个插件例子选择一个顺眼的例子,进入子目录中,cd node-addon-api && npm install && node-gyp build && npm testbuild之后会在项目目录中生成build目录,..

2022-04-22 11:17:55 3487 1

原创 【electron】nsis重编译,自定义nsis校验弹窗警告的文案

nsis默认的弹窗警告:可以修改NSIS目录下stubs/zlib_solid文件修改文案,该文件为c++项目编译产出后的文件,故需要修改文件需要重新编译nsis1.下载nsis源码:从 NSIS 官方网站NSIS: Nullsoft Scriptable Install System - Browse Files at SourceForge.net 下载 源代码 zip 包,切记是-src的包,这里下载的是最新的Download NSIS: Nullsoft Scriptable .

2022-04-21 10:34:58 2172

原创 【electron】静默升级与主动安装

结合electron-updater包与downloadItem类实现主要流程:1.通过electron-updater检查更新,返回升级2.判断是否执行静默升级(检查本地安装包的完整性)3.通过downloadItem执行下载,它可以实行暂停与恢复4.下载完成后通过execSync执行安装包,关闭应用electron-updater中逻辑不变,可参考:【electron】应用在线升级_渐墨深的博客-CSDN博客_electron 在线更新主流程新增download代码

2022-04-12 11:33:30 3898 3

原创 【electron】electron开发中的一些问题

electron中遇到问题gpu process launch failed: error_code=xxcontextIsolation:false

2022-04-12 10:38:56 1994

原创 【electron】应用在线升级

流程1.设置feedUrl每次登录应用后更新feedUrl,如果需要灰度测试。可以添加uuid的参数,由服务端判断是否命中注意:feedUrl需要在checkUpdate之前调用// 主进程// 初始化 private cancellationToken?: CancellationToken private isForceUpdate = false private updating = false autoUpdater.logger = log a

2021-12-14 11:08:36 3062

原创 【electron】打包过程中的一些坑

1.应用白屏本地运行正常,打包后白屏,大概率是loadFile路径不对其中index.html的路径要根据打包后的main.js的相对路径,打包后main.js的层级变了,需要对应修改,renderer和main的目录是并列的win.loadFile(path.join(__dirname, '../../renderer/index.html'));2. 整个应用打包后找不到main.js文件⨯ Application entry file "main/main.js" in th

2021-11-09 11:50:19 3946

原创 【electron】打开离线包-双击文件打开关联应用

1.写入注册表,在安装后执行,卸载后删除注册表 // electron-builder.json 中增加配置, "nsis": { "guid": "com.xxx", "deleteAppDataOnUninstall": true, // 卸载后删除用户数据 "include": "script/installer.nsh", // 配置安装后的脚本 "oneClick": false, // 取消一键安装 "perMachine": true,

2021-11-09 11:12:36 2043 2

原创 【electron】打开离线包-解压文件

1. 使用unzipper解压文件,可以解压带密码的文件,需要安装unzipper和iconv-lite参考 :node-unzipper 加密压缩包的解压 - 星耀夕空缺点:对于大文件解压速度太慢,尤其是带密码的大文件,基本不用考虑// 渲染进程中const { createReadStream, createWriteStream } = window.require('fs');const { unzipper } = window.require('unzipper')con.

2021-11-09 11:01:01 1890

原创 【electron】打开离线包-读本地文件

1.渲染进程直接调用remote中的dialog方法// 渲染进程const { dialog } = window.require('electron').remote;dialog .showOpenDialog({ title: '请选择你的离线包', // 过滤选择文件类型 filters: [ { name: 'file', extensions: ['ep.

2021-11-09 10:23:00 917

原创 慎用 空值合并运算符 ?? 于 || 完全不能替代

当代码是available || ok时候,webstrom可能就会弹出这个提示,是不是毫不犹豫点了 exlint fix...然后就突然发现结果不对了??看下官方定义:当左侧的操作数为null或者undefined时,返回其右侧操作数,否则返回左侧操作数。只能做判空使用,千万不要当||操作符使用。这个时候,可以把左侧判断写全,譬如,!!available || ok, 或者available===true|| ok就不会提示eslint的错误了。...

2021-04-09 16:30:12 245 1

原创 【RxJs】每天学习一点操作符 combineAll、combineLatest

combineLatest:官方解释:combineLatest(observable1:ObservableInput, observable2:ObservableInput, project:function, scheduler:Scheduler):Observable组合多个 Observables 来创建一个 Observable ,该 Observable 的...

2021-02-07 14:55:37 1177

原创 前端常用功能的实现方法 - 持续更新

// 年龄计算 private getAge(birthday: number) { const time = new Date(); const bir = new Date(birthday); return ( time.getFullYear() - bir.getFullYear() - (time.getMonth()...

2021-02-01 19:04:12 606 1

原创 【vue】ios11.4及以下版本后退页面不刷新,onpageshow方法无效

在做H5页面的时候,遇到一个很奇怪的问题,测试告诉在他的ipad上购买成功后返回页面不刷新。我:???测试了多个设备,发现在ios版本的11.4及ios8的ipad上,怀疑是系统版本问题。项目是基于vue的, 但是不是单页面应用,页面之前之间都是使用location.href跳转的。charles抓包显示在页面打开的时候根本没有调用接口?多方百度,都说使用onpageshow方法。...

2020-01-06 16:06:48 2596

原创 【JS】使用setMonth()时遇到的坑

在业务需求中,需要时间一个连续翻页控件,获取每个月的开始时间和结束时间。最开始的时候,使用 new Date()获取当前的月份为month,然后使用setMonth(month + 1),为下一个月的当前时间,setMonth(month -1),然后基本使用是没有问题的,但是在今天10月31的时候惊奇的发现,11月居然没有了?原来setMonth(month + 1)并不是单纯的取到下...

2019-10-31 18:11:13 2165

原创 【RxJs】每天学习一点操作符 concat、concatAll、concatMap、concatMapTo

concat:官方解释:concat(other:ObservableInput, scheduler:Scheduler):Observable创建一个输出 Observable,它在当前 Observable 之后顺序地发出每个给定的输入 Observable 中的所有值。测试代码:const timer$ = interval(1000).pipe(take(4)...

2019-10-14 11:03:05 833

原创 【VUE】实现自适应页面、内容不等、高度保持一致的跑马灯

遇到一个问题,在一个自适应页面中做跑马灯,因为内容高度有差异,如果采用常规的v-if显示对应的卡片,那么跑马灯的高度会在切换过程中发生变化,所以将内容横排,使用scroll的方式,滚动卡片,这样整个卡片的高度就以内容最多的卡片为准了。具体实现:跑马灯组件的template如下所示,上半部分为内容展示,下半部分为切换按钮,当鼠标进入的时候卡片悬停,鼠标离开时卡片继续切换。展示内容由父组件传...

2019-10-11 11:11:39 1670

原创 【RxJs】每天学习一点操作符 merge、mergeAll、mergeMap、mergeMapTo、mergeScan

merge官方解释:merge(observables: ...ObservableInput, concurrent:number, scheduler:Scheduler):Observable创建一个输出 Observable ,它可以同时发出每个给定的输入 Observable 中值。、测试代码:const sourceOne$ = of(1, 2, 3); ...

2019-08-26 15:09:23 5997

原创 【Vue】 vue项目重构为typescript遇到的一些坑

当按照各种教程操作的时候,会遇到很多小问题。如在改写App.vue的时候,错误:client?7d67:159 ./src/App.vueModule Error (from ./node_modules/[email protected]@eslint-loader/index.js):]50;CurrentDir=/Users/chenjing/Desktop/pro/...

2019-08-24 22:27:29 1404

原创 【RxJs】每天学习一点操作符之 map、 mapTo、switchAll、switchMap、switchMapTo

map官方解释:map(project:function(value:T, index:number):R, thisArg:any):Observable<R>将给定的project函数应用于源 Observable 发出的每个值,并将结果值作为 Observable 发出。官方的解释比较清楚。测试实例: const sourceOne =...

2019-08-23 15:33:26 2806

原创 【Vue】 使用vuex 封装一个toast 组件

使用vuex进行状态管理,使用css控制toast的显示。type表示toast中的图标,可以自定义添加多种图标,例子中只设置了normal与success,通过showToast控制toast的css的fadin和fadeout类,通过css的动画效果实现toast逐渐消失的效果//toast.components<template> <div class...

2019-07-25 23:27:40 593

原创 【Vue】自定义loadmore指令实现下拉加载更多

使用自定义指令loadmore,实现下拉加载更多。首先是loadmore.js, el 为绑定的元素,通过el.scrollHeight - el.offsetHeight === el.scrollTop判断滚动条到达底部,这里引入了loadsash实现节流,以免每一次滚动到底部都加载数据(手抖或故意滚动),加入flag字段,控制首次触底后直接执行,后续的触底至少间隔一秒,不介意第一次会慢一...

2019-07-25 23:09:52 6294

原创 【JS】js中同步异步,Promise,Async/await, Observable

同步与异步由于js是用来控制DOM的,所以js必须是单线程的,因为如果多个线程同时控制DOM操作,那么页面必然就乱套了。为了避免复杂性,所以它是单线程的。为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。虽然js单线程的,但是浏览器内部不是单线程的,以此js才实现了异步。一些I/...

2019-07-16 22:42:08 2902

原创 【Angular】根据文本宽度动态设置文本的样式

UI提了一个需求,大概内容是,在默认情况下,字体大小22px,宽度最大为104px;但是如果内容太多的话,max-width为114px;字体改成18px。。。(内心:为什么就不能多少就变小?为什么不给个大点的位置放?为什么不能一开始都显示为小号???)emmmm。尽管十分不情愿(这种基于自己菜的不情愿实在是难受),但是由于UI和产品是上帝,只能开始了各种探索之路了。由于自己的渣渣C...

2019-07-12 16:02:10 1429

原创 【NG-ZERRO】select 可增加选项,nzDropdownRender对选项扩展

功能描述:在下拉框中待选项可能并没有用户需要,这个时候希望实现用户能够自定义选项。查看官方文档发现一个扩展菜单功能,代码如图所示: <nz-select style="width: 120px;" nzShowSearch nzAllowClear [ngModel]="'lucy'" [nzDropdownRender]="render"> <nz-...

2019-05-31 15:20:37 2458

原创 【electron】- 无边框窗口应用中的一些坑

1. 无边框窗口实现通过设置frame的值为false可以隐藏窗口的边框。win = new BrowserWindow({ frame: false, });mac上的红绿灯实现了无边框后,通过设置titleBarStyle属性,可以在mac上保留红绿灯,titleBarStyle的值可选: default:默认,标准灰色不透明的mac标题栏; hidde...

2019-05-24 16:55:15 11295 2

随机关系图可用于Graphx学习测试

资源内容为结点数100到结点数10000的图的边与点信息的txt文件,可用于图的各种计算,可用于生成Spark Graphx中的图

2019-02-17

scala plugins 2018.3.5版本

scala 的plugins 2018.3.5版本,可用于idea中增加插件,切记版本要对应

2018-12-20

scala plugins 2016.2.0版本

scala 的plugins 2016.2.0版本,可用于idea中增加插件

2018-12-20

scala-2.10.3安装版本

运行scala代码需要安装的scala环境,很多时候由于版本的差异会导致代码出错,大部分情况下换成2.10.3版本就ok了

2018-12-20

appengine-mapreduce-src-20110122.jar.zip

appengine-mapreduce-src-20110122.jar.zip

2016-10-20

IKAnalyzer所需的jar包

IKAnalyzer所需的jar包

2016-10-20

commons-lang3-3.5-bin.zip

commons-lang3-3.5-bin.zip 可用

2016-10-20

java实验报告

大二时候的java实验报告,具体内容下载之后便知道了,详细清楚已通过验证,

2014-09-09

数据库课程设计

学生成绩管理系统,实验学生成绩的统计各方面内容的查询,已验证过

2014-09-09

空空如也

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

TA关注的人

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