Vue组件-调用摄像头识别二维码

本文介绍了如何在Vue项目中利用zxing库调用摄像头进行二维码识别,包括所需包的安装和代码实现。
摘要由CSDN通过智能技术生成

需要下载的包

  • @zxing/library@0.18.4
  • element-ui

可识别类型

可识别二维码和大部分条形码,具体请查看zxing

代码文本

/**
    条码扫描组件
    使用示例:

    -- 引入
    import BarScan from 'path/to/这个文件'

    -- 定义回调事件,回调中返回扫描到的文本
    function scaned(scanText){...}

    -- 使用,通过@scanHandle传入回调
    <BarScan @scanHandle="scaned"></BarScan>

    -- 自动提交autoCommit,默认为false。设置为true时,扫描相同的编码次数达到指定次数时,调用回调方法
    <BarScan @scanHandle="scaned" :autoCommit="true"></BarScan>

    -- 设置指定次数dupCount,默认为2。当相同编码出现达到此次数时,根据autoCommit进行相应操作
    <BarScan @scanHandle="scaned" :dupCount="3"></BarScan>

    -- 关闭摄像头按钮会调用@scanHandle方法,返回值为空字符串

 */

 <template>
    <div class="bar-scan" v-loading.fullscreen.lock="true">
        <div class="flex-div">
            <video src=""></video>

            <div class="flex-line">
                <el-button :disabled="VideoAllInfo.length < 2" @click="cgOrInitVideo">切换摄像头</el-button>
                <el-button @click="scanHandle('')">关闭摄像头</el-button>
                <el-button @click="scanType = 'one'">条形码扫描</el-button>
                <el-button @click="scanType = 'two'">二维码扫描</el-button>
            </div>

            <!-- 显示扫描到的信息 -->
            <div class="scan-info">
                <span class="title">扫描结果</span>
                <span>请点击下方正确的扫描结果</span>
                <div v-for="item in scanList" :key="item.text" :class="{'dup' : item.dup >= dupCount}" @click="scanHandle(item.text)">{
  {item.text}}</div>
            </div>
        </div>

        <!-- 红色边框,用于显示扫描的区域 -->
        <div :style&#
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值