- 博客(130)
- 资源 (4)
- 收藏
- 关注
原创 解决mysql用localhost可以连接,换成ip地址就不能连接了。
MySQL远程连接配置指南 本文详细介绍了解决MySQL远程连接问题的完整方案: 端口配置:使用管理员权限开放3306端口 配置文件修改:在my.ini中添加bind-address=0.0.0.0允许所有IP连接 账号权限设置: 检查现有账号权限SELECT user,host FROM mysql.user 创建新远程账号CREATE USER '用户名'@'%' IDENTIFIED BY '密码' 授予权限GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' 防火墙检查:
2025-08-07 11:27:11
384
原创 异步函数被调用多次,多次处理同一个文件导致占用,如何让异步函数按顺序执行?
文章摘要:针对事件监听多次触发文件写入导致并发冲突的问题,作者提出使用任务队列来顺序执行异步操作。通过创建一个SimpleQueue类,利用Promise链式调用的特性,将每次写入任务添加到队列中,确保前一个任务完成后才执行下一个。具体实现是将wirteInterface函数封装为队列任务,通过add方法依次执行文件写入操作,从而避免文件占用冲突。这种方法有效解决了异步操作并发执行的问题,保证了文件写入的顺序性。
2025-08-01 18:08:56
30
原创 如何用js自动触发deepseek输入并发送,不调用api的情况
有了deepseek这个免费的AI确实是特别好用,也不需要科学上网。但是如果我想在自己项目去使用deepseek,这里就涉及到相关的api调用。去腾讯看了一下最便宜的都需要800一年。我们何不直接用免费的呢?我们只需准备一台电脑,然后用脚本写一个服务,调用服务的时候,我就自动打开deepseek然后自动输入内容,然后再将结果发送出去不就可以了吗?
2025-07-25 16:28:53
43
原创 竞速机制:Promise.race() 多个异步一起指向,谁跑的快就用谁
注意:数组里的异步函数可能指向一半就被中断了,比如监听了加载,但迟迟没有数据返回。那么这边就不会进入到onSucces或onFail函数,导致内存泄漏。race里有多个数组,数组的内容都是异步函数,而这个race会监听数组里的异步函数,那个resolve或reject先返回,则用那个异步。以上代码是监听页面加载与超时,如果超时先指向,则返回超时的异步。所以要及时清理缓存。
2025-07-24 10:46:17
116
原创 electron自动化,webview中通过a标签跳过弹框自动下载文件
该代码实现了一个基于Electron的WebView下载拦截功能。通过在WebView中监听will-navigate事件,当检测到下载状态时,阻止默认下载行为并调用Electron的下载API。具体流程:1) preload.js暴露downloadFile方法到主窗口;2) renderer.js监听导航事件,调用下载方法后阻止默认行为;3) index.js主进程接收下载请求并通过webContents.downloadURL触发下载。该方案有效拦截了WebView默认下载弹窗,实现了使用Electr
2025-07-23 13:21:12
194
原创 最新版的electron通信规则
本文介绍了新版Electron的进程间通信机制。由于安全考虑,新版Electron限制非主进程直接调用Node API。文章首先分析了项目结构:主进程(index.js)可调用所有API,预加载脚本(preload.js)可调用Electron API,而渲染进程(renderer.js)只能处理页面交互。通过IPC(进程间通信)实现功能调用:主进程监听事件,预加载脚本通过contextBridge暴露API给渲染进程,渲染进程通过window.electronAPI调用功能。最后以设置窗口标题为例,演示了
2025-07-22 10:22:36
166
原创 指定阿里镜像原理
该摘要介绍了如何通过npm安装@nut-tree/template-matcher插件,并指定了国内镜像源registry.npmmirror.com。文中提到可以直接在阿里镜像站搜索该插件查看可用版本,并解释了registry地址的构成原理:由registry地址拼接插件名称形成下载链接。最后指出若遇到库下载问题,可自行搭建服务器上传库并配置对应registry地址。
2025-07-18 16:57:25
252
原创 webpack将组件vue进行编译混淆,并能正常使用编译之后的文件
本文介绍了如何通过Webpack对Vue组件进行编译混淆,以保护开发者的代码权益。文章首先说明了组件复用和代码保护的重要性,特别是当项目未结款时。通过对比源码和编译后的代码(如my-component.min.js),展示了混淆后的代码难以维护但功能不变的特点。详细讲解了Webpack配置步骤,包括创建webpack.mycomponent.config.js文件、设置入口和输出参数、添加必要的loader和插件等。还介绍了兼容静态HTML的方法和打包命令。最终编译后的组件仍可通过import方式正常使用,
2025-07-16 16:30:06
102
原创 同步代码如何改为socket通信获取数据的代码
针对代码需求频繁变更的挑战,本文探讨了两种将同步数据获取改为异步Socket获取的方案。第一种方案采用Promise封装Socket监听,获取数据后销毁监听,但存在频繁创建销毁和内存泄漏风险。第二种方案利用公共变量存储数据,通过定时延迟返回结果,适用于WebView、iframe等确定性场景,但对网络请求等不确定时长任务不适用。文章比较了两种方案的优缺点,指出第二种方案在特定场景下具有更小的改动成本和更高的可靠性。
2025-06-23 16:46:13
32
原创 父栏目与子栏目分类表格查询方案
本文介绍了处理父子节点数据分页查询的优化方案。当父元素与子元素存在ID关联时,直接分页会导致数据混乱。通过修改接口逻辑:未传category参数时查询根节点,传入多个根节点ID时查询对应子节点。前端实现递归查询函数getChildrenList,通过不断查询子节点并合并结果,最终将完整数据转换为树形结构。该方法避免了配置多个接口,通过单一接口和递归调用实现了分层数据的完整获取和正确分页展示。
2025-06-23 14:22:13
268
原创 electron-builder 打包安装与启动手动安装,最终解决方案,之前的文章与其他的人都不用看了。
最近官网出了个electron-forge,但打包之后的软件包有问题会有个多余的遮罩物挡在软件的最前面,太恶心了。研究了很久硬是没法去掉。没办法只能重温electron-builder工具来进行打包。之前用过这个安装过一次,也是耗费了好几天。而且也做好了笔记,有资料的情况下,我万万没想到我又用了两天时间才把这个打包工具安装好。我是真的无语了。尝试了很多种办法,大家也别尝试了,还是乖乖的手动安装吧!不过我想到的办法是真的多,大家有兴趣的可以尝试,遇到类似问题也可以套用这几个方法。
2025-04-25 16:03:02
467
原创 electron从安装到启动再到打包全教程
electron确实好用,但安装是真的要耗费半条命。每次安装都会遇到各种问题,然后解决了之后。后面就不需要安装了,但有时候比如电脑重装了,获取安排其他人干活,也要给他们电脑安装这款工具,每次安装就是好几天时间,因为要找材料。官方的教程都只是不出问题的情况下进行而已,然后实际我们安装问题一大堆。直接的版本安装自己也写过教程,但他们会更新,会大修改。打包工具都换了,没办法又得重新研究,重新学习。这次直接记录整个流程,按步骤进行则避免各种问题。
2025-04-21 15:26:41
430
原创 puppeteer自动化测试,无头浏览器,自动点击页面内容返回结果,可测试网页。可做自动化。
这个pupperteer工具确实是太好用了,可以做网页的自动化测试。主要的功能是可以自动打开内部浏览器,也可以在后台打开。测试的时候建议前台打开。然后自动按你写的程序自动点击对应的按钮等。这个功能太强了,除了可以测试你的网页以外。配合AI你可以写一些自动化的脚本。比如我想查询一个月的订单,是不是要登录后台,然后登录,再点击某个模块,然后再查看。如果我把这些步骤全部用pupperteer自动去点击是不是可以省去很多的时间,直接返回结果,体验是不是会更好。
2025-04-11 13:59:27
129
原创 如何在根据名称或id找到json里的节点以及对应的所有的父节点?
就是一个json里有很多的list嵌套,这种常常用于处理树形结构的数据,比如菜单,再比如含有各种分类的商品,都是需要通过子节点反推到父节点。"name": "仓库物流模块","name": "采购拆单","name": "仓库物流模块","name": "采购模块","name": "分销模块","name": "媒介模块","name": "采购模块","name": "分销模块","name": "媒介模块","name": "数据看板","name": "审计模块","name": "媒介模块",
2025-03-28 17:26:18
1020
原创 软著申请需要统计一个多少行代码,命令如下
以上代码统计当前文件夹里的vue多少行代码,其中包含所有子文件夹。还有一个命令如下:查询所有的文件占用了多少行。每个文件用了多少行。
2025-03-24 13:34:34
212
原创 基于nodejs的全自动化控制鼠标键盘的插件
在很早以前我就用c#写过全自动化控制鼠标与键盘的教程。有兴趣的同学可以看看。由于c#需要开发工具过于庞大,本人也只对node情有独钟。所以这节课我将教大家如何用node脚本来控制电脑的鼠标与键盘,做到全自动化。目前有了deepseek,也就相当于电脑有了自己的大脑,外加这节课的控制技术。我们完全可以做到将一台电脑当做一个人来帮你处理简单、重复、繁琐的事情。
2025-03-05 11:42:39
408
原创 Oracle VirtualBox 给已打开的虚拟机重新设置磁盘大小
找到virtualbox将对应的目录设置为环境变量。这样VBoxManage命令即可全部调用了。输入“计算机管理”->“磁盘清理” 然后将新开并为分配的空间重新分配即可。找到虚拟机的vdi文件,此文件存储着系统里所有的文件。
2025-02-20 14:50:23
323
原创 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
401
原创 git不提交某文件夹,加了.gitignore配置也无效
比较坑的是git add 与 commit 都会将当前目录结构存储到本地缓存中了,每次提交也会读取缓存,然后将文件传上去了。所以这里还需要手动将缓存删除。之前的.gitignore里没有添加文件夹,代码提交上去了。后面再添加了文件夹,结果没有效果。还是一样的把数据传上去了。
2025-02-07 14:44:31
128
原创 服务器机房迁移,centos系统root无法登录,也无法联网等问题
服务器迁移之后问题太多了,就关了一次机而已。开机之后root也没法登录,网络也无法访问。这个问题我们整整修复了两天两夜。废话不多说了。过程就不记录了,直接写方法,以免下次再遇到此问题。
2025-01-19 16:24:25
3377
原创 记录node-sass无法安装的问题
1.node-sass与node的版本需要一一对应,以下是对照表。node版本该升级的升级,该降级的降级。node版本管理,可以尝试用nvm来进行版本切换,这里就不多介绍了。比如要下载Python,下载完之后又要下载vs,还要下载window-tools什么乱七八糟的一大堆。因为第一个是taobao镜像地址换了,第二个这个插件还需要去github下载,还有各种翻墙问题。2.除了配置淘宝镜像地址以外,还需要配置sass下载地址。这个相信用过旧项目的人做迁移都会遇到这种类似的问题。
2025-01-19 16:11:37
268
原创 bat自动化脚本,自动配置mongodb数据库密码,自动修改配置。
手动输入命名的话,输入mongo,然后会自动调用mongo.exe文件,进入到mongo里的命令。然后输入对应mongo命令,比如use admin,db.getUsers()等。但是手动输入命令过于繁琐,我们需要写一个bat脚本,双击即可自动执行。现在主要的问题是如何通过bat命令,输入mongo里的命令。
2024-12-30 14:34:31
213
原创 mongodb给不同的库设置不同的密码进行连接
默认的数据库安装之后是没有密码的,是可以直接访问的,但是如果端口不小心暴露出去了,就会存在很大的安全隐患。本节课教大家如何给mongodb设置账号密码进行访问。
2024-12-24 17:14:07
964
原创 laya游戏引擎中打包之后图片模糊
纹理类型中的默认类型都是精灵纹理,改为默认值即可。注意:要点击“应用”才可有效。精灵纹理类型会对图片进行渲染处理,而默认值 平面类型不会处理图片。如下图正常运行没问题,打包之后却模糊。
2024-12-19 14:17:45
471
原创 koajs+uniapp实现微信小程序自动登录
打开小程序自动获取微信id,并完成登录。用户首次登录自动完成注册。本章节会把整个前后端流程讲解清楚,由于流程过于复杂,步骤过于繁琐。所以还需要把整个流程与思路捋清楚,并且要做好笔记,因为时间长了很快就忘记了,而又重新再去研究那样会浪费更多的时间。所以后续再做小程序登录只需看看文档,复制代码即可。思路清晰,代码齐全才可省时省力。此文章可减去三天的研究时间。哪怕你不是用的node后端,你也能在此文章中找到思路与流程。
2024-12-03 18:47:58
184
原创 mongodb多表查询,五个表查询
需求是这样的,而数据是从mysql导入进来的,由于mysql不支持数组类型的数据,所以有很多关联表。药剂里找药物,需要药剂与药物的关联表,然后再找药物表。从药物表里再找药物与成分关联表,最后再找成分表。这里就涉及到了五张表的查询,之前的文章有讲解过多表查询这块。这次我们来实战一下。
2024-11-20 14:28:12
752
原创 利用nodejs后端传视频文件到服务器笔记
被一个文件上传给整嘛了,如果是web前端上传视频只需拼接表单格式即可实现上传。而作为node后端,通过后端在后台无感上传,这里需要涉及到的知识点就有些多了,上传方式也大不一样了。后端文件上传有个好处就是无需用户主动操作。
2024-11-12 14:20:37
316
原创 服务器开放了mongodb数据库的外网端口,但是用mongodbCompass还是无法连接。
数据库的配置文件中有个bingIp也就是绑定固定的ip才能访问数据库,默认是127.0.0.1也就是只能本地访问,所以无法连接。设置为0.0.0.0则表示所有地址都能访问。最后再确定一下防火墙的端口是否正常开放。
2024-11-06 14:47:03
607
原创 layaair做帧动画,等待一秒之后移动坐标,坐标位置明明相同,执行的时候却会抖动。
如下图:我将1秒后面的位置与0秒的坐标位置设置为一样,然后再第二秒的时候再设置位置移动。也就是想实现这个效果,小狗先停在这里一秒,然后再开始行走。现在的问题是停在这里依然抖动一下,也就是根本就停不住。还是会变向的运动起来。
2024-11-04 11:41:02
125
原创 在js中父组件获取子组件数据,但子组件的数据又是需要通过监听回调才能获取,如何等待回调结果返回才获取最新数据呢?
我这个问题我想大家都会经常遇到。父组件通过await stopGame的方式调用子组件的这个函数,但是这个result却需要等监听消息到了才有。
2024-10-31 15:46:14
201
原创 vue开发项目游戏端,时间长了会卡顿,记录优化内存泄漏问题。
前端的内存泄漏防不胜防。比如开了定时器没有关闭,开始某某异步没有销毁都会导致内存泄漏。排查内存泄漏的方法目前还是用的很笨的办法,排除法。虽然浏览器调试工具可以看内存,但好像只能录制很短一段时间的内存情况,很难看出内存问题。所以没有办法,只能不断排查不断测试。内存泄漏问题先用排除法找出问题,然后再用猜想法认为它存在哪些问题,并且还要想到第三方的插件是否也存在问题。最后再找AI给出解决方案即可。
2024-10-30 19:20:09
374
原创 layaair给图片精灵绘制形状并添加点击事件注意点击的区域不是方块
默认的图片添加进来都是方块,哪怕是圆形的图片,点击也是方块区域如下图,这个圆的上下左右方向角的位置都可点击。利用sprite的Graphics属性则可以编制线条,圆形等形状。但是点击的区域还是默认根据sprite的高宽来设定的。其实很简单只需设置Hit Area区域即可。如何设置点击的区域呢?
2024-10-28 16:46:41
307
原创 layaair获取组件里的脚本
获取脚本用getComponents方法,但是这个方法里的参数不是脚本的名称。如果你需要获取脚本,则类型为Laya.Script。我在官网找都没找到这个是这么用的。如下图:将物体拖入到button里的脚本参数img1中之后,就可以直接获取该物体脚本里的公共变量了。此方法就能获取到img1这个节点上绑定的脚本了,并且能直接调用脚本里的公共变量与函数。当然如果一个物体有多个脚本。getComponents即可获取多个脚本。返回的是个数组,需要自己循环过滤一下即可。也就是public创建的都可以直接调用。
2024-10-28 13:13:54
350
原创 iframe嵌套消息通信,你们的代码太坑了。
这个不知道是那个 卧龙 写的代码不知道要坑死多少人。第二个参数是消息发送到哪里去,这不废话吗?最近要做消息iframe消息嵌套,这个功能做了很多次了。在这里我直接找他们的代码,真把我给坑惨了。父页面发送子页面消息获取contentWindow然后再调用消息发送方法就可以了。这就是子页面发送父页面消息,带上了parent而已。其他发送消息函数与监听消息函数都是一样的。
2024-10-25 17:33:04
256
原创 前端导出json数据函数
数据导出我想也是大家常用的功能,excel文档的导出是需要指定的格式与插件。但直接导出json其实不需要任何插件即可导出。原理很简单,创建一个a标签,类型为下载类型,然后将dataUrl也就是数据拼接好。自动触发其中的点击事件即可。这是我从数据库里查到的数据,如果存在列表数据,就将其导出即可。
2024-10-15 09:55:27
460
原创 socket通信之断线重连功能
socket通信这次上篇讲到了心跳检测,要做好心跳检测。经过测试发现又有新的问题出现了,服务端虽然做了心跳检测,来检测你设备是否上线了,但是我们在启动设备的时候,有一种情况是设备上的服务启动好了,但网络还没启动好。这个时候设备会访问网络,结果网络还没启动好。就导致了服务端与设备的socket通信是断开的。所以我们还得写一个断线重连的方法。断线重连原理非常简单,无非是连接错误或连接失败的时候重连一下。但写起来真的是没那么简单启动会遇到很多很多的问题。
2024-10-14 15:43:47
522
原创 websocket心跳检测笔记
心跳检测其实原理也很简单,写一个定时器,比如没3秒向客户端发送消息,如果客户端回复消息了则说明设备在线中,如果没有回复消息则说明客户端下线了。判断设备是否在线少不了检测。
2024-10-10 13:29:39
693
element-plus-vite-starter-master.zip
2021-04-09
中文转换为拼音插件,插件封装好直接调用即可,提供了源码用户也可修改插件
2018-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人