vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤

项目创建参考:https://zhuanlan.zhihu.com/p/75764907


电脑本地环境准备

注意版本号,electron和node建议使用跟我一样的版本
  1. node版本:12.16.1
  2. npm版本:6.13.4
  3. 全局安装 npm install -g node-gyp,这是用来编译serialport的,因为npm下载serialport是源代码,源代码是C语言,需要将C语言翻译

在这里插入图片描述
4. 安装visual studio 2017,翻译C语言需要C环境,附上下载地址Visual Studio 2017 Community ,安装VS的时候选项如下,要勾选使用c++桌面开发

在这里插入图片描述
安装完成之后在cmd黑框执行一下命令

npm config set msvs_version 2017

  1. 安装python2.7,注意必须是2.7,附上python下载地址-Python2.7x,安装后执行cmd黑框执行

npm config set python python2.7


项目使用

安装serialport,注意版本号否则编译时会出现错误

npm install serialport@8.0.6

安装electron-rebuild

npm install --save-dev electron-rebuild

编译serialport,第一种方式
  1. 进入目录:cd ./node_modules/@serialport/bindings
  2. 编译:node-gyp rebuild --target=6.0.10 --arch=x64 --dist-url=https://npm.taobao.org/mirrors/atom-shell

–target:electron的版本号
–arch=x64,64位;–arch=ia32,32位

  1. 编译成功

在这里插入图片描述

编译serialport,第二种方式

项目根目录直接输入命令

.\node_modules\.bin\electron-rebuild.cmd


编译的时候会出现很多坑

electron版本会对应一个NODE_MODULE_VERSION值,node版本也会对应一个NODE_MODULE_VERSION值,它们必须相等否则编译会报错。
在node官网的历史版本查看NODE_MODULE_VERSION值,地址node官网

在这里插入图片描述


页面使用serialport

页面引入注意一定要使用window.require,不能直接使用require
电脑可以下载一个【虚拟串口工具】,用于测试

const serialport = window.require(‘serialport’)

//点击事件
dayin(){
  serialport.list().then(
    ports => {
      //ports 串口
      console.log(ports)
    }
  )
},

electron-build打包无法将serialport打包到依赖

vue.config.js配置文件,asar:false

asar打包,如果为true会将依赖就加密成.asar文件,导致serialport串口通信C环境无法被打包,而无法使用

module.exports = {
  pluginOptions: {
    electronBuilder: {
      builderOptions: {
        "appId": "com.example.app",
        "productName":"收银系统name",//项目名,也是生成的安装文件名,即aDemo.exe
        "copyright":"Copyright © 2020",//版权信息
        "directories":{
          "output":"./dist"//输出文件路径
        },
        "asar": false, // asar打包,如果为true会将依赖就加密成.asar文件,导致serialport串口通信C环境无法被打包,而无法使用
        "win":{//win相关配置
          "icon":"./src/assets/favicon.ico",//图标,当前图标在根目录下,注意这里有两个坑
          "target": [
            {
              "target": "nsis",//利用nsis制作安装程序
              "arch": [
                "x64"//64位
//                "ia32"//32位
              ]
            }
          ]
        },
        "nsis": {
          "oneClick": false, // 是否一键安装
          "allowElevation": true, // 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
          "allowToChangeInstallationDirectory": true, // 允许修改安装目录
          "installerIcon": "./src/assets/favicon.ico",// 安装图标
          "uninstallerIcon": "./src/assets/favicon.ico",//卸载图标
          "installerHeaderIcon": "./src/assets/favicon.ico", // 安装时头部图标
          "createDesktopShortcut": true, // 创建桌面图标
          "createStartMenuShortcut": false,// 创建开始菜单图标
          "shortcutName": "收银系统", // 图标名称
        },
      },
      externals: ['serialport']
    }
  },
  css: {
    loaderOptions: {
      sass: {
        data: `
          @import "@/assets/scss/main.scss";
        `
      }
    }
  },
}


serialport的具体使用再去查资料吧,可以结合官网学习https://serialport.io/docs/api-bindings
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
这是一个基于SSM(Spring + Spring MVC + MyBatis)框架和Vue.js的在线收银系统项目。该项目包含了源代码、部署说明、系统介绍以及数据库设计。以下是关于这个项目的简要介绍:源码:本项目提供了完整的源代码,包括前端Vue.js应用和后端SSM框架。这使得开发者可以轻松地理解和修改代码,以满足自己的需求。部署说明:项目中提供了详细的部署说明,指导开发者如何将项目部署到服务器上。部署过程中需要配置数据库连信息、调整服务器环境等。通过阅读部署说明,开发者可以顺利完成项目的部署工作。系统介绍:项目简介部分详细介绍了在线收银系统的功能和特点。该系统支持多种支付方式,如微信支付、支付宝支付等,同时具备商品管理、订单管理、用户管理等功能。此外,系统还具有一定的安全性和稳定性,能够满足企业级的应用需求。数据库设计:项目中的数据库设计文件详细描述了数据库表结构和关系。这些表包括用户表、商品表、订单表等,用于存储系统中的各种数据。通过对数据库的设计,开发者可以更好地理解系统的架构和数据流程。总之,这个基于SSM+Vue的在线收银系统项目为开发者提供了一个完整的解决方案,可以帮助他们快速搭建一个功能丰富、性能稳定的在线收银系统。通过阅读源码、部署说明和数据库设计文件,开发者可以深入了解项目的实现细节,从而提高自己的开发能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值