自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 资源 (4)
  • 收藏
  • 关注

原创 electron做无感更新,版本无感升级

软件升级是最普通最常见的功能,传统的升级方式是需要去下载、然后再安装、还要卸载之前的软件。一套下来繁琐就算了,并且还不好把控你的软件。万一你的软件有一个很严重的漏洞,用户就是借助你漏洞钻控制你也将无可奈何。所以我们这节课教大家如何做无感更新,也就是用户不知道的情况下,软件就自动完成了更新升级。而不需要用户同意、也不需要繁琐的去安装下载等。有了这篇文章,最少能省去你两天时间去研究,必定我十多年的开发经验了也耗费了大半天才搞出来。

2026-01-07 17:57:29 102

原创 vue、uniapp项目循环中能显示每个列表的内容,但是点击的时候传递的参数却不正确

这个问题找了几个小时,赶紧记录一下,以免下次又遇到这个问题了。这件事告诉我们,我们的知识积累是真的很重要,不要太依赖AI,我让AI给我找了半个多小时都没找到问题,推荐的都是一些乱七八糟的方法。

2025-12-30 14:16:24 211

原创 electron-builder无法打包node_module内容的问题,以及打包各种路径报错问题

本文记录了一个因路径引用和node版本问题导致的Electron打包错误。开发环境运行正常,但打包后出现找不到模块的错误,原因是服务器文件未被打包进asar文件。同时由于node版本过低(16.x),与Electron最新版要求的18/20版本不兼容,导致node_modules依赖问题。解决方案包括:1.调整文件路径确保打包包含所有依赖;2.升级node版本至20.x并重新安装依赖。该问题耗时5小时排查,提醒开发者不仅要记录问题,更要理解打包流程原理以便快速定位类似问题。

2025-12-23 18:04:17 77

原创 electron通信搞蒙一下午,主线程->index.html->webview通信交互

本文探讨了Electron项目中多层页面间的通信问题。项目采用main.js→index.html→webview内嵌页面的结构,发现常规script调用的JS无法使用Electron功能,必须通过preload脚本注册变量。文章详细介绍了如何通过contextBridge.exposeInMainWorld暴露Electron API,实现子页面向主线程发送消息(ipcRenderer.send)以及主线程向webview发送消息(需经index.html中转)。重点指出webview元素必须在DOM加载

2025-12-10 15:05:20 158

原创 记录一下el-table中的子元素不渲染的问题

然后发现懒加载没法动态刷新列表,最后改为直接加载全部。排查组件,排查参数配置都没找到问题。最后排查数据,发现我这边能显示与不能显示的数据唯一的区别是多了hasChildren。我把所有的hasChildren删除之后就好了。真心的是无语了,还存在这个bug。这个hasChildren我没用懒加载就不用这个字段不就行了吗?谁能排查到这里,耽误了我整整一上午的时间。props参数里加了hasChildren。数据处理也加了这个hasChildren。耗费了我一上午的时间,真心是无语了。

2025-12-05 11:16:16 199

原创 服务器缓存的清理笔记,特别是nginx

特别的无语真的,搞了我两天。服务器把静态文件都删除干净了,服务都停止了,但页面还是能访问。如下图:我是从未如此无语过。浏览器也清除了缓存很多次了。服务器statics目录也删除了,后端服务也关了,但还是无法清除。.这是我这边的koa后端框架设置的缓存为1年0 : 365 * 24 * 60 * 60 * 1000, // 开发环境禁用缓存,生产环境缓存一年immutable:!

2025-11-27 17:56:33 66

原创 web前端开work子线程性能优化方案并且支持vite打包

本文介绍了利用Web Worker解决浏览器单线程导致的性能问题。通过Vite工具创建内联子线程(?worker&inline),实现主线程与子线程通信。主线程通过postMessage发送任务,子线程处理图像抠图和相似度计算等耗时操作后返回结果。该方法避免了传统Worker的文件分离问题,支持直接使用node_modules模块,并通过消息ID确保多任务处理的准确性,有效提升了页面响应速度。

2025-11-05 12:13:27 75

原创 web端实现给摄像头标记人物框,跟随人物进行检测。记录检测框标记的位置不正确的问题。

纯前端实现视频人物的实时检测,对你没听错,纯前端就可以实现。

2025-11-02 12:53:22 174

原创 用web端实现抠图,以及大模型本地化部署遇到坑

用web端实现抠图,以及大模型本地化部署遇到坑

2025-11-01 22:36:59 307

原创 puppeteer函数笔记,设置token跳过登录、自动选择图片上传等

本文介绍了使用Puppeteer进行自动化测试的方法,重点演示了表单输入和图片上传的自动化处理。通过设置Cookie跳过登录验证,配置浏览器初始化参数,并详细说明了页面导航、元素定位、表单填充等操作步骤。文章还提供了图片上传的实现代码,只需定位上传元素并调用uploadFile函数即可。作者指出,对于复杂业务场景(如多表单录入、权限测试)适合编写自动化脚本,而简单操作(如删除测试)则建议手动操作更高效。文中示例代码可直接用于测试环境,完整展示了从准备到执行的测试流程。

2025-10-31 16:26:32 72

原创 puppeteer配置登录页面自动化测试

摘要:该Puppeteer测试脚本用于自动化测试登录页面功能,主要包含以下步骤:1)启动Chrome浏览器并访问本地登录页面;2)验证页面标题和关键元素(账号/密码输入框、验证码、登录按钮等);3)尝试自动填充账号密码并登录;4)检查登录后跳转是否符合预期。脚本采用非无头模式运行,包含错误处理和页面截图功能,但无法自动识别验证码,需人工干预或结合图像识别技术才能完成完整测试流程。

2025-10-31 14:29:12 95

原创 vitest单元测试笔记

之前的文章已经做好了安装,然后我们需要配置测试模块。这里就涉及到如何取写配置。如何测试。比如页面是否正常渲染,是否含有对应的模块。按钮点击之后页面的变化,输入文本框内容的变化等等。经过测试发现复杂一点的页面完全不能测,写测试案例的成本比写代码的成本还高,哪怕是智能体帮你写。建议用puppeteer来测,也就是无头浏览器。

2025-10-31 14:07:52 1187

原创 vitest单元测试测试vue中了element项目安装与运行笔记

摘要: 本文介绍了AI辅助单元测试的优势及Vue项目的单元测试配置方法。作者从传统单元测试成本高的痛点出发,提出利用AI自动生成和运行测试的新方案。详细说明了在Vite+Vue项目中配置Vitest测试框架的步骤,包括安装指定版本的vitest、@vue/test-utils和jsdom,创建vitest.config.js配置文件,以及编写setup.js初始化文件。最后展示了如何编写测试用例并运行测试,提供全局测试和单文件测试两种执行方式。通过这套方案,开发者可以大幅降低单元测试的编写成本,提高开发效率

2025-10-31 12:11:58 491

原创 智能体AI写代码笔记

AI智能体高效生成全栈代码,包括Vue页面、数据库配置、后端接口等,并能按需调整UI设计,大幅提升开发效率。但需掌握专业知识和精准提问技巧才能充分发挥其潜力。

2025-10-27 10:59:46 432

原创 域名绑定了ip地址,也安装了宝塔但还是无法访问

摘要:排查网络通信问题需遵循系统流程:1)检查域名解析是否正确;2)确认云服务器安全组配置(80/443端口开放);3)验证Nginx服务状态及配置;4)检查网站服务是否启动。重点强调必须按顺序排查,每个环节都相当于"景区"的不同关卡(域名解析=地址定位、安全组=景区大门、Nginx=检票员、网站服务=具体展馆)。特殊情况下需注意非标准端口配置和端口冲突问题。该流程形象化地通过"小朋友游景区"的比喻,清晰说明了网络请求各环节的对应关系。

2025-10-17 16:07:15 152

原创 webpack,vite,node等启动服务时运行一段时间命令窗口就卡住

摘要:服务运行卡顿问题可通过禁用快速编辑模式解决。操作步骤:打开命令窗口,右键点击属性,取消勾选"快速编辑模式"选项。该方法能避免服务无响应,无需反复按Enter键唤醒。

2025-10-10 18:10:29 223

原创 vite与axios如何配置多个接口域名支持跨域,若依配置为例

如何在Vite项目中配置多接口域名?本文以若依配置为例,通过.env文件分别设置开发和生产环境的API地址(如VITE_HOST_BAIDU_URL和VITE_HOST_QQ_URL)。关键是在vite.config.js中配置proxy代理,将本地请求(如/baidu-api/getmydata)转发到目标域名(如https://www.baidu.com/api/getmydata),通过rewrite规则去除代理标记解决路径问题。在axios请求时,通过baseURL参数动态选择不同接口域名,从而解决

2025-09-23 17:05:36 140

原创 记录一下node后端写下载https的文件报错,而浏览器却可以下载。

Node.js下载报错"unable to verify the first certificate"是由于证书不完整导致,浏览器能自动补全证书但Node.js不行。可通过SSLServerTest检测证书完整性,发现问题后建议删除原证书重新申请新证书解决。该问题表现为浏览器可用但Node环境不可用的特殊状态。

2025-09-03 15:01:48 254

原创 记录一下,宝塔https证书启动了但是还是访问不安全的问题。

本文记录了排查HTTPS证书问题的过程,主要包括四个步骤:检查证书配置是否正确,确认443端口是否开放,手动重启nginx服务(而非宝塔面板),以及解决端口占用问题。重点强调了自动重启nginx可能失败的问题,建议通过命令或可视化界面手动重启,并提供了查看和杀死占用端口的命令。最终通过杀死占用端口的进程并重启nginx,成功解决了HTTPS证书失效的问题。整个排查过程耗时5小时,作者建议做好记录以便日后参考。

2025-09-01 10:43:36 215

原创 修改双向绑定默认值之后多选下拉框无法选择了

原理也很简单,catherList之前存储的位置发生的变化,导致无法监听到了。具体可以看内存存储相关视频。使用如下方法,则可在原存储的位置更新数据。下拉框就无法选择了,我是真的无语了。存储发生了变化,也就失去了响应式。

2025-08-19 14:36:29 249

原创 解决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 645

原创 异步函数被调用多次,多次处理同一个文件导致占用,如何让异步函数按顺序执行?

文章摘要:针对事件监听多次触发文件写入导致并发冲突的问题,作者提出使用任务队列来顺序执行异步操作。通过创建一个SimpleQueue类,利用Promise链式调用的特性,将每次写入任务添加到队列中,确保前一个任务完成后才执行下一个。具体实现是将wirteInterface函数封装为队列任务,通过add方法依次执行文件写入操作,从而避免文件占用冲突。这种方法有效解决了异步操作并发执行的问题,保证了文件写入的顺序性。

2025-08-01 18:08:56 64

原创 如何用js自动触发deepseek输入并发送,不调用api的情况

有了deepseek这个免费的AI确实是特别好用,也不需要科学上网。但是如果我想在自己项目去使用deepseek,这里就涉及到相关的api调用。去腾讯看了一下最便宜的都需要800一年。我们何不直接用免费的呢?我们只需准备一台电脑,然后用脚本写一个服务,调用服务的时候,我就自动打开deepseek然后自动输入内容,然后再将结果发送出去不就可以了吗?

2025-07-25 16:28:53 111

原创 竞速机制:Promise.race() 多个异步一起指向,谁跑的快就用谁

注意:数组里的异步函数可能指向一半就被中断了,比如监听了加载,但迟迟没有数据返回。那么这边就不会进入到onSucces或onFail函数,导致内存泄漏。race里有多个数组,数组的内容都是异步函数,而这个race会监听数组里的异步函数,那个resolve或reject先返回,则用那个异步。以上代码是监听页面加载与超时,如果超时先指向,则返回超时的异步。所以要及时清理缓存。

2025-07-24 10:46:17 154

原创 用AbortController移出监听防止内存泄漏

当然取消异步请求也可以用到此方法。

2025-07-24 10:38:46 136

原创 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 261

原创 最新版的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 218

原创 指定阿里镜像原理

该摘要介绍了如何通过npm安装@nut-tree/template-matcher插件,并指定了国内镜像源registry.npmmirror.com。文中提到可以直接在阿里镜像站搜索该插件查看可用版本,并解释了registry地址的构成原理:由registry地址拼接插件名称形成下载链接。最后指出若遇到库下载问题,可自行搭建服务器上传库并配置对应registry地址。

2025-07-18 16:57:25 305

原创 webpack将组件vue进行编译混淆,并能正常使用编译之后的文件

本文介绍了如何通过Webpack对Vue组件进行编译混淆,以保护开发者的代码权益。文章首先说明了组件复用和代码保护的重要性,特别是当项目未结款时。通过对比源码和编译后的代码(如my-component.min.js),展示了混淆后的代码难以维护但功能不变的特点。详细讲解了Webpack配置步骤,包括创建webpack.mycomponent.config.js文件、设置入口和输出参数、添加必要的loader和插件等。还介绍了兼容静态HTML的方法和打包命令。最终编译后的组件仍可通过import方式正常使用,

2025-07-16 16:30:06 196

原创 同步代码如何改为socket通信获取数据的代码

针对代码需求频繁变更的挑战,本文探讨了两种将同步数据获取改为异步Socket获取的方案。第一种方案采用Promise封装Socket监听,获取数据后销毁监听,但存在频繁创建销毁和内存泄漏风险。第二种方案利用公共变量存储数据,通过定时延迟返回结果,适用于WebView、iframe等确定性场景,但对网络请求等不确定时长任务不适用。文章比较了两种方案的优缺点,指出第二种方案在特定场景下具有更小的改动成本和更高的可靠性。

2025-06-23 16:46:13 61

原创 父栏目与子栏目分类表格查询方案

本文介绍了处理父子节点数据分页查询的优化方案。当父元素与子元素存在ID关联时,直接分页会导致数据混乱。通过修改接口逻辑:未传category参数时查询根节点,传入多个根节点ID时查询对应子节点。前端实现递归查询函数getChildrenList,通过不断查询子节点并合并结果,最终将完整数据转换为树形结构。该方法避免了配置多个接口,通过单一接口和递归调用实现了分层数据的完整获取和正确分页展示。

2025-06-23 14:22:13 303

原创 electron-builder 打包安装与启动手动安装,最终解决方案,之前的文章与其他的人都不用看了。

最近官网出了个electron-forge,但打包之后的软件包有问题会有个多余的遮罩物挡在软件的最前面,太恶心了。研究了很久硬是没法去掉。没办法只能重温electron-builder工具来进行打包。之前用过这个安装过一次,也是耗费了好几天。而且也做好了笔记,有资料的情况下,我万万没想到我又用了两天时间才把这个打包工具安装好。我是真的无语了。尝试了很多种办法,大家也别尝试了,还是乖乖的手动安装吧!不过我想到的办法是真的多,大家有兴趣的可以尝试,遇到类似问题也可以套用这几个方法。

2025-04-25 16:03:02 560

原创 electron从安装到启动再到打包全教程

electron确实好用,但安装是真的要耗费半条命。每次安装都会遇到各种问题,然后解决了之后。后面就不需要安装了,但有时候比如电脑重装了,获取安排其他人干活,也要给他们电脑安装这款工具,每次安装就是好几天时间,因为要找材料。官方的教程都只是不出问题的情况下进行而已,然后实际我们安装问题一大堆。直接的版本安装自己也写过教程,但他们会更新,会大修改。打包工具都换了,没办法又得重新研究,重新学习。这次直接记录整个流程,按步骤进行则避免各种问题。

2025-04-21 15:26:41 508

原创 puppeteer自动化测试,无头浏览器,自动点击页面内容返回结果,可测试网页。可做自动化。

这个pupperteer工具确实是太好用了,可以做网页的自动化测试。主要的功能是可以自动打开内部浏览器,也可以在后台打开。测试的时候建议前台打开。然后自动按你写的程序自动点击对应的按钮等。这个功能太强了,除了可以测试你的网页以外。配合AI你可以写一些自动化的脚本。比如我想查询一个月的订单,是不是要登录后台,然后登录,再点击某个模块,然后再查看。如果我把这些步骤全部用pupperteer自动去点击是不是可以省去很多的时间,直接返回结果,体验是不是会更好。

2025-04-11 13:59:27 190

原创 如何在根据名称或id找到json里的节点以及对应的所有的父节点?

就是一个json里有很多的list嵌套,这种常常用于处理树形结构的数据,比如菜单,再比如含有各种分类的商品,都是需要通过子节点反推到父节点。"name": "仓库物流模块","name": "采购拆单","name": "仓库物流模块","name": "采购模块","name": "分销模块","name": "媒介模块","name": "采购模块","name": "分销模块","name": "媒介模块","name": "数据看板","name": "审计模块","name": "媒介模块",

2025-03-28 17:26:18 1060

原创 软著申请需要统计一个多少行代码,命令如下

以上代码统计当前文件夹里的vue多少行代码,其中包含所有子文件夹。还有一个命令如下:查询所有的文件占用了多少行。每个文件用了多少行。

2025-03-24 13:34:34 384

原创 基于nodejs的全自动化控制鼠标键盘的插件

在很早以前我就用c#写过全自动化控制鼠标与键盘的教程。有兴趣的同学可以看看。由于c#需要开发工具过于庞大,本人也只对node情有独钟。所以这节课我将教大家如何用node脚本来控制电脑的鼠标与键盘,做到全自动化。目前有了deepseek,也就相当于电脑有了自己的大脑,外加这节课的控制技术。我们完全可以做到将一台电脑当做一个人来帮你处理简单、重复、繁琐的事情。

2025-03-05 11:42:39 581

原创 网络知识点笔记,排查网络丢包问题

配置的服务器出现丢包。ping 103..... -t 的时候,发现有时候丢包。

2025-03-01 17:00:56 1209

原创 Oracle VirtualBox 给已打开的虚拟机重新设置磁盘大小

找到virtualbox将对应的目录设置为环境变量。这样VBoxManage命令即可全部调用了。输入“计算机管理”->“磁盘清理” 然后将新开并为分配的空间重新分配即可。找到虚拟机的vdi文件,此文件存储着系统里所有的文件。

2025-02-20 14:50:23 387

原创 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 628

element-plus-vite-starter-master.zip

本资源前端代码启动命令为npm run dev 后端启动命令为node server.js local 启动完之后可以看到当前做好的注册与登录页面 可以手写代码来进行二次开发。 也可以利用guiplan来自动生产代码来进行二次开发。

2021-04-09

选项卡特效

点击一个标题下方的内容会跟着变化。主要是交你如何用jquery。很简单,很容易看懂。

2013-06-29

中文转换为拼音插件,插件封装好直接调用即可,提供了源码用户也可修改插件

web端引用此插件,调用里面的方法,如var a = guiHz2Py({str:'我被要替换的字符串'}) console.log(a) 此时a的值为WoBeiYaoTiHuanDeZiFuChuan

2018-07-27

android动画代码

很好的代码!动画里控件所需要的代码都在!

2012-12-12

空空如也

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

TA关注的人

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