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

  • 抖音怎么查看谁收藏了我的作品(抖音怎么查看谁取关我了)

    抖音怎么查看谁收藏了我的作品(抖音怎么查看谁取关我了)

  • ios15小组件怎么换照片(ios15小组件怎么调整大小)

    ios15小组件怎么换照片(ios15小组件怎么调整大小)

  • 华为nova5i有指关节截屏吗(华为nova5指纹解锁灯怎么关)

    华为nova5i有指关节截屏吗(华为nova5指纹解锁灯怎么关)

  • 手机淘宝触屏版怎么关闭(手机淘宝触屏版APP下载)

    手机淘宝触屏版怎么关闭(手机淘宝触屏版APP下载)

  • 优酷会员一个月是从什么时间到什么时间(优酷会员一个月怎么开通不了)

    优酷会员一个月是从什么时间到什么时间(优酷会员一个月怎么开通不了)

  • iphone11屏幕失灵乱跳(iphone11屏幕失灵怎么强制关机)

    iphone11屏幕失灵乱跳(iphone11屏幕失灵怎么强制关机)

  • i52320配什么显卡(i52320配什么显卡最好)

    i52320配什么显卡(i52320配什么显卡最好)

  • 苹果11进水后多久可以充电(苹果11进水多久后有影响)

    苹果11进水后多久可以充电(苹果11进水多久后有影响)

  • 京东联盟pid是什么(京东联盟pld在哪)

    京东联盟pid是什么(京东联盟pld在哪)

  • 可以用一个手机号注册两个微信吗(可以用一个手机号注册两个抖音账号吗)

    可以用一个手机号注册两个微信吗(可以用一个手机号注册两个抖音账号吗)

  • 在excel中文本型数据默认的对齐方式是(在Excel中文本型数据包括)

    在excel中文本型数据默认的对齐方式是(在Excel中文本型数据包括)

  • 照片太多占内存怎么办(照片太多占内存吗会影响网速吗)

    照片太多占内存怎么办(照片太多占内存吗会影响网速吗)

  • ipad可以用动态壁纸吗(ipad能用动态壁纸么)

    ipad可以用动态壁纸吗(ipad能用动态壁纸么)

  • 探探喜欢往右还是左划(探探喜欢往哪边划)

    探探喜欢往右还是左划(探探喜欢往哪边划)

  • word角标数字怎么打(word数字脚标)

    word角标数字怎么打(word数字脚标)

  • 鲁大师cpu温度90多度(鲁大师cpu温度99度正常吗)

    鲁大师cpu温度90多度(鲁大师cpu温度99度正常吗)

  • 支付管理在哪里(苹果手机微信支付管理在哪里)

    支付管理在哪里(苹果手机微信支付管理在哪里)

  • win10需要激活吗(win11退回win10需要激活吗)

    win10需要激活吗(win11退回win10需要激活吗)

  • vivox7电池在哪里设置(vivox7手机电池在哪里)

    vivox7电池在哪里设置(vivox7手机电池在哪里)

  • wetool会让微信封号吗(wetool会让微信封号吗2022)

    wetool会让微信封号吗(wetool会让微信封号吗2022)

  • 为什么发的抖音别人看不到(为什么发的抖音突然间消失了)

    为什么发的抖音别人看不到(为什么发的抖音突然间消失了)

  • QQ空间如何置顶说说(qq空间如何置顶说说)

    QQ空间如何置顶说说(qq空间如何置顶说说)

  • 系统之家装机大师U盘启动怎么安装Win11系统?(系统之家装机可靠吗)

    系统之家装机大师U盘启动怎么安装Win11系统?(系统之家装机可靠吗)

  • 如何自定义win10通知中心的快捷按钮(如何自定义win10开机音乐)

    如何自定义win10通知中心的快捷按钮(如何自定义win10开机音乐)

  • Win10累积更新补丁KB5007186推送,2004 版本即将停止支持(附下载)(win10 累积更新)

    Win10累积更新补丁KB5007186推送,2004 版本即将停止支持(附下载)(win10 累积更新)

  • 海康工业相机 C# 开发示例(海康工业相机彩色改黑白设置)

    海康工业相机 C# 开发示例(海康工业相机彩色改黑白设置)

  • 蒙塔尔巴诺埃利科纳,意大利西西里岛 (© Antonino Bartuccio/SOPA Collection/Offset by Shutterstock)(蒙塔巴诺督查)

    蒙塔尔巴诺埃利科纳,意大利西西里岛 (© Antonino Bartuccio/SOPA Collection/Offset by Shutterstock)(蒙塔巴诺督查)

  • python归并排序的基本思路(python数组合并并排序)

    python归并排序的基本思路(python数组合并并排序)

  • 什么是小规模纳税人税率
  • 工资个人所得税标准表
  • 进口货物的完税价格不包括
  • 个体工商户需要交税吗?怎么交?
  • 高新技术企业三级领域
  • 废机油处理多少钱一吨
  • 贷款利息不能抵扣进项税
  • 长期待摊费用税前扣除
  • 在建工程预转固申请表
  • 法定预算调整的范围
  • 高速公路通行费发票可以抵扣增值税吗
  • 房租费没有发票怎么做账务处理
  • 在筹建期间的费用属于什么
  • 开出转账支票怎么入账
  • 存货 科目
  • 发票抄报逾期如何处罚
  • 营改增后哪些费用可以抵扣
  • 武汉房产税多少
  • 未达到起征点销售额会计分录
  • 文化事业税收优惠政策
  • 公司收到银行存款利息收入会计分录
  • 合并报表实操视频
  • 购买国外技术需要缴纳什么税
  • 合并报表长投和所有者权益抵消的原理
  • 错账按产生原因来看有两种
  • 天津市残保金缴纳标准
  • 电脑默认网关不可以用
  • 无票收入什么时候确认收入
  • 固定资产转让出去租赁收入怎么入账
  • laravel使用
  • uniapp控制硬件设备
  • 反射dll
  • 计算机专业的毕业设计作品新颖
  • php返回数组中所有的值的函数是什么?
  • 计提增值税怎么计提
  • 附清单格式
  • 企业所得税月月交吗
  • 企业所得税季报资产总额怎么填
  • 现金流量表企业所得税
  • 支付广告费没有票怎么入账
  • python画3d图形
  • java 邮件
  • 运输行业油费怎么入账
  • 长期待摊费用最低摊销年限
  • 增值税普通发票几个点
  • 企业发生的现金溢余如果无法查明原因
  • sql server中事务有哪三种语句
  • 入股资金打入公司账户
  • mysql连接数据库的基本步骤是什么
  • 医院怎么开发票?
  • 关联表的作用
  • 无形资产分期付款入账价值如何核算?
  • 房屋提折旧几年
  • 交易性金融资产的账务处理
  • 企业之间的往来款要1900万要交多少税
  • 关于端午节福利发放的通知(通知公告)
  • 没有期初数据会怎么样
  • 企业开了发票
  • 收到是怎么写
  • mysql 索引 语句
  • 如何恢复数据库删除的文件
  • MySQL删除重复数据只保留一条
  • mysql查询慢的优化方案
  • windows10显示
  • 电脑自建热点
  • win7系统系统
  • Winaw32.exe - Winaw32是什么进程
  • win10修改启动
  • win10系统桌面怎么设置密码
  • Win10打开淘宝https被划上红色斜杠的快速解决办法
  • edit apps
  • perl fileparse
  • android:scaletype="centercrop"
  • Unity3D WebCamTexture 调用外部摄像头
  • js中的require用法
  • 工具类别怎么填写
  • js如何封装
  • 安卓的生命周期方法
  • 在python中的用法
  • 煤炭资源税税率选煤税率多少黑龙江
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设