vue3移动端摄像头实现扫描二维码功能

vue3移动端调用手机摄像头实现扫描二维码功能

  1. 需求:
    vue3+vant4 实现移动端网页调用手机摄像头实现扫描二维码,并返回二维码附带信息功能

  2. 效果图:
    在这里插入图片描述

  3. 实现方法
    采用vue3-qr-reader插件实现

    项目安装依赖:

    npm install --save vue3-qr-reader
    
        
        

      页面引入:

      import { QrStream } from 'vue3-qr-reader';
      export default defineComponent({
          components: {
              QrStream
          }
      })
      
          
          
      • 页面使用:

        <qr-stream @decode="onDecode" class="container">
        	<!--扫码识别框的颜色样式-->
           <div style="color: red;" class="contentInner"></div>
        </qr-stream>
        
              
              
        • >

          完整代码示例:

          <template>
              <div class="demo">
          		<van-nav-bar title="扫一扫" left-text="返回" left-arrow @click-left="onClickLeft" style="background-color: #081c33"  />
          		<div class="content">
          		    <qr-stream @decode="onDecode" class="container">
          		        <div style="color: red;" class="contentInner"></div>
          		    </qr-stream>
          		    <div class="bottomLight">
          		        <img src="@/assets/img/my/light.png" style="width:30px" />
          		        <p>轻触照亮</p>
          		    </div>
          		</div>
              </div>
          </template>
          <script lang="ts">
          import { defineComponent, ref, Ref, reactive, toRefs } from 'vue'
          import { QrStream} from 'vue3-qr-reader';
          export default defineComponent({
              name: 'Qrcode',
              components: {
                  QrStream
              },
              setup() {
                  const onClickLeft = () => history.back();
                  const onDecode = (data: any) => {
                      console.log(data);//二维码附带信息
                  }
                  return {
                      onDecode,
                      onClickLeft,
                  }
              }
          })
          </script>
          
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值