大师助我,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小时专属编程指导,不香吗

相关推荐
陈随易12 小时前
副业搞钱点子之赛事与活动
前端·后端·程序员
电梯界知识分子12 小时前
景德镇老房重新设计阶段规划楼梯与电梯,1.7m×1.6m空间装400kg观光电梯,棕色框架茶色玻璃适配中式装修
大数据·服务器·前端·网络·家用电梯
Shell运维手记12 小时前
Shell 脚本入门课堂讲解
前端·chrome
Profile排查笔记12 小时前
有哪些开源指纹浏览器项目?先核对客户端、内核与许可证
前端·人工智能·后端·自动化
CodeGL12 小时前
16、Python Web开发
开发语言·前端·python
FRing0312 小时前
JavaScript入门到精通二十九(内置构造函数(Object、Array))
开发语言·前端·javascript
AAA程序技术12 小时前
从 DOM 到屏幕:浏览器渲染管线六步拆解
前端·浏览器
zach12 小时前
useContext 深入讲解:组件透传、原理与最佳实践
前端
张一凡9313 小时前
AI 改完代码,人却不知道它改了什么:架构漂移才是真正的成本
前端·后端·agent
sycmancia13 小时前
Qml——Text元素
java·前端·html