扫码枪原理及案例

Posted mcsolo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扫码枪原理及案例相关的知识,希望对你有一定的参考价值。

使用场景:文本输入框获得焦点,扫码后自动显示

本质:扫码枪扫码相当于是模拟键盘输入,使用文本框keydown、keyup事件(当然不局限于文本框)

特点:扫码枪触发键盘事件时,最后一个键会是‘Enter‘,不同的硬件设备可能会不一样


冲突问题:怎样区分扫码时触发的键盘事件与正常的键盘事件?

1、手动键入时,keydown与keyup相隔时间差在80毫秒左右

2、扫码枪扫码键入时,keydown与keyup相隔时间很快,在10毫秒左右(当然,在所扫码相对复杂,然后扫码枪连续扫码,可能会出现某一个值的相隔时间会超过100毫秒)

 

实际案列:一个文本框展示扫码次数(type=“number”),即可手动输入,也可以扫码输入,同时需要在手动输入的基础上进行扫码累加 +1 ( 备注:扫码出来的内容与已知内容进行对比,一致则 +1 )

1、首先正则出扫码内容的有效值(对手动输入和扫码均有效)

2、缓存键入的有效值

3、通过获取缓存键入值时的keydown和keyup时间差的平均值判断清除手动输入的数值

4、扫码内容匹配已知对比数据,相同则累加 +1

以上是关于扫码枪原理及案例的主要内容,如果未能解决你的问题,请参考以下文章

Android外接USB扫码枪

阿凡达蓝牙扫码枪怎么连接安卓手机

OPPO手环支付必须扫码枪吗

js 扫码枪的输入

支付宝和微信扫码枪扫码支付时手机需要联网吗?

串口扫码枪数据采集程序 串口扫码输入更方便C#源码