位置: 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 计算属性)

  • 微信营销前路何在?(微信营销的出路)

    微信营销前路何在?(微信营销的出路)

  • qq在哪设置声纹气泡(qq在哪设置声音)

    qq在哪设置声纹气泡(qq在哪设置声音)

  • 苹果11没有电池比例(苹果11没有电池百分比开关功能)

    苹果11没有电池比例(苹果11没有电池百分比开关功能)

  • mate30无线投屏电视没显示(mate30怎么无线投屏)

    mate30无线投屏电视没显示(mate30怎么无线投屏)

  • 手机怎么截图只截一小块(手机怎么截图只截一小块软件)

    手机怎么截图只截一小块(手机怎么截图只截一小块软件)

  • 组装笔记本电脑需要哪些配件(组装笔记本电脑好还是原装好)

    组装笔记本电脑需要哪些配件(组装笔记本电脑好还是原装好)

  • 抖音号多久可以改一次(抖音号多久可以注销成功)

    抖音号多久可以改一次(抖音号多久可以注销成功)

  • d频段和f频段的是多少(d频段和f频段的关系)

    d频段和f频段的是多少(d频段和f频段的关系)

  • iphone11屏幕显示不全(iPhone11屏幕显示尺寸)

    iphone11屏幕显示不全(iPhone11屏幕显示尺寸)

  • 苹果手机wifi斜杠变灰(苹果手机wifi斜杠打不开,蓝牙也打不开)

    苹果手机wifi斜杠变灰(苹果手机wifi斜杠打不开,蓝牙也打不开)

  • 操作不成功无法添加朋友是怎么回事(操作不成功无法添加好友怎么回事)

    操作不成功无法添加朋友是怎么回事(操作不成功无法添加好友怎么回事)

  • 勿扰模式有什么用(勿扰模式有什么特点)

    勿扰模式有什么用(勿扰模式有什么特点)

  • ipadmini5用18w还是30w快充(ipadmini5能用18w充电器吗)

    ipadmini5用18w还是30w快充(ipadmini5能用18w充电器吗)

  • ip65与ip67的区别(ip65与ip66的区别)

    ip65与ip67的区别(ip65与ip66的区别)

  • 5g手机一定要5g套餐吗(5g手机一定要用5g网络吗)

    5g手机一定要5g套餐吗(5g手机一定要用5g网络吗)

  • flaal10是什么型号(FLAAL10是什么型号)

    flaal10是什么型号(FLAAL10是什么型号)

  • 滴滴打车快车可以坐几个人(滴滴打车快车可以坐四个人吗)

    滴滴打车快车可以坐几个人(滴滴打车快车可以坐四个人吗)

  • 书旗小说怎么关闭自动续费(书旗小说怎么关闭自动续费功能)

    书旗小说怎么关闭自动续费(书旗小说怎么关闭自动续费功能)

  • vivo手机显示hd收费吗(vivo手机显示hd什么意思)

    vivo手机显示hd收费吗(vivo手机显示hd什么意思)

  • 流光快门一般拍多久(流光快门拍摄技巧)

    流光快门一般拍多久(流光快门拍摄技巧)

  • ios13黑暗模式怎么开启(iphone13黑暗模式)

    ios13黑暗模式怎么开启(iphone13黑暗模式)

  • 腾讯视频会员怎么共享账号(腾讯视频会员怎么买)

    腾讯视频会员怎么共享账号(腾讯视频会员怎么买)

  • type-c数据线通用吗(type c数据线都一样吗)

    type-c数据线通用吗(type c数据线都一样吗)

  • 抖音视频保存相册失败(抖音视频保存相册不完整)

    抖音视频保存相册失败(抖音视频保存相册不完整)

  • 两处取得工资的成语
  • 土地使用权利
  • 中药和中药饮片效果一样吗
  • 发票怎么看开票最大额
  • 分公司亏损总公司怎么办
  • 客票服务主要包括
  • 社保漏缴1个月怎么补缴
  • 收到税务局附加税退税税款的分录
  • 委托加工物资属于在产品吗
  • 商业银行的下列哪些行为违反了法律规定?给存款大户
  • 上交的项目评审费如何做财务处理呢?
  • 退租未摊销的装修费会计分录怎么写
  • 代扣代缴的增值税
  • 股权成本计算公式rd
  • 补提上个月折旧会计分录
  • 租赁固定资产折旧计入
  • 往来形式的投资款是借款吗
  • 预缴企业所得税是含税数还是不含税
  • 购买预付卡账务处理
  • 发放的工资比计提的多怎么办
  • Win10打开浏览器后自动弹出查找框
  • 购进商品售价金额核算
  • PHP:oci_set_module_name()的用法_Oracle函数
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 政府性基金收入是政府非税收入吗
  • linux怎么启动.sh文件
  • 废旧物资处理计入什么科目
  • 文竹发黄怎么挽救?
  • 经营租赁的房屋计提折旧吗
  • 年营业收入平均增长
  • cannot read properties null
  • framework在哪看
  • 增值税发票半年能开吗
  • vue运行报错怎么解决
  • 用人单位垫付生育津贴怎么算
  • 实收资本(或股本)是什么意思
  • 公司收到财政补贴款的会计分录
  • 以我为主题画一幅画
  • 2023前端面试题目
  • php curl_init
  • 材料明细帐
  • 微信公众号认证300元每年都要吗
  • 汇兑损益会计处理方法
  • 公司捐款怎样抵扣
  • mysql的查询缓存与redis的区别
  • 伤残补助金和工资一样吗
  • 长期股权投资投资损益的确认
  • 综合所得减除费用标准为60000.00元/年
  • 有关预收款的说法
  • 金蝶财务软件怎么冲销费用
  • 置换他行按揭贷款
  • 公司多交的社保费法律规定需要退还吗
  • 行政单位怎样核销坏账
  • 小规模减免的增值税
  • 关于利润分配科目的表述正确的有
  • 收据能开发票吗
  • 简易征收能抵扣进项税吗
  • 营改增账务处理实例
  • 养老服务机构有住房租赁贷款需求吗
  • 哪些人必须办理纳税登记
  • windows xp正式退休
  • win7如何新建用户
  • win8系统怎么设置
  • win10联想笔记本还原系统
  • 软raid怎么组
  • linux系统中怎么创建目录
  • 电脑死机常见原因分析
  • 如何设置windows hello
  • ghost10008解决办法
  • linux检查文件内容
  • 翻转动画怎么做
  • cocos jsc
  • Android studio配置环境
  • dos的for用法
  • 小葵花妈妈课堂开课了是什么药
  • 批处理中copy怎么用
  • python入门笔记
  • 在javascript中如何定义并调用函数
  • Android 使用log4j2
  • 江苏国家税务局电子税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设