zoukankan      html  css  js  c++  java
  • 微信小程序实现连续扫码功能(uniapp)

    注:本文使用的是 uniapp 语法。

    微信小程序提供了扫码API:wx.scanCode,但它只能扫一次码,想要实现连续扫码,需要借用 camera 组件。camera 组件不仅能拍照,还具有扫码功能,只要将它的 mode 属性设置为 scanCode,就会在扫码识别成功时触发 bindscancode 事件(在 uniapp 中是 scancode 事件)。

    <camera mode="scanCode" device-position="back" flash="off"  @scancode="takeCode"></camera>

    在 takeCode 函数里对扫码结果进行处理:

    takeCode: (e) => {
        if(scanFunctionIsUseable) {
            this.scanFunctionIsuseable = false;
            // 对扫码结果进行处理
            console.log(e.detail.result);
    
            // 扫码间隔两秒
            setTimeout(() => {
            this.scanFunctionIsUseable = true;
            }, 2000)
        }
    }

    需要注意的是,摄像头对着码时,会重复扫描多次,这显然不是我们想要的。为了避免这种情况,可以增加一个 scanFunctionIsUseable 标志位,在扫码成功时令它为 false,隔两秒令它为 true,这样就可以隔两秒再去处理扫码结果。

    参考:https://blog.csdn.net/du771278794/article/details/86219165

  • 相关阅读:
    leetcode 414
    Leetcode 495
    Leetcode 485题
    Python 24点(2)
    python 24点
    我的第一次作业
    Django
    multiprocessing模块
    遍历文档树
    shutil模块
  • 原文地址:https://www.cnblogs.com/zdd2017/p/12808641.html
Copyright © 2011-2022 走看看