- 博客(119)
- 资源 (4)
- 收藏
- 关注
原创 electron-builder 打包安装与启动手动安装,最终解决方案,之前的文章与其他的人都不用看了。
最近官网出了个electron-forge,但打包之后的软件包有问题会有个多余的遮罩物挡在软件的最前面,太恶心了。研究了很久硬是没法去掉。没办法只能重温electron-builder工具来进行打包。之前用过这个安装过一次,也是耗费了好几天。而且也做好了笔记,有资料的情况下,我万万没想到我又用了两天时间才把这个打包工具安装好。我是真的无语了。尝试了很多种办法,大家也别尝试了,还是乖乖的手动安装吧!不过我想到的办法是真的多,大家有兴趣的可以尝试,遇到类似问题也可以套用这几个方法。
2025-04-25 16:03:02
275
原创 electron从安装到启动再到打包全教程
electron确实好用,但安装是真的要耗费半条命。每次安装都会遇到各种问题,然后解决了之后。后面就不需要安装了,但有时候比如电脑重装了,获取安排其他人干活,也要给他们电脑安装这款工具,每次安装就是好几天时间,因为要找材料。官方的教程都只是不出问题的情况下进行而已,然后实际我们安装问题一大堆。直接的版本安装自己也写过教程,但他们会更新,会大修改。打包工具都换了,没办法又得重新研究,重新学习。这次直接记录整个流程,按步骤进行则避免各种问题。
2025-04-21 15:26:41
298
原创 puppeteer自动化测试,无头浏览器,自动点击页面内容返回结果,可测试网页。可做自动化。
这个pupperteer工具确实是太好用了,可以做网页的自动化测试。主要的功能是可以自动打开内部浏览器,也可以在后台打开。测试的时候建议前台打开。然后自动按你写的程序自动点击对应的按钮等。这个功能太强了,除了可以测试你的网页以外。配合AI你可以写一些自动化的脚本。比如我想查询一个月的订单,是不是要登录后台,然后登录,再点击某个模块,然后再查看。如果我把这些步骤全部用pupperteer自动去点击是不是可以省去很多的时间,直接返回结果,体验是不是会更好。
2025-04-11 13:59:27
86
原创 如何在根据名称或id找到json里的节点以及对应的所有的父节点?
就是一个json里有很多的list嵌套,这种常常用于处理树形结构的数据,比如菜单,再比如含有各种分类的商品,都是需要通过子节点反推到父节点。"name": "仓库物流模块","name": "采购拆单","name": "仓库物流模块","name": "采购模块","name": "分销模块","name": "媒介模块","name": "采购模块","name": "分销模块","name": "媒介模块","name": "数据看板","name": "审计模块","name": "媒介模块",
2025-03-28 17:26:18
990
原创 软著申请需要统计一个多少行代码,命令如下
以上代码统计当前文件夹里的vue多少行代码,其中包含所有子文件夹。还有一个命令如下:查询所有的文件占用了多少行。每个文件用了多少行。
2025-03-24 13:34:34
162
原创 基于nodejs的全自动化控制鼠标键盘的插件
在很早以前我就用c#写过全自动化控制鼠标与键盘的教程。有兴趣的同学可以看看。由于c#需要开发工具过于庞大,本人也只对node情有独钟。所以这节课我将教大家如何用node脚本来控制电脑的鼠标与键盘,做到全自动化。目前有了deepseek,也就相当于电脑有了自己的大脑,外加这节课的控制技术。我们完全可以做到将一台电脑当做一个人来帮你处理简单、重复、繁琐的事情。
2025-03-05 11:42:39
360
原创 Oracle VirtualBox 给已打开的虚拟机重新设置磁盘大小
找到virtualbox将对应的目录设置为环境变量。这样VBoxManage命令即可全部调用了。输入“计算机管理”->“磁盘清理” 然后将新开并为分配的空间重新分配即可。找到虚拟机的vdi文件,此文件存储着系统里所有的文件。
2025-02-20 14:50:23
239
原创 flutter运行报错Exception in thread “main“ javax.net.ssl.SSLHandshakeException: sun.security.validator.Va
C:\Users\用户名\.gradle\wrapper\dists\gradle-6.7-all\随机码。网上找了很多文章有配置maven的,有设置代理地址的。我这边找出来的问题是,gradle这块下载失败导致。这样启动的时候就不会再去下载这个gradle了。将下载好的gradle粘贴进来,注意不要解压。3.在当前目录下输入以下命令安装一下。自带浏览器下载太慢了。1.在以下目录找到这个配置文件。2.找到gradle的目录文件。然后用迅雷将其下载下来。下面教大家手动下载。
2025-02-14 17:23:26
260
原创 git不提交某文件夹,加了.gitignore配置也无效
比较坑的是git add 与 commit 都会将当前目录结构存储到本地缓存中了,每次提交也会读取缓存,然后将文件传上去了。所以这里还需要手动将缓存删除。之前的.gitignore里没有添加文件夹,代码提交上去了。后面再添加了文件夹,结果没有效果。还是一样的把数据传上去了。
2025-02-07 14:44:31
121
原创 服务器机房迁移,centos系统root无法登录,也无法联网等问题
服务器迁移之后问题太多了,就关了一次机而已。开机之后root也没法登录,网络也无法访问。这个问题我们整整修复了两天两夜。废话不多说了。过程就不记录了,直接写方法,以免下次再遇到此问题。
2025-01-19 16:24:25
3340
原创 记录node-sass无法安装的问题
1.node-sass与node的版本需要一一对应,以下是对照表。node版本该升级的升级,该降级的降级。node版本管理,可以尝试用nvm来进行版本切换,这里就不多介绍了。比如要下载Python,下载完之后又要下载vs,还要下载window-tools什么乱七八糟的一大堆。因为第一个是taobao镜像地址换了,第二个这个插件还需要去github下载,还有各种翻墙问题。2.除了配置淘宝镜像地址以外,还需要配置sass下载地址。这个相信用过旧项目的人做迁移都会遇到这种类似的问题。
2025-01-19 16:11:37
261
原创 bat自动化脚本,自动配置mongodb数据库密码,自动修改配置。
手动输入命名的话,输入mongo,然后会自动调用mongo.exe文件,进入到mongo里的命令。然后输入对应mongo命令,比如use admin,db.getUsers()等。但是手动输入命令过于繁琐,我们需要写一个bat脚本,双击即可自动执行。现在主要的问题是如何通过bat命令,输入mongo里的命令。
2024-12-30 14:34:31
200
原创 mongodb给不同的库设置不同的密码进行连接
默认的数据库安装之后是没有密码的,是可以直接访问的,但是如果端口不小心暴露出去了,就会存在很大的安全隐患。本节课教大家如何给mongodb设置账号密码进行访问。
2024-12-24 17:14:07
925
原创 laya游戏引擎中打包之后图片模糊
纹理类型中的默认类型都是精灵纹理,改为默认值即可。注意:要点击“应用”才可有效。精灵纹理类型会对图片进行渲染处理,而默认值 平面类型不会处理图片。如下图正常运行没问题,打包之后却模糊。
2024-12-19 14:17:45
458
原创 koajs+uniapp实现微信小程序自动登录
打开小程序自动获取微信id,并完成登录。用户首次登录自动完成注册。本章节会把整个前后端流程讲解清楚,由于流程过于复杂,步骤过于繁琐。所以还需要把整个流程与思路捋清楚,并且要做好笔记,因为时间长了很快就忘记了,而又重新再去研究那样会浪费更多的时间。所以后续再做小程序登录只需看看文档,复制代码即可。思路清晰,代码齐全才可省时省力。此文章可减去三天的研究时间。哪怕你不是用的node后端,你也能在此文章中找到思路与流程。
2024-12-03 18:47:58
154
原创 mongodb多表查询,五个表查询
需求是这样的,而数据是从mysql导入进来的,由于mysql不支持数组类型的数据,所以有很多关联表。药剂里找药物,需要药剂与药物的关联表,然后再找药物表。从药物表里再找药物与成分关联表,最后再找成分表。这里就涉及到了五张表的查询,之前的文章有讲解过多表查询这块。这次我们来实战一下。
2024-11-20 14:28:12
727
原创 利用nodejs后端传视频文件到服务器笔记
被一个文件上传给整嘛了,如果是web前端上传视频只需拼接表单格式即可实现上传。而作为node后端,通过后端在后台无感上传,这里需要涉及到的知识点就有些多了,上传方式也大不一样了。后端文件上传有个好处就是无需用户主动操作。
2024-11-12 14:20:37
292
原创 服务器开放了mongodb数据库的外网端口,但是用mongodbCompass还是无法连接。
数据库的配置文件中有个bingIp也就是绑定固定的ip才能访问数据库,默认是127.0.0.1也就是只能本地访问,所以无法连接。设置为0.0.0.0则表示所有地址都能访问。最后再确定一下防火墙的端口是否正常开放。
2024-11-06 14:47:03
577
原创 layaair做帧动画,等待一秒之后移动坐标,坐标位置明明相同,执行的时候却会抖动。
如下图:我将1秒后面的位置与0秒的坐标位置设置为一样,然后再第二秒的时候再设置位置移动。也就是想实现这个效果,小狗先停在这里一秒,然后再开始行走。现在的问题是停在这里依然抖动一下,也就是根本就停不住。还是会变向的运动起来。
2024-11-04 11:41:02
110
原创 在js中父组件获取子组件数据,但子组件的数据又是需要通过监听回调才能获取,如何等待回调结果返回才获取最新数据呢?
我这个问题我想大家都会经常遇到。父组件通过await stopGame的方式调用子组件的这个函数,但是这个result却需要等监听消息到了才有。
2024-10-31 15:46:14
190
原创 vue开发项目游戏端,时间长了会卡顿,记录优化内存泄漏问题。
前端的内存泄漏防不胜防。比如开了定时器没有关闭,开始某某异步没有销毁都会导致内存泄漏。排查内存泄漏的方法目前还是用的很笨的办法,排除法。虽然浏览器调试工具可以看内存,但好像只能录制很短一段时间的内存情况,很难看出内存问题。所以没有办法,只能不断排查不断测试。内存泄漏问题先用排除法找出问题,然后再用猜想法认为它存在哪些问题,并且还要想到第三方的插件是否也存在问题。最后再找AI给出解决方案即可。
2024-10-30 19:20:09
356
原创 layaair给图片精灵绘制形状并添加点击事件注意点击的区域不是方块
默认的图片添加进来都是方块,哪怕是圆形的图片,点击也是方块区域如下图,这个圆的上下左右方向角的位置都可点击。利用sprite的Graphics属性则可以编制线条,圆形等形状。但是点击的区域还是默认根据sprite的高宽来设定的。其实很简单只需设置Hit Area区域即可。如何设置点击的区域呢?
2024-10-28 16:46:41
294
原创 layaair获取组件里的脚本
获取脚本用getComponents方法,但是这个方法里的参数不是脚本的名称。如果你需要获取脚本,则类型为Laya.Script。我在官网找都没找到这个是这么用的。如下图:将物体拖入到button里的脚本参数img1中之后,就可以直接获取该物体脚本里的公共变量了。此方法就能获取到img1这个节点上绑定的脚本了,并且能直接调用脚本里的公共变量与函数。当然如果一个物体有多个脚本。getComponents即可获取多个脚本。返回的是个数组,需要自己循环过滤一下即可。也就是public创建的都可以直接调用。
2024-10-28 13:13:54
321
原创 iframe嵌套消息通信,你们的代码太坑了。
这个不知道是那个 卧龙 写的代码不知道要坑死多少人。第二个参数是消息发送到哪里去,这不废话吗?最近要做消息iframe消息嵌套,这个功能做了很多次了。在这里我直接找他们的代码,真把我给坑惨了。父页面发送子页面消息获取contentWindow然后再调用消息发送方法就可以了。这就是子页面发送父页面消息,带上了parent而已。其他发送消息函数与监听消息函数都是一样的。
2024-10-25 17:33:04
249
原创 前端导出json数据函数
数据导出我想也是大家常用的功能,excel文档的导出是需要指定的格式与插件。但直接导出json其实不需要任何插件即可导出。原理很简单,创建一个a标签,类型为下载类型,然后将dataUrl也就是数据拼接好。自动触发其中的点击事件即可。这是我从数据库里查到的数据,如果存在列表数据,就将其导出即可。
2024-10-15 09:55:27
442
原创 socket通信之断线重连功能
socket通信这次上篇讲到了心跳检测,要做好心跳检测。经过测试发现又有新的问题出现了,服务端虽然做了心跳检测,来检测你设备是否上线了,但是我们在启动设备的时候,有一种情况是设备上的服务启动好了,但网络还没启动好。这个时候设备会访问网络,结果网络还没启动好。就导致了服务端与设备的socket通信是断开的。所以我们还得写一个断线重连的方法。断线重连原理非常简单,无非是连接错误或连接失败的时候重连一下。但写起来真的是没那么简单启动会遇到很多很多的问题。
2024-10-14 15:43:47
460
原创 websocket心跳检测笔记
心跳检测其实原理也很简单,写一个定时器,比如没3秒向客户端发送消息,如果客户端回复消息了则说明设备在线中,如果没有回复消息则说明客户端下线了。判断设备是否在线少不了检测。
2024-10-10 13:29:39
655
原创 vue开发中变量第一次双向绑定无效,界面并没有变化,第二次则又好了。
这个问题出现的太频繁了,基本大部分用户都遇到这个情况。当我们打开弹框,并向文本框或组件里添加内容时,结果发现根本就无效,哪怕有时设置了$nextTick也无效。
2024-10-08 14:08:22
309
原创 web前端与koa框架node后端实现分片断点上传
其实也就是每次传50mb,如果网络突然断掉,则尝试十次上传,十次之后网络如何还是断的,则表示网络彻底断了,就不传了。这里的文件格式与文件名称也需要放到form表单里上传。如果只有file内容则文件信息都获取不到。后端要注意上传之后的文件名称不能随便修改了,上传是什么名字就叫什么名字。写入流文件的时候要注意,这里选用追加模式{ flags: 'a' }
2024-09-24 12:28:07
415
原创 koa框架之间的websocket通信
deviceController.js调用的时候,这里一定要注意,只要引用了这个js,里面的代码就会自动执行。这里已前端传递过来的mac地址作为唯一标识。后续自行改为用户的token等来作为用户唯一标识。调用接口的时候批量发送websocket消息。这里一定要注意有个端口与后端服务端有所不同。所以其他的文件就不要再重复引用了,
2024-09-19 15:42:44
496
原创 不用async与await将异步函数改为同步函数
最近做一个项目token校验,发现之前用的插件不能加密之后可以直接解密,一点都不安全。所以换了一个插件,但是遇到了另一个问题。原本的函数是同步函数,现在换了插件之后变为了异步函数。有很多的代码都调用了这个函数,总不能每个调用该函数的地方都加await或者then。调用的时候为sign('aaa')而此时代码变为如果这样的话,其他调用的地方就变为了这两种由于考虑到有很多地方都调用了这个函数,总不能所有文件都去修改吧!这个时候我们可以用deasync来做异步改同步操作。
2024-08-28 19:28:55
619
原创 用jose来解决jwt中的token可以解密的问题
用token做用户检验,好处不用说了吧!服务器几乎不需要存储用户的登录状态等信息。大幅度降低服务器内存的压力。访问接口我们只需将token进行解密即可。但目前的jwt是真心的不安全。我以为只有后端服务器可以解密,现在才发现随便一个工具都能解密。大家可以尝试用这个网站看看自己的token是否可以解密。JWT的token在线解码解密工具-开发者工具不得不说实在太坑了,那么多人都用的token,你却把安全不考虑进去,这和直接把用户信息暴露出来有啥区别?
2024-08-28 19:06:57
336
原创 记录一个困扰两天的bug,vue3代码用vite打包运行出错的问题
由于开发环境是正常的,生产环境是坏的,所以无法定位代码哪里错误,只能用排除法,不断修改,打包,修改,打包。后来才发现上面的案例中gameStatus的一个父组件与子组件的通信,我只要改了gameStatus就报错,什么$refs undfined特别的无语。只能换一个方式来处理,这种游戏状态组件里直接用局部变量,myStatus来做判断,然后父组件直接修改子组件的myStatus。这种形式的写法就可以直接获取组件了。首先的第一个问题是proxy.$refs.组件名称,这种写法突然不支持了,其他页面支持。
2024-08-13 16:33:43
765
原创 h5中web端调用自带摄像头并且录屏上传保存视频
录屏结束回调将chunks中的视频上传到服务器formData.append('video', recordedBlob, 'recordedVideo.webm');navigator.mediaDevices.getUserMedia 此函数调用摄像头获取视频流。mediaRecorder 录制视频的函数。其实也就是一个普通表单格式的视频上传接口。摄像头数据存储到chunks中。
2024-08-04 18:05:17
732
原创 Babylon.js 添加背景面板,让其铺满整个屏幕,平行相机与平行光线
搭建好了场景并封装为组件,但是用的的时候canves的尺寸是变化的,然后背景以及对应所看的界面却不好跟着变化。导致背景不好调整。
2024-08-04 15:29:53
284
原创 用Babylon.js 滑动屏幕画图形,签字等
在上篇文章中我们已经了解到了该游戏引擎的基本搭建过程。比如灯光,摄像头,场景、事件监听等。这里我就不做多介绍。运用以上知识点。我们此时做一个小游戏画图。
2024-08-02 16:22:08
313
原创 babylonjs游戏3d引擎笔记
在之前用unity研发过不少游戏,但是都是基于pc或安卓等。而h5这块发现不太好嵌入。最主要是体积太大,加载太慢。所以这次找了一个类似unity的适合web前端开发的游戏插件。为什么选择此插件,不选择three.js呢?因为做过3d游戏的都应该知道,游戏它不仅仅是渲染3d模型,它还需要内置很多交互功能以及模拟的物理功能,如碰撞,射线点击,精灵等。这样才能更好的制作出可交互的游戏出来。
2024-08-02 15:42:42
376
element-plus-vite-starter-master.zip
2021-04-09
中文转换为拼音插件,插件封装好直接调用即可,提供了源码用户也可修改插件
2018-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人