位置: IT常识 - 正文

vue2移动端使用vue-qrcode-reader实现扫一扫功能(vue 移动端)

编辑:rootadmin
vue2移动端使用vue-qrcode-reader实现扫一扫功能

推荐整理分享vue2移动端使用vue-qrcode-reader实现扫一扫功能(vue 移动端),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:基于vue的移动端怎么开发,vue移动端项目实例,vue3移动端ui,vue如何做移动端适配,vuetify 移动端,vue如何做移动端适配,基于vue的移动端怎么开发,vue如何做移动端适配,内容如对您有帮助,希望把文章链接给更多的朋友!

移动端实现扫一扫   扫码功能

第一种:如果是用uniapp开发  可以直接使用uni的语法 并且兼容多端

第二种:如果是开发浏览器的网页,基于微信的话,也可以用微信的weixin-js-sdk

        具体流程参考官网:概述 | 微信开放文档

第三种:用第三方vue-qrcode-reader实现扫一扫功能,

        详细流程参考官网:Simple | Vue Qrcode Reader

vue2移动端使用vue-qrcode-reader实现扫一扫功能(vue 移动端)

以下内容为用vue-qrcode-reader实现扫一扫功能步骤

1.下载vue-qrcode-reader依赖

//   npm 下载

npm install --save vue-qecode-reader

//   cnpm 下载

cnpm install --save vue-qrcode-reader

 2.此次流程是在A页面添加扫一扫button,然后点击跳转到B页面,然后扫一扫写在B页面,进入B页面初始化,然后同意使用相机,在扫描到二维码后携带扫到的内容跳转到A页面

代码如下

<template> <div class="saoma"> <qrcode-stream @decode="onDecode" @init="onInit" style="height: 100vh;width:100vw"> <div> <div class="qr-scanner"> <div class="box"> <div class="line"></div> <div class="angle"></div> </div> </div> </div> </qrcode-stream> </div></template><script> import { QrcodeStream } from 'vue-qrcode-reader'; export default { components: { QrcodeStream }, data() { return { result: '', // 扫码结果信息 error: '' // 错误信息 } }, methods: { onDecode(result) { if(result){ this.$router.push({ path:'/', query: { code:result, } }) } }, async onInit(promise) { try { await promise } catch (error) { if (error.name === 'NotAllowedError') { window.alert('您需要授予相机访问权限') this.$router.push({path:'/'}) } else if (error.name === 'NotFoundError') { this.$router.push({path:'/'}) window.alert('这个设备上没有摄像头') } else if (error.name === 'NotSupportedError') { this.$router.push({path:'/'}) window.alert('所需的安全上下文(HTTPS、本地主机)') } else if (error.name === 'NotReadableError') { this.$router.push({path:'/'}) window.alert('相机被占用') } else if (error.name === 'OverconstrainedError') { this.$router.push({path:'/'}) window.alert('安装摄像头不合适') } else if (error.name === 'StreamApiNotSupportedError') { this.$router.push({path:'/'}) window.alert('此浏览器不支持流API') } } }, } }</script><style scoped> .saoma { width: 100vw; height: 100vh; } .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: 100%; */ height: 100vh; position: relative; background-color: #1110; /* background-color: #111; */ } .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); /* background: url('') no-repeat center center; */ } .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>

以上内容即为使用vue-qrcode-reader实现扫一扫功能的流程

可以直接复制粘贴使用哦

如果此文章对您有用,请留下您宝贵的一键三连,给作者一点鼓励

本文链接地址:https://www.jiuchutong.com/zhishi/288937.html 转载请保留说明!

上一篇:nvidia显卡驱动、cuda、cudnn、tensorflow对应版本(nvidia显卡驱动怎么安装)

下一篇:vue 计算属性未重新计算 / computed 未触发 / computed 原理&源码分析(vue3 计算属性)

  • 博客怎样进行推广(博客怎样进行推销)

    博客怎样进行推广(博客怎样进行推销)

  • apple watch蓝色框怎么去掉(applewatch蓝色框框怎么用)

    apple watch蓝色框怎么去掉(applewatch蓝色框框怎么用)

  • 新冠疫苗预防接种凭证哪里查(新冠疫苗预防接种实施方案)

    新冠疫苗预防接种凭证哪里查(新冠疫苗预防接种实施方案)

  • 华为nova4e是麒麟多少处理器(华为nova4是麒麟970处理器吗)

    华为nova4e是麒麟多少处理器(华为nova4是麒麟970处理器吗)

  • 华为手机微信页面怎么变成黑色(华为手机微信页面变小)

    华为手机微信页面怎么变成黑色(华为手机微信页面变小)

  • 蓝牙耳机说话声音小(蓝牙耳机说话声音小对方听不见)

    蓝牙耳机说话声音小(蓝牙耳机说话声音小对方听不见)

  • 苹果icloud验证失败怎么回事(苹果icloud验证失败连接服务器失败也无法注销)

    苹果icloud验证失败怎么回事(苹果icloud验证失败连接服务器失败也无法注销)

  • 突然收到腾讯科技验证码短信(突然收到腾讯科技微信验证码怎么回事)

    突然收到腾讯科技验证码短信(突然收到腾讯科技微信验证码怎么回事)

  • 淘宝查询次数多是什么意思(淘宝查询次数多会封号吗)

    淘宝查询次数多是什么意思(淘宝查询次数多会封号吗)

  • 罗兰ex可以连接蓝牙吗?(罗兰ex连接声卡)

    罗兰ex可以连接蓝牙吗?(罗兰ex连接声卡)

  • 快手是哪年正式上线的(快手是哪年开始的?)

    快手是哪年正式上线的(快手是哪年开始的?)

  • 苹果微信听筒模式怎么切换到扬声器(苹果微信 听筒)

    苹果微信听筒模式怎么切换到扬声器(苹果微信 听筒)

  • 电脑家庭版和专业版有什么区别(电脑家庭版和专业版在硬件上有区别吗)

    电脑家庭版和专业版有什么区别(电脑家庭版和专业版在硬件上有区别吗)

  • 小米手机怎样快速充电(小米手机怎样快速录屏)

    小米手机怎样快速充电(小米手机怎样快速录屏)

  • 华为jkm一tloo什么型号(华为jkm-tl00)

    华为jkm一tloo什么型号(华为jkm-tl00)

  • ps外发光怎么做(ps制作外发光效果)

    ps外发光怎么做(ps制作外发光效果)

  • word右边竖线怎么去掉(word右侧一条竖着黑线怎么去除)

    word右边竖线怎么去掉(word右侧一条竖着黑线怎么去除)

  • 如何解除表格公式(怎么解除表格中的公式)

    如何解除表格公式(怎么解除表格中的公式)

  • 苹果手机上方不显示时间和电池了(苹果手机上方不显示蓝牙开启,怎么设置)

    苹果手机上方不显示时间和电池了(苹果手机上方不显示蓝牙开启,怎么设置)

  • 面容识别失灵(面容识别不灵)

    面容识别失灵(面容识别不灵)

  • 如何选择高质量app(如何选择高质量的隐形车衣?龙膜汽车膜实力守护爱车!)

    如何选择高质量app(如何选择高质量的隐形车衣?龙膜汽车膜实力守护爱车!)

  • 基于 Spring MVC + MyBits + Maven(基于springboot的毕设)

    基于 Spring MVC + MyBits + Maven(基于springboot的毕设)

  • 如何使用vue-cli来搭建vue项目?详细步骤跟着我来吧!(如何使用rank函数排名)

    如何使用vue-cli来搭建vue项目?详细步骤跟着我来吧!(如何使用rank函数排名)

  • 个体工商户定期定额征收个人所得税
  • 新个税年终奖计算公式
  • 分包抵扣
  • 法人可以是办税人和发票领购人吗
  • 采购部差旅费会计分录怎么做
  • 未达起征点销售额是含税还是不含税
  • 利润表中财务费用是负数怎么算营业利润
  • 增值税加计扣除账务处理
  • 担保人的损失
  • 核定征收企业注销后安全吗
  • 会计凭证保管的含义及要求
  • 应付账款是负数怎么回事
  • 免抵退分录怎么做
  • 推广和业务
  • 没办税务登记公示怎么办
  • 增值税税控系统的税务处理
  • 少扣个税多付工资违法吗
  • 科研费收入如何入账?
  • 文件夹如何更改图标
  • 现金流量表的编制方法
  • php匹配邮箱
  • 建安营改增时间
  • 结转损益类收入账户的余额会计分录
  • url是什么软件
  • php流程引擎
  • 网络层IP协议的配套协议有哪些
  • 发行债券的会计分录摊销
  • php7.2编译安装
  • php文件如何使用
  • php操作oracle
  • ai复制命令
  • openapi官网
  • Win11 Build 25330 预览版今日更新: 优化 Surface Dial 设置页面
  • 帝国cms仿站工具
  • 冲减多计提的工资摘要怎么写
  • 诉讼代理费计入事业单位什么科目
  • 应收的货款
  • 进项税抵增值税
  • python字符串的符号
  • rhel6安装教程
  • 分公司负责人如何开展工作的
  • 个人所得税又是什么税种
  • 一般纳税人预收租金增值税
  • 公司涉及研发房怎么办
  • 临时工工资无发票个税怎么申报
  • 硕士研究生个税专项扣除
  • 收到现金怎么做凭证
  • 增值税开票系统怎么改开票人名字信息
  • 暂估未取得发票汇缴纳税调增怎么填
  • 无形资产及其他资产包括哪些科目
  • 小规模收入不超过多少不用交税
  • 账务处理有哪几种
  • 旅行社代订机票发票报销
  • 无形资产减值准备借贷
  • 会计净资产计算公式
  • 会计建账的内容
  • 开红字发票后再开蓝字发票如何入账
  • win7安装windows无法安装所需的文件请确保
  • windows隐藏文件夹开启
  • 配置windows server essentials出错
  • centos7如何添加永久静态路由
  • 怎么快速判断哪些角是第几象限
  • win7自带的多媒体播放程序是什么
  • win10升级后无法进入系统一直重启
  • 苹果笔记本安装win10
  • win7系统怎么禁用win键
  • Win10系统如何打开任务管理器
  • 体验Win8灵活分屏贴靠功能图文介绍
  • Android setVisibility的总结~
  • 炉石传说代码怎么导入
  • javascript数据结构与算法第三版
  • linux系统下hosts文件详解及配置
  • 怎么设置网页就用指定浏览器
  • python可变参数和不可变参数
  • jQuery使用$.ajax提交表单完整实例
  • 猫的喵喵
  • javascript如何学
  • python基础教程入门
  • 怎么查了?
  • 豪车消费税的征税范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设