1.扫码枪的工作流程
扫描枪作为光学、机械、电子、软件应用等技术紧密结合的高科技产品,是继键盘和鼠标之后的第三代主要的电脑输入设备。扫描枪自80年代诞生之后,得到了迅猛的发展和广泛的应用,从最直接的图片、照片、胶片到各类图纸图形以及文稿资料都可以用扫描枪输入到计算机中,进而实现对这些图像信息的处理、管理、使用、存储或输出。(摘自百度百科)
上面提到扫描枪是一个输入设备,我们可以把它当做是键盘或者鼠标。当扫描枪扫完一个二维码、条形码后,他讲信息输入至电脑。此时如果我们打开一个记事本,并且光标处于记事本中,二维码或者条形码的内容就会显示在记事本中。需要注意的是,这一串字符串并不是类似于复制粘贴的方式写进去的,而是类似于在键盘上依次敲击这些字符。
说完扫码枪的工作原理,那么我们就以我最近的一个项目来讲述一下我在本次工作是怎么实现的。
2.业务逻辑及出现问题
最近在做一个试验管理项目,用扫码枪扫描包装袋上的二维码,自动打开相对应的流程卡,进行试验数据的填写和完善。之前其他项目也用到过扫码枪,那时扫描一串固定长度的字符串(流程卡ID),所以处理起来容易些。这次,我们主要面临两个问题,第一,为了增强和其他项目的兼容性,我们摒弃了之前固定长度的字符串,而是采用目前主流并且长度不固定的Json字符串,这里就涉及到一个问题,输入框的监听事件何时出发功能;第二,由于扫码枪目前还在其他人手中,如果我们扫成二维码再让他人扫描,基本工作流程如下:

针对上述复杂的工作流程,如何才能提高开发效率呢?当然,最坏的打算是本地开发人员可以在购买一个扫描枪。有没有其他的方式?这就需要我们更深了解扫码枪的工作流程。
3.目前已有的代码逻辑
扫码枪测试
二维码扫描


