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

  • 进项税额比销项税额多怎么填申报表
  • 免征的增值税怎么计算
  • 外贸企业出口流程图
  • 土地增值税怎么计算
  • 垃圾处理费怎么算
  • 财务报表一季度销售大福下降
  • 免租期房租怎么做会计分录
  • 医院财政资金免企业所得税吗
  • 金税盘如何增加税率
  • 承兑汇票给别人时对方需要出具什么
  • 代办汽车过户手续
  • 企业所得税的征税对象包括
  • 购入材料用于安装工程
  • 年化收益率的计算公式
  • 个税手续费返还政策最新规定2023
  • 房地产企业土地成本分摊方法
  • 红字发票信息表填好后再怎么操作
  • 防暑降温费可以用工会经费吗
  • 银行处置以物抵债违法吗
  • 个税没有扣除项,需要填写和确认吗
  • 含税销售额的计算公式是什么意思
  • 公司名下没车能报油费吗
  • 房租出租税收编码和税率
  • 备查账簿根据企业的实际需要设置没有固定的格式要求
  • 资产负债率是用年初和年末数吗
  • 未开票收入可以不开票吗
  • 英雄联盟符文推荐怎么不弹出来
  • 先征后退的增值税
  • 已认证的发票退税怎么退
  • 生产型企业公司有哪些
  • 长期待摊费用2021
  • 红字专用发票是红色的吗
  • win10 多屏协同
  • 电脑如何关闭屏幕还在工作
  • macOSCatalina10.15.5正式版值得升级吗 macOSCatalina10.15.5更新了什么
  • php生成app
  • PHP:session_set_save_handler()的用法_Session函数
  • 所得税贷款利息扣除
  • 公司员工培训后的收获和感想
  • 怎么u盘装系统,u盘装系统教程图解
  • 无票收入什么时候确认收入
  • 交易性金融资产包括哪些项目
  • 如何分清福利性劳动
  • wrme.exe是什么
  • 退回的企业所得税怎么做账
  • 苏格兰高地什么意思
  • 从零开始文章
  • 多模态 融合
  • vget命令
  • 财政贴息会计处理怎么理解
  • ps怎么参考线快捷键
  • 《visual c++游戏编程基础》
  • 融资租赁的残值归出租人所有,为啥要减去租金限值
  • 其他应收款待抵扣进项
  • python中模块的概念
  • mongodb 权限设置
  • 通讯补贴算福利费吗
  • 全资子公司注销的账务处理
  • 存货周转率是指企业某一会计
  • 小规模纳税人减半征收的六税两费
  • 未分配利润转增股本要交税吗怎么交
  • 代扣代缴个人所得税手续费返还政策
  • 支付员工经济补偿金会计处理方式
  • 转账支票遗失声明
  • 什么是委托加工原材料
  • 专票的发票金额是价税总额吗
  • 自定义设置微信来电铃声
  • xp如何查看系统位数
  • Centos系统里screen命令如何使用?Centos系统里screen命令的使用方法
  • win8系统打开不了软件
  • xp系统如何去掉开机登陆界面
  • dgservice.exe是什么
  • win8蓝牙连不上
  • win10一年更新一次
  • 按住鼠标右键拖动文件
  • opengl es api
  • win10文件类型选项
  • Underscore.js 1.3.3 中文注释翻译说明
  • unity移动游戏开发
  • 药店买药开票吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设