项目经历
智能硬件产线桌面产测客户端
项目简介
面向智能硬件产线的 Windows 桌面产测客户端。负责 Electron 主进程架构、硬件通道、多窗口管理与安装包交付;将串口/TCP/BLE、原生 RTSP 播放、本地数据库与 OMS 接口整合进同一桌面应用,支撑产线标准化测试与版本发布。
职责与亮点
主进程架构:基于 Electron 30 拆分主进程 / 渲染进程 / preload。主进程统一托管串口、TCP、BLE、SQLite、mpv、子窗口与原生弹窗;preload 通过
contextBridge暴露serialAPI、tcpAPI、bleAPI、dbAPI、mpvAPI,渲染进程不直接接触 Node.js 与原生能力。硬件通信与协议:在主进程封装 SerialPort、
net.Socket与 BLE 扫描/连接;自研二进制帧协议(0xAA 0x55、SEQ 匹配、CRC16-CCITT、超时 Promise)。串口与 TCP 共用同一套组帧/拆帧逻辑,保证产测指令可靠传输。原生窗口与视频嵌入:用 Koffi 调用 Win32 API(
SetParent、SetWindowPos等)将 mpv 子进程窗口嵌入 Electron 主界面播放 RTSP。处理 DPI 缩放、窗口跟随、层级遮挡;截图判定与测试结果用独立BrowserWindow或原生 MessageBox,避免被原生视频层盖住。多窗口桌面交互:历史记录、网络配置、产品配置做成独立子窗口,支持聚焦复用与窗口间数据同步;人工图片判定也放到独立窗口,主窗口专注主测试流程。
本地数据与外设:主进程用 sql.js 持久化测试记录;对接 POSTEK 标签打印,支持历史记录导出 Excel。配置文件与 mpv 运行时通过
extraResources打进安装包。工程与发布:Vite + electron-builder 打包 Windows x64 NSIS 安装包(支持自定义目录安装)。处理原生模块、资源裁剪(
afterPack)与产线版本迭代,当前已在产线实际使用。
