在使用uniapp开发收银机等设备时,常常会用到使用键盘输入的外设,如使用扫码器/扫码枪读取条形码/二维码等,及使用读卡器读取卡ID(需要读卡器支持键盘输入卡ID,此种方式只支持读取未加密的卡ID信息,读取加密信息请使用NFC方式)。
读取外设键盘输入会有两种情况,一种是外设在输入信息后会有一个Enter键输入作为结束,另一种则不会有,所以针对这部分会有两种处理方式,下文会做区分。
在uniapp项目根目录下的package.json文件中引入uniapp-keyboard-listener包,没有该文件则创建,package.json文件内容如下:
在onLoad周期中注册键盘输入监听:
以下代码中,Enter键键码为66(可视情况修改),所以在读取到键码为66时就表示获取到了完整的,可用于处理后续。
无enter输入的方式处理起来会麻烦一点点,需要多预定义一个变量timing_open用于处理setTimeout。此处setTimeout的作用是用于键盘输入中断时读取完整的输入,一般键盘输入会有一个时间间隔,我这里是100毫秒,可以视实际情况进行调整。
安卓键盘输入(本文使用的):Android KEYCODE键值对应大全-CSDN博客
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:975644476@qq.com
本文链接:http://chink.83seo.com/news/2285.html