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

  • 18种女粉引流方法、效果、评估(引流wz粉)

    18种女粉引流方法、效果、评估(引流wz粉)

  • 苹果手机时间在哪里设置24小时(苹果手机时间在左侧)

    苹果手机时间在哪里设置24小时(苹果手机时间在左侧)

  • 抖音如何查看所有评论(抖音如何查看所有订单)

    抖音如何查看所有评论(抖音如何查看所有订单)

  • 苹果手机引导式访问密码忘了怎么办(苹果手机引导式访问没反应)

    苹果手机引导式访问密码忘了怎么办(苹果手机引导式访问没反应)

  • qq扩列为啥这么多的机器人(qq扩列为啥这么多小妹妹)

    qq扩列为啥这么多的机器人(qq扩列为啥这么多小妹妹)

  • psn是什么意思(原神绑定psn是什么意思)

    psn是什么意思(原神绑定psn是什么意思)

  • iphone7拆机触控id失效(7p触控id坏了怎么办)

    iphone7拆机触控id失效(7p触控id坏了怎么办)

  • 小米手机老跳出分享截屏(小米手机老跳出广告怎么关闭掉)

    小米手机老跳出分享截屏(小米手机老跳出广告怎么关闭掉)

  • 主板z和b什么区别(z主板跟b主板)

    主板z和b什么区别(z主板跟b主板)

  • 大哥大手机是哪一年在中国出现的(大哥大手机是哪一年)

    大哥大手机是哪一年在中国出现的(大哥大手机是哪一年)

  • 苹果手机发烫是电池原因吗(苹果手机发烫是不是电池坏了)

    苹果手机发烫是电池原因吗(苹果手机发烫是不是电池坏了)

  • 华为p40pro第一次充电充多长时间(华为p40pro第一次充电充多久)

    华为p40pro第一次充电充多长时间(华为p40pro第一次充电充多久)

  • 华为荣耀30和p40的区别(华为荣耀30和华为荣耀30青春版有什么区别)

    华为荣耀30和p40的区别(华为荣耀30和华为荣耀30青春版有什么区别)

  • windows7安全中心在哪里(windows7安全中心怎么添加信任)

    windows7安全中心在哪里(windows7安全中心怎么添加信任)

  • opporeno3是什么接口(opporeno3接口)

    opporeno3是什么接口(opporeno3接口)

  • 华为nova3微信深色模式如何设置(华为nova3e微信怎么设置深夜模式)

    华为nova3微信深色模式如何设置(华为nova3e微信怎么设置深夜模式)

  • 钉钉视频会议屏幕共享为什么没有声音(钉钉视频会议屏幕共享没有声音)

    钉钉视频会议屏幕共享为什么没有声音(钉钉视频会议屏幕共享没有声音)

  • 手机安装过的软件记录(手机安装过的软件怎么找回)

    手机安装过的软件记录(手机安装过的软件怎么找回)

  • 微信新表情包为什么消失了(微信表情包为什么叫sticker)

    微信新表情包为什么消失了(微信表情包为什么叫sticker)

  • 主板芯片组和主板什么关系(主板芯片组和主板型号)

    主板芯片组和主板什么关系(主板芯片组和主板型号)

  • 多媒体的特性包括(多媒体的特性主要包括)

    多媒体的特性包括(多媒体的特性主要包括)

  • 华硕是不是国产(华硕是不是国产的呀)

    华硕是不是国产(华硕是不是国产的呀)

  • 抖音保存到相册失败(抖音保存到相册怎么设置)

    抖音保存到相册失败(抖音保存到相册怎么设置)

  • 申请退款卖家不处理怎么办(申请退款卖家不处理还发货了)

    申请退款卖家不处理怎么办(申请退款卖家不处理还发货了)

  • 爱奇艺账号如何解封(爱奇艺账号如何共享给其他人)

    爱奇艺账号如何解封(爱奇艺账号如何共享给其他人)

  • macOS Big Sur如何升级 macOS11.0升级教程(苹果电脑macos big sur)

    macOS Big Sur如何升级 macOS11.0升级教程(苹果电脑macos big sur)

  • 印花税资本金项目如何缴纳
  • 企业向银行贷款属于融资吗
  • 代开运输发票会不会造成重复征税
  • 结转代扣社会保险费分录
  • 印花税技术服务合同按什么交
  • 现金流量表季度申报可以不填吗
  • 小规模旅行社差额征税的账务处理
  • 会计没签字出纳付款违法么
  • 发现账实不符,第一件事就是要干嘛?
  • 公司商标注册费用属于什么费用
  • 取得虚开增值税专用发票罪
  • 已经缴纳的税款可以撤回吗
  • 固定资产投资转化为gdp比例
  • 公司购入空调可以抵扣进项吗
  • 一般纳税人增值税优惠政策
  • 补充养老保险交200和500差别
  • 公办幼儿园食堂21项制度
  • 个体户在银行开户
  • 分公司银行开户需要章程吗
  • 文化事业建设费税率
  • 一张记账凭证写不下时,附件怎么写
  • 发生的费用可以直接计入主营业务成本吗
  • 冲减多计提的费用
  • 金税盘抄税报税清卡流程图
  • 继续教育专项附加扣除需要什么材料
  • windows11开始菜单怎么居中
  • 查补以前年度企业所得税的申报处理
  • win10点击网络属性没反应
  • 支付境外设计费合同备案流程
  • 企业确认坏账损失时的会计分录为
  • 付工程改造余款分录
  • vue父组件子组件
  • 用jsp实现用户登录验证
  • gfortran编译命令
  • 发票申请条件
  • 厂区租赁 法律规定
  • 利息补缴税款加收利息计算
  • 外购固定资产入账
  • MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
  • mysqlreport显示Com_中change_db占用比例高的问题的解决方法
  • 哪些发票是成品发票
  • 运输开票的税点是多少
  • 工程款多付了如何追回
  • 预存电费和后付费哪个好
  • 应收账款收不回来的情况说明
  • 税控盘服务费什么样的发票可以抵扣
  • 收款凭证和付款凭证是出纳人员收款、付款的依据
  • 为什么要用支票取钱
  • 两套账的会计被判刑吗
  • 下列sql server语句中出现语法错误的是
  • 怎么怎么恢复
  • Win10预览版镜像
  • centos安装ufw
  • win10如何添加蓝牙驱动
  • win7屏幕颜色不正常
  • win7系统的虚拟内存在哪里
  • 盗版win10可以用win10商店吗
  • 红帽linux6.0安装教程
  • centos 安装perl
  • windows网慢
  • win10以太网属性为空白怎么办
  • win10移动版微信uwp
  • linux设置静态
  • 狗刨教学视频新手入门
  • opengl绘制坐标轴
  • js class属性
  • jquery ztree api
  • 网页css加载失败
  • android开发技术介绍
  • 网管的功能
  • jquery用什么编写
  • unity 设置物体角度
  • javascriptz
  • activity的自定义流程
  • js类继承的几种方式
  • kraken框架
  • python之父推荐的书
  • 随申办如何缴纳社保
  • 医保断交一年怎么续交
  • 举报信如何投递
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设