更新记录

1.1.2(2023-01-04) 下载此版本

  1. 修复在新版本 HBuilderX(3.6.15) 报错问题(ReferenceError: Can't find variable: typeot)
  2. 更换 ES6 导入方式
  3. 更新一维码开源库(Quagga 最新github地址)

1.1.1(2022-06-18) 下载此版本

  1. 提高相机的清晰度
  2. 增加识别错误判断
  3. 对开源库的错误抓取,发生错误重新识别

1.0.3(2022-06-13) 下载此版本

  1. 修改 Quagga 库导入方式,改为本地导入
  2. 演示代码中添加商品码演示。默认一维码类型是 code_128_reader(企业码)
查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× ×

插件简绍

实现原理

一维码识别功能使用的是Quagga这个库。调用摄像头使用的 navigator.mediaDevices.getUserMedia 这个H5的api。通过 video 和 canvas 把摄像头获取到的数据展现到页面上,同时调用监听Quagga解析。

使用环境

需要https环境才能使用,本地测试可以在 manifest.json 中点击源码展示,找到h5 ,添加:"devServer" : { "https" : true}

请勿使用 UC浏览器 与 夸克等阿里旗下的浏览器,发现他们使用的内核都较低,无法正常获取视频流。在微信中可以正常使用,推荐在微信内打开演示案例

需要https环境才能使用!!!

需要https环境才能使用!!!

需要https环境才能使用!!!

打开闪光灯只有在安装chrome内核中可以使用。苹果设备上的浏览器全都是Webkit。

插件使用

插件已支持 uni_modules 支持组件easycom,以下代码演示的是普通使用

<!-- HTML -->
        <mumu-one-code @success='handlerSuccess' definition :readers='["code_128_reader"]'></mumu-one-code>
// js
    import MumuOneCode from '@/uni_modules/mumu-oneCode/components/mumu-oneCode/mumu-oneCode.vue'

    export default {
        components: { MumuOneCode },
        methods: {
            handlerSuccess(code) {
                uni.showModal({
                    content: code
                }).then(res => {
                    uni.navigateBack()
                })
            }
        }
    }

readers是一维码类型,需要更具实际需求填入。数组中可填多个,但是不推荐,因为不同类型中的一维码可能会被其他类型给解码出来,这样会导致解码不正确。具体类型规则可以百度。

  • code_128_reader:企业内部常用,可带字母。一些电子产品类别的一维码就是这个编码
  • ean_reader :商品常用

相关API

可传属性(Props)
参数 说明 类型 默认值
continue 是否连续获取。false 监听一次 true 持续监听 Boolean false
exact 选调用摄像头。environment 后摄像头 user 前摄像头 String environment
readers 一维码类型。可选: code_128_reader ean_reader ean_8_reader code_39_reader code_39_vin_reader codabar_reader upc_reader upc_e_reader i2of5_reader 2of5_reader code_93_reade Array ["code_128_reader"]
definition 调用摄像头清晰度。fasle 正常 true 高清 Boolean false
事件(Events)
事件名 说明 回调参数
success 检查到二维码并读取到数据是回调 二维码数据

案例演示

enter description here

enter description here

支持作者

支持作者

隐私、权限声明

1. 本插件需要申请的系统权限列表:

摄像头

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问