自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 【Electron 7】实时语音对讲边录边发实战:AudioWorklet + PCM16 实时帧方案

本文记录实时语音对讲中“边录边发”的完整实现方案:从技术选型、AudioWorklet 实时采集、Float32 → PCM16 转换、16kHz 单声道 20ms 分帧,到 macOS 权限崩溃、PCM 转换噪音、资源清理与后续演进方向。

2026-10-10 18:07:22 533

原创 ESP32-S3 N16R8 + 小智 AI + 2.8寸 TFT 屏开发实战:ESP-IDF环境搭建与硬件避坑指南

本文记录了从Arduino转向ESP-IDF开发ESP32-S3 N16R8的全过程,重点解决硬件适配问题。通过浏览器烧录小智AI固件后,因TFT屏幕引脚不兼容转向VS Code+ESP-IDF开发环境搭建。

2026-07-28 10:30:58 617

原创 【Electron】集成日志

electron 集成 日志

2026-07-15 14:33:22 78

原创 从零构建边缘音频终端:基于 ESP32-S3 软硬解耦的全栈闭环实践

本文介绍了一个基于ESP32-S3的双向音频终端项目,实现了从底层硬件到上层应用的完整通信闭环。项目集成了MAX98357A功放、INMP441麦克风和腔体喇叭,通过I2S总线连接,支持Web与串口双通道控制。文章详细解析了硬件选型、物理层拓扑连接(包括关键工程注意事项),并采用三层解耦软件架构(硬件驱动层、指令解析层、通信通道层)确保稳定性。通过有限状态机管理设备状态,非阻塞任务调度和自动重连机制解决音频断连问题。所有设计均通过实测验证,为后续扩展为Node.js原生插件奠定基础。

2026-06-28 20:42:24 471

原创 从0搭建Electron硬件架构:一个被系统性问题反复击穿的开发者复盘

一名前端页面仔,用三年时间独自趟过 Electron、TCP 长连接、实时语音、蓝牙硬件和崩溃治理的深水区。这篇文章不是成功的经验,而是一个普通开发者匍匐前进的完整地图。

2026-05-03 01:26:48 417

原创 【Electron】开发两年Electron项目评估报告

本人负责的中大型 Electron 桌面应用技术评审报告,基于 cloc 代码统计、madge 依赖分析,完整呈现项目质量与组件复用情况,专门作为简历项目附件参考。

2026-04-02 10:05:21 254

原创 Electron 保活方案:用子进程彻底解决原生插件崩溃问题

解决Electron中集成C++编译node插件崩溃出现高崩溃率、主进程阻塞问题。

2026-04-02 09:54:03 426

原创 【Electron】IpcMainEvent 参数使用总结

本文介绍了Electron中主进程与渲染进程间通信的核心机制。详细解析了IpcMainEvent参数,包括事件类型、进程ID、框架ID、返回值设置等核心属性,并重点说明了MessagePort在高吞吐量场景下的应用方法。通过代码示例展示了主进程创建MessageChannel、preload配置转发端口到渲染进程的完整流程。

2025-11-28 10:50:12 535

原创 【Electron 8】electron实现“图片”的另存为

聊天通讯实现右击图片另存为...效果

2024-10-25 18:44:18 867

原创 【Electron 9】调试对话图片的加密处理

在即时通讯中,加解密图片上传到远程服务器是非常有必要的,但因未了解过,费了一番周折。

2024-10-22 18:54:36 617

原创 【Electron 6】WebSocket 实时 PCM 音频流边收边播实战

浏览器实时播放PCM数据,少走很多弯路

2024-07-19 14:05:38 2067

原创 【Electron 5】electron将获取的Uint8Array转为中文

学习博客地址:https://www.cnblogs.com/qianxiaox/p/14019522.html。npm包地址:https://www.npmjs.com/package/protobufjs。注:我这个.proto文件是公司c语言程序猿写的,所以拿过来直接执行转换js文件就可以使用了。

2024-06-24 17:41:29 508

原创 【Electron 4】electron配置打包环境

因为我是已有的项目了,所以这里我只需要安装并引入electron-forge,虽然我进行配置了项目,但是我为了图省事用了electron框架,所以我必须用electron-builder进行配置打包了,所以这里针对electron-forge的笔记可能会比较浅薄。注:因为我项目中用的是umi脚手架搭建的react,打包后,是空白页面,所以要在.umirc.ts中配置一下即可。output:是我将input引入图标所转换不同大小不同格式的图标输出文件。input:icon.png是我需要引入的图标。

2024-04-23 16:35:40 1840

原创 【Electron报错】 electron-buidler打包sqlite3问题汇总

electron-builder打包sqlite3运行报错:TypeError: Cannot read property 'indexOf' of undefined...

2024-04-23 14:51:51 2196

原创 【Electron】打包报错webpack/electron/sqlite3/node-pre-pyg代码被打包进主线程js文件

【代码】【electron】打包报错webpack/electron/sqlite3/node-pre-pyg代码被打包进主线程js文件。

2024-04-18 18:56:02 857

原创 【Electron 3】electron将数据写入本地数据库

客户端实现数据存入数据库总结

2024-04-17 17:36:44 1393

原创 【Electron 2】electron调用crytojs加密

electron调用crytojs加密。

2024-04-12 12:11:03 721 1

原创 js的事件冒泡、捕获、委托

事件委托是一种技术,冒泡是事件本身所做的事情,捕获是对不冒泡的事件使用事件委托的一种方法。

2024-03-31 18:09:13 1069

原创 js Class的概念及其应用场景

含义:类是用来创建对象的模板。JS和其他语言不同,它是没有Class的,它本质就是JS的构造函数封装的语法糖。ES6提供一种更为清晰的方式来遵循面向对象的编程方式。

2024-03-31 16:00:49 2019 1

原创 从输入url到页面展示的过程

唠唠叨:我不想误人子弟,我这篇算是搬运工,加上自己的理解做点总结,所以还请大家科学上网去看这篇:https://aws.amazon.com/cn/blogs/mobile/what-happens-when-you-type-a-url-into-your-browser/

2024-03-30 21:54:17 1565

原创 【electron1】electron的学习基础汇总

Electron学习基础汇总。标注:我一定要说的是,用来一年的electron给我带来的震撼和惊喜一直存在,因为研究不同的项目源码实现,我无意下载来discord程序,结果这个竟然是由electron开发并打包成window、mac、linux、Android、iOS等系统,仅仅只是不支持鸿蒙OS。

2024-03-29 23:57:13 1514

原创 ts的interface和type区别

interface:多个 同名的 interface 却是可以通过这种形式合并,但是定义的属性名冲突也会报错。type 可以定义任何类型,不仅仅是对象类型,也可以定义基本类型、联合类型、交叉类型等。type 可以定义类型别名,它们可以使用 & 运算符合并多个类型,生成一个新的类型。骚操作将 type 和 interface 混合使用,竟然真的可以😂。用 type 定义一个心的类型别名,然后用这个别名来定义一个对象。type: 定义多个相同的type名就会直接爆红,页面也会报错。

2024-03-16 20:15:41 511

原创 react和vue对比

但是还算是最了解react吧,当初从react class 向 react hooks转型的时候,就是因为我看到来react官网上的一个将class编程和hooks编程的相同功能代码做了对比,而hooks的代码量显然少了将近一半儿,可读性强,维护友好,重用性高。我认为 vue3 更准确的来说,不是严格意义上的hook形式,而是Composition API,除一些生态圈的变化外,vue3与react hooks相比来说,react hooks几乎所有的方法都是基于钩子进行开发的。

2024-03-12 16:57:59 561

原创 react批量引入svg图标

PS:也不只在react中用,其他框架也可,生态圈不一样配置会不同,但是能提供整体的思路,可以参考。注:我之所以能直接使用@去默认引入src下的所有文件,是因为我在typescript中配置path。在批量引入之前,我们需要安装一个包并配置到typescri.json文件中。在src文件下新建一个icon文件,然后新建一个.tsx文件。注:这块代码可直接copy走。批量引入处理并导出封装组件。

2024-03-11 20:37:49 1179

原创 vue实现pdf预览功能总结

总结:最初我是用了vue-pdf这个直接进行安装并进行使用的,可是并不适用我的项目,而且用户体验不好,最主要的是出现空白页,这只能完成简单的静态预览打印功能,让我觉得内心总觉得那里不满足。所以我干脆换了一种iframe的使用预览方式,这个方法简直太爽了,可以预览,在预览中生成目录,跳页翻页还有预览小框点击跳转页面,下载,打印,放大缩小并且还清晰展示,这些都可以满足!!!简单的预览功能请使用vue-pdfnpm install --save vue-pdf这里就不细描述了,具体看官网http

2021-05-29 11:34:51 1710 1

原创 docx插件的使用

简介: docx是用于前端自己去渲染word的使用,这是根据项目无法固定word内容,如果有用到这个插件,我的笔记无法达到所需还请去参考官网,再次补充下:我所做的笔记可能会有问题或者不够深入,也希望用此插件的用户进行补充和指导。在此非常感谢!new Document() // 创建一个文档,里面可以设置文档的样式,文档的作者、标题、描述等import { Document} from "docx"所有的样式都是在new Document中创建的import { AlignmentType,

2021-03-27 12:04:24 5107 4

原创 使用blob 实现 js下载word、Excel等文件

我之前有写过一篇就关于vue下载文件的,那个是很好用,但那个是基于我项目中是比较合适的,但实际上,项目中还有一个方法就是使用js中Blob,这个是什么那,其实无论是fetch还是axios都有提供Blob的功能,这个就是把后端返回来的数据文本或者二进制流的数据,转换成字节,返回成一个新的blob对象,再去进行下载。代码示例:this.$api.Business.download({}, res => { // 我这个是下载的word文档,第二个参数会这样写的 cons

2021-01-31 11:40:06 7724

原创 使用antv的G6展示折叠节点树的效果

安装:npm install --save @antv/g6;效果图展示:这些代码可以直接拿过去用,这是封装的一个公共组件。import React, { useEffect, useState } from 'react';// 引入G6import G6 from '@antv/g6';// 引入antv的样式import insertCss from 'insert-css';const GsixManage = (props) => { const listObj

2020-11-28 13:27:22 8632 3

iframe标签实现pdf预览功能

iframe标签实现pdf预览功能

2021-05-29

空空如也

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

TA关注的人

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