大师助我,electron-hiprint 源码梳理

前言

上篇我们通过微信小程序云打印,添加了默认值属性,但只支持浏览器打印,如果要支持静默打印(本地打印)和远程打印,还要修改打印助手

源码解析

首先在我们项目内找到静默打印调用位置

javascript 复制代码
  printSocket.emit('render-print', {
    template: hiprintTemplate.value.getJson(),
    data: printData.value,
  })

electron-hiprint搜索 render-print 标识的消息监听,有两个地方监听该消息,区别是一个监听客户端,一个监听中转服务器

他们都调用了RENDER_WINDOW.webContents.send("print", data);,可以问问 codex 具体执行,分析过程很具体,这是最后的总结

继续追问 hiprint.PrintTemplate 和 data.data 生成 html 的具体实现,红色部分很关键,打印模板赋值过程实际还是用的vue-plugin-hiprint逻辑,它是以插件的形式引入的,那么我们只需要把修改后的项目打包插件引入即可

引入插件

插件设置在打印助手,基础设置面板,对应项目文件set.html,软件内置了几个版本插件,同时支持在线切换,把这些逻辑告诉 codex,了解代码内实现

这是总结结果,配置中心默认设置plugin下已下载插件,列表拉取 npm 列表,选择后下载对应文件,并重启应用

那就简单了,把 npm 源换成我们 npm 包的地址,同时修改本地默认插件版本

小插曲

在本地启动electron-hiprint启动调试过程,我也遇到不少问题,虽然 codex 最后都能帮我解决,但如何从一开始的前提就是错误的,那么即使过程中得到正确的结果,最终结果还是有问题

说的有点绕口了,其实就是项目初始化我用的 pnpm 和 node24.0.0,这才导致了一系列问题,虽然最后打包成功,但启动报错。折腾一圈我感觉不太对劲,才切换为 npm 和 node16.0.0

还有啊

没有了,还没用的小伙伴赶紧甩开吧,效率杠杠的,24小时专属编程指导,不香吗

相关推荐
yqcoder19 小时前
httpOnly 是什么,又有什么用?
开发语言·前端·javascript
IT_陈寒19 小时前
Java的Stream.parallel()把我CPU跑爆了,这种优化要谨慎
前端·人工智能·后端
小皮虾20 小时前
小程序首页性能优化实战:从 4 秒到 1.8 秒
前端·微信小程序
山河木马20 小时前
GPU自动处理专题1-裁剪到底在裁什么(裁剪)
前端·webgl·计算机图形学
奔跑的蜗牛ing20 小时前
CentOS Nginx 安装与静态文件服务器配置指南
前端·面试·架构
子兮曰20 小时前
Bun 重写为 Rust:11天、64个Claude、16.5万美元,一次改变行业认知的激进实验
前端·后端·bun
子兮曰20 小时前
Node.js v26.5.0 深度解读:import Text、流式 ReadableStreamTee、以及隐藏的安全加固浪潮
前端·后端·node.js
子兮曰20 小时前
TypeScript 7.0 RC 深度解读:Go 重写完成,10 倍提速,编译器的「奇点时刻」
前端·后端·typescript
还有多久拿退休金20 小时前
让飞书知识库跟着 commit 自己长:一套自动化知识库的真实实现
前端·算法·架构