广告
返回顶部
首页 > 资讯 > 精选 >如何通过vue方式实现二维码扫码功能
  • 880
分享到

如何通过vue方式实现二维码扫码功能

2023-06-25 14:06:20 880人浏览 薄情痞子
摘要

这篇文章主要为大家展示了“如何通过Vue方式实现二维码扫码功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何通过vue方式实现二维码扫码功能”这篇文章吧。提示这个插件只能在https协议下才

这篇文章主要为大家展示了“如何通过Vue方式实现二维码扫码功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何通过vue方式实现二维码扫码功能”这篇文章吧。

提示

这个插件只能在https协议下才能访问,Http协议不好使,最好用vue2,vue3容易报错!!!!!

描述

通过vue的方式,实现扫码功能

参考文档:vue-qrcode-reader去官网–>官方文档

效果展示

如何通过vue方式实现二维码扫码功能

实现步骤:

步骤一(安装插件)

npm install --save vue-qrcode-reader

步骤二(创建组件)

因为可能多个页面都会用到,所以弄成了组件
(1)在src下面的components创建qrcode.vue
(2)代码实现

// qrcode.vue<template>  <div>      <!-- <p class="error">{{ error }}</p> -->      <!--错误信息-->      <!-- <p class="decode-result">          扫描结果:          <b>{{ result }}</b>      </p> -->      <!--扫描结果-->      <!-- <p @click="openCamera">打开相机</p>      <div v-show="show" class="cameraMessage">          <p @click="closeCamera">关闭相机</p>          <p @click="openFlash">打开手电筒</p>          <p @click="switchCamera">相机反转</p>      </div> -->      <qrcode-stream          v-show="qrcode"          :camera="camera"          :torch="torchActive"          @decode="onDecode"          @init="onInit"      >          <div>              <div class="qr-scanner">                  <div class="box">                      <div class="line"></div>                      <div class="angle"></div>                  </div>                  <div class="txt">                      将二维码/条码放入框内,即自动扫描                      <div class="myQrcode">我的二维码</div>                  </div>              </div>          </div>      </qrcode-stream>  </div></template><script>// 下载插件// cnpm install --save  vue-qrcode-reader// 引入import { QrcodeStream } from 'vue-qrcode-reader';export default {  // 注册  components: { QrcodeStream },  data() {      return {          result: '', // 扫码结果信息          error: '', // 错误信息          // show: false,          // qrcode: false,          qrcode: true,          torchActive: false,          camera: 'front',      };  },  methods: {      onDecode(result) {          console.log(result);          this.result = result;      },      async onInit(promise) {          const { capabilities } = await promise;          const TORCH_IS_SUPPORTED = !!capabilities.torch;          try {              await promise;          } catch (error) {              if (error.name === 'NotAllowedError') {                  this.error = 'ERROR: 您需要授予相机访问权限';              } else if (error.name === 'NotFoundError') {                  this.error = 'ERROR: 这个设备上没有摄像头';              } else if (error.name === 'NotSupportedError') {                  this.error = 'ERROR: 所需的安全上下文(HTTPS、本地主机)';              } else if (error.name === 'NotReadableError') {                  this.error = 'ERROR: 相机被占用';              } else if (error.name === 'OverconstrainedError') {                  this.error = 'ERROR: 安装摄像头不合适';              } else if (error.name === 'StreamapiNotSupportedError') {                  this.error = 'ERROR: 此浏览器不支持流API';              }          }      },      // 打开相机      // openCamera() {      //     this.camera = 'rear'      //     this.qrcode = true      //     this.show = true      // },      // 关闭相机      // closeCamera() {      //     this.camera = 'off'      //     this.qrcode = false      //     this.show = false      // },      // 打开手电筒      // openFlash() {      //     switch (this.torchActive) {      //         case true:      //             this.torchActive = false      //             break      //         case false:      //             this.torchActive = true      //             break      //     }      // },      // 相机反转      // switchCamera() {      //     // console.log(this.camera);      //     switch (this.camera) {      //         case 'front':      //             this.camera = 'rear'      //             console.log(this.camera)      //             break      //         case 'rear':      //             this.camera = 'front'      //             console.log(this.camera)      //             break      //     }      // }  },};</script><style scoped>.error {  font-weight: bold;  color: red;}.cameraMessage {  width: 100%;  height: 60px;}.qr-scanner {  background-image: linear-gradient(          0deg,          transparent 24%,          rgba(32, 255, 77, 0.1) 25%,          rgba(32, 255, 77, 0.1) 26%,          transparent 27%,          transparent 74%,          rgba(32, 255, 77, 0.1) 75%,          rgba(32, 255, 77, 0.1) 76%,          transparent 77%,          transparent      ),      linear-gradient(          90deg,          transparent 24%,          rgba(32, 255, 77, 0.1) 25%,          rgba(32, 255, 77, 0.1) 26%,          transparent 27%,          transparent 74%,          rgba(32, 255, 77, 0.1) 75%,          rgba(32, 255, 77, 0.1) 76%,          transparent 77%,          transparent      );  background-size: 3rem 3rem;  background-position: -1rem -1rem;  width: 100%;    height: 100vh;    position: relative;  background-color: #1110;  }.qr-scanner .box {  width: 213px;  height: 213px;  position: absolute;  left: 50%;  top: 50%;  transfORM: translate(-50%, -50%);  overflow: hidden;  border: 0.1rem solid rgba(0, 255, 51, 0.2);  }.qr-scanner .txt {  width: 100%;  height: 35px;  line-height: 35px;  font-size: 14px;  text-align: center;    margin: 0 auto;  position: absolute;  top: 70%;  left: 0;}.qr-scanner .myQrcode {  text-align: center;  color: #00ae10;}.qr-scanner .line {  height: calc(100% - 2px);  width: 100%;  background: linear-gradient(180deg, rgba(0, 255, 51, 0) 43%, #00ff33 211%);  border-bottom: 3px solid #00ff33;  transform: translateY(-100%);  animation: radar-beam 2s infinite alternate;  animation-timing-function: cubic-bezier(0.53, 0, 0.43, 0.99);  animation-delay: 1.4s;}.qr-scanner .box:after,.qr-scanner .box:before,.qr-scanner .angle:after,.qr-scanner .angle:before {  content: '';  display: block;  position: absolute;  width: 3vw;  height: 3vw;  border: 0.2rem solid transparent;}.qr-scanner .box:after,.qr-scanner .box:before {  top: 0;  border-top-color: #00ff33;}.qr-scanner .angle:after,.qr-scanner .angle:before {  bottom: 0;  border-bottom-color: #00ff33;}.qr-scanner .box:before,.qr-scanner .angle:before {  left: 0;  border-left-color: #00ff33;}.qr-scanner .box:after,.qr-scanner .angle:after {  right: 0;  border-right-color: #00ff33;}@keyframes radar-beam {  0% {      transform: translateY(-100%);  }  100% {      transform: translateY(0);  }}</style>

(3)在需要扫码的页面引入

// import qrcode from '@/components/qrcode.vue';

(4)注册组件

// components: {        'vue-qrcode': qrcode,    },

(5)使用组件

// 在需要展示二维码的地方进行渲染<vue-qrcode />//如果上面这个不好使,可以用下面这个<vue-qrcode></vue-qrcode>

以上是“如何通过vue方式实现二维码扫码功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何通过vue方式实现二维码扫码功能

本文链接: https://www.lsjlt.com/news/305541.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 通过vue方式实现二维码扫码功能
    提示 这个插件只能在https协议下才能访问,http协议不好使,最好用vue2,vue3容易报错!!!!! 描述 通过vue的方式,实现扫码功能 参考文档:vue-qrcode-r...
    99+
    2022-11-12
  • 如何通过vue方式实现二维码扫码功能
    这篇文章主要为大家展示了“如何通过vue方式实现二维码扫码功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何通过vue方式实现二维码扫码功能”这篇文章吧。提示这个插件只能在https协议下才...
    99+
    2023-06-25
  • vue实现二维码扫码功能(带样式)
    需求: 利用vue实现二维码扫描; 插件: QRCodeReader; 插件下载 npm install --save vue-qrcode-reader 注意: 需要在https协...
    99+
    2022-11-12
  • Flutter实现扫二维码功能
    本文实例为大家分享了Flutter实现扫二维码功能的具体代码,供大家参考,具体内容如下 首先在pubspec.yaml中添加: dependencies:   qrscan: ^0....
    99+
    2022-11-13
  • Flutter如何实现扫二维码功能
    这篇文章主要为大家展示了“Flutter如何实现扫二维码功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flutter如何实现扫二维码功能”这篇文章吧。具体内容如下首先在pubspec.yam...
    99+
    2023-06-29
  • jQuery如何实现二维码扫描功能
    这篇文章主要介绍了jQuery如何实现二维码扫描功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。二维码:利用图形模拟二进制0、1的概念,达...
    99+
    2022-10-19
  • 如何使用HTML5实现二维码扫描功能
    本篇内容介绍了“如何使用HTML5实现二维码扫描功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!   ...
    99+
    2022-10-19
  • iOS 二维码扫描相关功能实现
    写在前面 最近项目要实现相机扫描二维码功能,具体要求:1、扫描框 2、扫描动画 3、相册识别二维码 4、声音反馈。 记得之前用过三方库做过类似功能,但是也是知其然不知其所以然,然后今...
    99+
    2022-06-04
    iOS 二维码 扫描
  • flutter开发实战-flutter二维码条形码扫一扫功能实现
    flutter开发实战-flutter二维码条形码扫一扫功能实现 flutter开发实战-flutter二维码扫一扫功能实现,要使用到摄像头的原生的功能,使用的是插件:scan 效果图如下 一、扫一...
    99+
    2023-09-02
    flutter 扫一扫 二维码 条形码
  • Android中怎么实现二维码扫描功能
    这期内容当中小编将会给大家带来有关Android中怎么实现二维码扫描功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 开发准备1.1 android studio 安装&emsp;&e...
    99+
    2023-06-04
  • 基于barcodescanner实现Android二维码扫描功能
    二维码扫描现在成为一种非常常见的APP基础功能,附录1是我曾经用过的二维码/条形码扫描开源项目,但是附录1的项目集成和二次定制比较繁琐和麻烦,因此可以发现不少人基于ZXing做了二次的开发,并贡献出这些项目,发到github上,其中barc...
    99+
    2023-05-30
    android 二维码 barcodescanner
  • css如何实现二维码扫码框
    这篇文章主要介绍css如何实现二维码扫码框,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现效果:代码如下:html:<div class="img-box"> &...
    99+
    2023-06-08
  • H5如何制作二维码扫描功能
    这篇文章主要为大家展示了“H5如何制作二维码扫描功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5如何制作二维码扫描功能”这篇文章吧。引子: 最近公司项目有...
    99+
    2022-10-19
  • 如何使用Java对象实现二维码扫描功能?
    在现代社会中,二维码已经成为了一种非常重要的信息传递方式。二维码的使用范围非常广泛,包括支付、物流、广告等多个领域。因此,如何使用Java对象实现二维码扫描功能是非常重要的。本文将介绍如何使用Java对象实现二维码扫描功能,并附带演示代码。...
    99+
    2023-09-18
    二维码 开发技术 对象
  • Angular.js如何实现扫码枪扫码并生成二维码
    这篇文章主要讲解了“Angular.js如何实现扫码枪扫码并生成二维码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Angular.js如何实现扫码枪扫码并生成二维码”吧!扫码枪扫码这个比较...
    99+
    2023-07-05
  • Android | 教你如何开发扫二维码功能
    目录前言官网的Demo和Sample代码体验1 开发准备1.1 android studio 安装1.2 在项目级gradle里添加华为mave...
    99+
    2022-06-06
    二维 二维码 Android
  • PHP教程:如何在容器中实现二维码扫描功能?
    二维码扫描功能已经成为现代社会中非常常见的一种功能,它的应用场景也越来越广泛。而在开发中,我们经常需要在应用程序中加入二维码扫描功能。本文将介绍如何在容器中实现二维码扫描功能。 一、准备工作 在开始之前,我们需要准备一些东西: 安装 D...
    99+
    2023-07-09
    教程 二维码 容器
  • 使用微信小程序实现二维码扫描功能
    使用微信小程序实现二维码扫描功能随着移动互联网的快速发展,二维码已经成为了一种非常方便的信息交互方式。微信小程序作为一种新的应用形式,也提供了二维码扫描功能。本文将介绍如何使用微信小程序实现二维码扫描,并提供具体的代码示例。一、准备工作在开...
    99+
    2023-11-21
    二维码 微信小程序 扫描
  • PHP开发点餐系统的二维码扫码功能实现方法是什么?
    PHP开发点餐系统的二维码扫码功能实现方法是什么?随着移动支付的普及,在餐饮行业中,二维码扫码点餐的方式越来越受欢迎。利用二维码扫码点餐,不仅能提高用户点餐的效率,还能减少人员成本,提升客户体验。那么在PHP开发点餐系统中,如何实现二维码扫...
    99+
    2023-11-01
    PHP开发 点餐系统 二维码扫码
  • Go 语言中如何使用接口实现二维码扫描功能?
    随着移动互联网的快速发展,二维码已经成为了一种不可或缺的技术。而在开发过程中,如何快速、高效地实现二维码扫描功能是一个关键问题。本文将介绍如何使用 Go 语言中的接口实现二维码扫描功能,帮助开发者快速实现这一功能。 一、了解二维码扫描的原...
    99+
    2023-08-27
    二维码 索引 接口
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作