vue 实现PDA设备扫描二维码及条码功能
页面效果图:
实现具体功能:
按下PDA设备的扫描键,扫描成功后将扫描到的编码值自动填充到输入框内,点击确定按钮将编码通过接口传递到后端
代码如下:
<template><div><input class="input" ref="searchInput" v-model="codeValue" placeholder="请输入条形码"/><div class="btn"><button @click="submitBtn()">确定</button></div></div>
</template>
执行方法如下:
接口请求需要安装axios,安装命令如下:
npm install axios
<script>
import axios from 'axios'
export default {data() {return {codeValue: '',code: '',lastTime: '',nextTime: '',lastCode: '',nextCode: '',dtmainId: ''}},created() {// 自动获取input输入框焦点this.$nextTick( () => {this.$refs.searchInput.focus();})// 模拟用户按下键盘按钮事件,触发扫描方法window.document.onkeypress = (e) => {if (window.event) { // IEthis.nextCode = e.keyCode} else if (e.which) { // Netscape/Firefox/Operathis.nextCode = e.which}if (e.which === 13) { // 键盘回车事件if (this.code.length < 3) return // 扫码枪的速度很快,手动输入的时间不会让code的长度大于2,所以这里不会对扫码枪有效console.log('扫码结束。')console.log('条形码:', this.code)this.parseQRCode(this.code) // 获取到扫码枪输入的内容,做别的操作this.lastCode = ''this.lastTime = ''return}this.nextTime = new Date().getTime()if (!this.lastTime && !this.lastCode) {this.code = '' // 清空上次的条形码this.code += e.keyconsole.log('扫码开始---', this.code)}if (this.lastCode && this.lastTime && this.nextTime - this.lastTime > 500) { // 当扫码前有keypress事件时,防止首字缺失this.code = e.keyconsole.log('防止首字缺失。。。', this.code)} else if (this.lastCode && this.lastTime) {this.code += e.keyconsole.log('扫码中。。。', this.code)}this.lastCode = this.nextCodethis.lastTime = this.nextTime}},methods: {parseQRCode(code) {if (code.length === 13) {// 处理自己的逻辑this.$emit('barCode', code) //通知父组件} else if (code.length === 23) {console.log('B类条码:' + code)} else if (code.length === 0) {console.log('请输入条码!')} else {alert('条码不合法:' + code)}this.codeValue = code},// 提交数据submitBtn(){// 发送网络请求let that = this;axios.get('http://xx.xx.xx.xx:8080/receive/emergency?receiveNo=' + this.codeValue).then(function (response) {console.log(response);alert('提交成功!')that.codeValue = ''}).catch(function (error) {console.log(error);alert('提交失败!')that.codeValue = ''});}}
}
</script>
样式如下:
<style>.input{height: 30px;}.btn{margin-top: 15px;}.btn button{width: 50px;height: 30px;background-color: #409EFF;color: #fff;border: none;border-radius: 4px;}
</style>
至此完成!测试有效!感谢支持!!!
vue 实现PDA设备扫描二维码及条码功能相关推荐
- 关于扫描二维码下载app功能实现方法
关于扫描二维码下载app功能实现方法 功能实现思路: Androidapk的下载本质上就是文件的下载,所以我们只需要在后台提供一个下载的方法,就能是实现apk的下载. 在实现后台代码以后,我们生成 ...
- 随机字符串解决大问题之腾讯网如何实现手机扫描二维码登录qq功能的
随机字符串解决大问题之腾讯网如何实现手机扫描二维码登录qq功能的 腾讯网(www.qq.com)有一个扫码登录功能很有意思, 点击首页一键登录按钮,就会展现一个二维码,用手机qq扫描此二维码就可以使当 ...
- vue实现调用摄像头扫描二维码
安装依赖:vue-qrcode-reader npm install vue-qrcode-reader -s 直接上代码 <template><div><div cla ...
- vue websocket 公众号扫描二维码登录PC端
首先使用的是websocket进行消息的传递,当我们在pc端请求到二维码图片后,打开微信扫一扫,扫描二维码后,就可以在websocket里接收到扫描消息,然后进行自己的业务逻辑处理,具体代码如下: w ...
- 实用知识:实现扫描二维码和条形码功能
#import "ViewController.h"// 捕获摄像头数据需要该框架 #import <AVFoundation/AVFoundation.h>@inte ...
- 微信小程序扫描二维码或者条码
程序是需要扫描条形码然后跳转到对应的产品信息页,其实微信小程序就有一个扫码识别的API,下面一起来看看: wx.scanCode(Object object) 调起客户端扫码界面进行扫码. 示例代码: ...
- 通过libusb操作usb设备扫描二维码
libusb是开源的操作usb设备的类库,可以在Windows, linux, android使用. 以下代码是参照libusb官方网站提供的api文档和example开发的操作二维码扫描头设备的例子 ...
- Vue 实现调用相机扫描二维码或条形码
扫条形码: 扫二维码: zxing 下载: npm install @zxing/library --save 扫码组件内容: <template><div><video ...
- 怎么让微信的扫一扫扫描二维码后安装apk 苹果手机下载APP怎样扫描二维码实现下载功能
二维码深入人心,很多App都在官网挂出了可以扫描下载apk的二维码,笔者所在公司的产品也不例外.一般二维码编码的URL不会直接放apk而是放中间地址,通过这个中间地址再跳转到apk所在URL,原因大概 ...
最新文章
- 易观的大数据中台之路
- 【Zabbix】CentOS6.9系统下部署Zabbix-server 3.0
- boost::overwrite相关的测试程序
- Kubernetes 1.20 报错:“open /run/flannel/subnet.env: no such file or directory“
- CWnd的派生类-3、CDialog类
- 某个目录下产品根据创建时间下架
- Linux--信号阻塞与屏蔽
- 使用Istio分布式跟踪应用程序
- UNIX环境高级编程(第2版)第11-17章
- 热传导问题的matlab计算,热传导问题的MATLAB数值计算
- 尔雅 科学通史(吴国盛) 个人笔记及课后习题 2018 第九章 科学、技术与工业
- 杭电OJ 1720 进制处理
- 程序员跟产品经理打起来了,事情的真相是...
- 原生js实现拖拽效果,js拖拽原理
- 又拍云php表单,又拍云存储上传插件 - 支持客户端直传、服务端中转、分片上传 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
- maxscript rollout
- EBS R12中FND凭证打印警告:OPP响应超时
- 数据库 之 round函数
- 信息收集之通过JS拓展信息面
- 液晶屏COG封装技术-工业显示领域主流
热门文章
- 阿里云轻量应用服务器 怎么控制怎么上传文件怎么安装JDK和Tomcat怎么完成JavaWeb的部署...
- 编号(长度)动态规划
- MSP430 精准延时之定时器 TIMERA 0.5实现LED闪烁
- 四国军旗辅助记忆小工具
- Electron 下载失败 install fail npm yarn cnpm
- maven 整合ueditor富文本编辑器
- 【信息系统项目管理师】第十八章 PMBOK英语
- h5使用canvas模拟制作的中国象棋实现残局走子
- 百度中文搜索风云榜每天对上亿次搜索进行分析,权威、全面、准确、精彩!...
- Linux下的段错误分析