欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS实现扫码枪扫描二维码功能

程序员文章站 2022-03-23 07:55:51
扫码枪扫描二维码,具体内容如下所示: 业务需求要将数据生成二维码,并用扫码枪扫出数据上传到服务端。 先上代码吧,之后再完善注意点 this.start = new dat...

扫码枪扫描二维码,具体内容如下所示:

业务需求要将数据生成二维码,并用扫码枪扫出数据上传到服务端。

先上代码吧,之后再完善注意点

this.start = new date().gettime()
  let code = ''
  let lasttime, nexttime
  let lastcode, nextcode
  let that = this
  window.document.onkeypress = function (e) {
   if (window.event) { // ie
    nextcode = e.keycode
   } else if (e.which) { // netscape/firefox/opera
    nextcode = e.which
   }
   console.time()
   console.log('nextcode', nextcode)
   if (e.which === 13) {
    if (code.length < 3) return // 手动输入的时间不会让code的长度大于2,所以这里只会对扫码枪有
    console.log(code)
    console.log('扫码结束')
    console.timeend()
    that.parseqrcode(code) // 获取到扫码枪输入的内容,做别的操作
    code = ''
    lastcode = ''
    lasttime = ''
    return
   }
   nexttime = new date().gettime()
   if (!lasttime && !lastcode) {
    console.log('扫码开始。。。')
    code += e.key
   }
   if (lastcode && lasttime && nexttime - lasttime > 500) { // 当扫码前有keypress事件时,防止首字缺失
    console.log('防止首字缺失。。。')
    code = e.key
   } else if (lastcode && lasttime) {
    console.log('扫码中。。。')
    code += e.key
   }
   lastcode = nextcode
   lasttime = nexttime
  }

总结

以上所述是小编给大家介绍的js实现扫码枪扫描二维码功能,希望对大家有所帮助