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

相关推荐
大模型码小白15 小时前
数据可视化:AI 生成 HTML5 动态交互式数据图表
前端·数据库·人工智能·深度学习·机器学习·信息可视化·html5
八荒启·交互动画15 小时前
Web特效01—什么是渲染
前端·javascript·网页特效·八荒启-交互动画
小肥君15 小时前
前端测试websocket
前端·websocket·状态模式
南京兴帝文化传媒有限公司15 小时前
基于地图平台的本地商户信息优化:药店夜间服务标注与客户转化实操
前端·javascript·数据库·人工智能·geo 优化·geo优化避坑·ai搜索获客
八荒启·交互动画15 小时前
Web特效04——GPUvs CPU,为什么图形计算要交给GPU,什么是“并行计算”
前端
呃呃呃呃ex15 小时前
2026年古法编程的末法时代,如何评估自己完成迅速转行
前端·后端
南京兴帝文化传媒有限公司15 小时前
地图SEO与AI搜索优化结合实践:宁国摄影工作室本地获客案例分析
大数据·前端·人工智能·geo 优化·geo优化避坑
用户9210802628616 小时前
前端 Vue 专栏 07:模板编译、虚拟 DOM、Diff 与 key
前端
光影少年16 小时前
react navite process.nextTick 和 Promise.then 的执行顺序
前端·react native·react.js
雪芽蓝域zzs16 小时前
第四十二节:全局字典封装(后端字典,下拉选择复用)
开发语言·前端·javascript