Vue3 扫描二维码

记录下vue3的扫描二维码功能开发(摄像头扫描,二维码上传文件扫描)

1. 安装vue3-qr-reader插件

 npm i --save vue3-qr-reader
 或
 yarn add vue3-qr-reader

2.导入并注册QR解码器

全局导入

// globally
import { createApp } from 'vue';
import App from './App.vue'
import QrReader from 'vue3-qr-reader';
const app = createApp(App);
app.use(QrReader);
app.mount('#app')

// Locally
import { QrStream, QrCapture, QrDropzone } from 'vue3-qr-reader';
export default {
  components: {
    QrStream,
    QrCapture,
    QrDropzone
  },
};

单组件导入:

import { QrStream, QrCapture, QrDropzone } from 'vue3-qr-reader'

export default defineComponent({
  components: { QrStream,QrCapture,QrDropzone },
  name: 'QrStreamExample'
})

二者选一即可

3.代码示例

单组件引入代码示例:

<template>
 
    <div class="content">
	   <qr-stream @decode="onDecode" class="mb"> //摄像头扫码识别
	    <div style="color: red;" class="frame"></div>
	  </qr-stream>
	  // <qr-capture @decode="onDecode" class="mb"> //图片上传二维码识别
	  //  <div style="color: red;" class="frame"></div>
	  //</qr-capture>
	 
       <span>将二维码放入框内,即可自动扫描</span>
        {{data}}
    </div>
 
</template>
<script>
import { defineComponent, reactive, toRefs } from 'vue'
import { QrStream, QrCapture, QrDropzone } from 'vue3-qr-reader'

export default defineComponent({
  components: { QrStream,QrCapture,QrDropzone },
  name: 'QrStreamExample',
  setup() {
    const state = reactive({
      data: null
    })
    function onDecode(data) {
      state.data = data
    }
    return {
      ...toRefs(state),
      onDecode
    }
  }
})
</script>

全局引入示例:

<qr-stream @decode="onDecode" class="mb">  //扫码识别
    <div style="color: red;" class="frame"></div> //扫码识别框的颜色、样式
  </qr-stream>
//<qr-capture @decode="onDecode" class="mb"></qr-capture> //上传图片二维码识别
<div class="result">
  Result: {{data}}
</div>
export default defineComponent({
  name: 'QrCaptureExample',
  components: {
    QrCapture
  },
  setup() {
    const state = reactive({
      data: null
    })
    function onDecode(data) {
      state.data = data
    }
    return {
      ...toRefs(state),
      onDecode
    }
  }
});

大致用的到的就这两种,扫码和图片二维码识别 ,具体跟各位功能组合。

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值