观察行业视觉

学习行业知识,发布行业动态,播报公司发展,展示企业活力

首页 > 新闻动态 > 技术积累
微信小程序连续扫条码,实现扫码枪连续扫码的功能
2021-06-05 10:29:37

最近做同城闪送项目时,为了提高快递员扫码转运订单的速度,使用了小程序的【camera】组件,实现了类似扫码枪连续扫码的效果。


【camera】组件在使用时,会连续扫码,因此设置2s扫码一次。
【camera】组件的mode,需要设置为“scanCode”

一、uniapp实现方式

在template部分写入如下代码
<camera mode="scanCode" @scancode="scan" device-position="back" flash="off" @error="error()" style="width: 100%; height: 200px;"></camera>
scan: function(e) {
     let sec = Date.parse(new Date())  //获取当前时间戳
     if(sec - this.sec < 2000) return  //this.sec初始值为0,当前扫描时间-上次扫描时间 > 2s时继续执行,否则return
     this.sec = Date.parse(new Date()) //将当前时间戳赋值给this.sec

     if (e.detail.result) {
         this.order_no = e.detail.result //扫码获取单号
         this.getDetial()  //根据扫码获得的单号获取订单详情
     }
},

二、小程序实现方式

在wxml页面写入如下代码
<camera mode="scanCode" flash="off" binderror="error" bindscancode='takeCode' style="width: 100%; height: 200px;"></camera>
takeCode(e) {
    let sec = Date.parse(new Date())  //获取当前时间戳
    if(sec - this.data.sec < 2000) return  //this.sec初始值为0,当前扫描时间-上次扫描时间 > 2s时继续执行,否则return
    this.setData({
          sec : Date.parse(new Date()) //将当前时间戳赋值给this.sec
    })

    console.log(e)
  },
上一篇 :微信小程序打开其他小程序后白屏的原因,navigateToMiniProgram打开其他小程序白屏解决方案
虚拟主机配置easywechat curl 60:下一篇