# barcode **Repository Path**: crysispht/barcode ## Basic Information - **Project Name**: barcode - **Description**: No description available - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-16 - **Last Updated**: 2025-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 移动端扫码枪解决方案 ## 项目介绍 这是一个将手机转变为扫码枪的解决方案,通过移动端H5页面调用摄像头扫描条形码/二维码,并将扫描结果实时发送到电脑端,由电脑端模拟键盘输入到当前活动窗口。 ## 技术栈 - 前端:HTML5、JavaScript、html5-qrcode(扫码库) - 后端:Node.js、WebSocket(数据传输) - 桌面端:Node.js + robotjs(模拟键盘输入) ## 功能特点 - 无需安装APP,通过浏览器即可使用 - 支持条形码和二维码扫描 - 跨平台支持(Android、iOS、Windows、macOS) - 实时数据传输,延迟低 ## 使用说明 1. 启动WebSocket服务和桌面接收程序 2. 在手机浏览器中访问H5页面 3. 扫描电脑端显示的连接二维码进行配对 4. 开始扫码,结果将自动输入到电脑当前活动窗口 ## 注意事项 - 手机和电脑需要在同一局域网内 - H5页面需要通过HTTPS访问才能调用摄像头(开发环境除外) - iOS设备可能需要额外设置以允许摄像头访问 ## 快速开始 1. **安装依赖** ```bash npm install ``` 2. **准备Python环境** ```bash npm run prepare-python ``` 这个命令会自动寻找Python解释器,创建虚拟环境并安装必要的依赖包(pyautogui) 3. **开发模式运行** ```bash npm run dev ``` 4. **打包应用** ```bash npm run build ``` ## 自动输入功能 本应用使用Python脚本实现自动输入功能,通过pyautogui库提供快速可靠的键盘输入能力。 ### 工作原理 1. 手机扫描二维码后,将扫描结果发送到桌面应用 2. 桌面应用调用Python脚本,使用pyautogui库模拟键盘输入 3. Python脚本确保焦点在当前窗口并输入文本 4. 如果自动输入失败,会自动将内容复制到剪贴板作为备选方案 ### Python集成说明 - 应用会自动搜索可用的Python解释器(虚拟环境优先) - 首次运行前需要执行`npm run prepare-python`安装必要依赖 - 打包后的应用会包含内嵌的Python环境,无需额外安装 ### 故障排除 - **缺少Python依赖**:运行`npm run prepare-python`重新安装 - **Python执行失败**:确保Python版本为3.x且已添加到系统PATH - **输入延迟**:Python版本的输入速度通常比nutjs更快,但可能受系统性能影响 - **特殊字符问题**:pyautogui对特殊字符的支持较好,一般不会有问题