位置: 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 id(一直正在设置 id动不了)

    一直正在设置apple id(一直正在设置 id动不了)

  • 微信通话出现第三人声音(微信通话第三方可以监听录音么?)

    微信通话出现第三人声音(微信通话第三方可以监听录音么?)

  • 淘宝店铺评分灰色和红色什么区别(淘宝店铺评分灰分怎么看)

    淘宝店铺评分灰色和红色什么区别(淘宝店铺评分灰分怎么看)

  • 小米穿戴连接不上小米手表(小米穿戴连接不上手环)

    小米穿戴连接不上小米手表(小米穿戴连接不上手环)

  • 华为手环4支持苹果吗(华为手环4支持跳绳吗)

    华为手环4支持苹果吗(华为手环4支持跳绳吗)

  • 域名就是网址对吗(域名就是网址的意思吗)

    域名就是网址对吗(域名就是网址的意思吗)

  • oppo浏览器记录怎么恢复(OPPO浏览器记录在什么文件)

    oppo浏览器记录怎么恢复(OPPO浏览器记录在什么文件)

  • excel出现value的原因(excel 出现value)

    excel出现value的原因(excel 出现value)

  • 显卡分类(显卡分类分为哪几种)

    显卡分类(显卡分类分为哪几种)

  • vivo怎么设置倒计天数(vivo怎么设置倒数日在锁屏界面)

    vivo怎么设置倒计天数(vivo怎么设置倒数日在锁屏界面)

  • word文档所选内容无效(word选中所有内容)

    word文档所选内容无效(word选中所有内容)

  • 华为mate30听筒在哪里(华为mate30听筒在屏幕上吗)

    华为mate30听筒在哪里(华为mate30听筒在屏幕上吗)

  • 抖音私信撤回能看见吗(抖音私信撤回能恢复吗)

    抖音私信撤回能看见吗(抖音私信撤回能恢复吗)

  • 苹果小爱同学怎么设置(苹果小爱同学怎么连接无线)

    苹果小爱同学怎么设置(苹果小爱同学怎么连接无线)

  • 华为手机拦截的电话在哪里(华为手机拦截的短信怎么能不显示)

    华为手机拦截的电话在哪里(华为手机拦截的短信怎么能不显示)

  • 淘宝怎么改差评(淘宝如何修改差评内容)

    淘宝怎么改差评(淘宝如何修改差评内容)

  • 未发货退款可以拒绝吗(未发货退款可以取消吗)

    未发货退款可以拒绝吗(未发货退款可以取消吗)

  • 快手主页如何添加位置和电话(快手主页如何添加店铺位置)

    快手主页如何添加位置和电话(快手主页如何添加店铺位置)

  • 拼多多的金猪怎么取消(拼多多金猪怎么开通VIP?)

    拼多多的金猪怎么取消(拼多多金猪怎么开通VIP?)

  • oppo强制隐藏黄条(oppo手机如何解除隐蔽软件)

    oppo强制隐藏黄条(oppo手机如何解除隐蔽软件)

  • 元宵摇红包怎么提现(元宵微信红包)

    元宵摇红包怎么提现(元宵微信红包)

  • 详说Python风格的函数分配参数(python的基本风格)

    详说Python风格的函数分配参数(python的基本风格)

  • 股权转让后企业注销个人所得税怎么处理
  • 住房租金专项附加
  • 资产负债表中没有实收资本
  • 应征增值税不含税销售额(3%征收率)怎么填2020年
  • 小规模纳税人销售农产品税率是多少
  • 个体工商户个税税率表2023年
  • 材料采购二级科目
  • 固定资产账实不符的审计定性
  • 对方把发票丢了可以重开吗
  • 损益类算费用吗
  • 关联企业往来业务包括
  • 个体户查账征收怎么交税?
  • 当期留抵税额怎么计算
  • 持有至到期投资在资产负债表怎么填
  • 关于银行借贷的法律知识
  • 个体户增值税怎么算
  • 工资表中有哪些项目
  • 购买股票的分录怎么写
  • 营改增后小规模纳税人如何报税
  • 房产转让的房产税怎么算
  • 外商投资的企业是外资企业吗
  • 怎么看是不是专用发票
  • 免抵退税的范围
  • 开具红字专用发票要求
  • 单位给个人付款分录
  • 建筑行业成本预算和施工方案哪个更有含金量
  • 上个月多计提的工资怎么调整
  • 私户给公户转账多久到账
  • 固定资产清理会发生什么费用
  • 应付票据贴现息计入
  • 收到银行存款利息会计分录
  • 收到退回的保证金
  • 潜亏挂账是什么意思
  • tp6 分页
  • 公司借款给个人怎么写借条
  • 代扣费用会计分录
  • 宝塔主机分销系统设计
  • 织梦cms要钱吗
  • 工会经费计提的会计分录
  • php二次开发哪个cms
  • linux mint 下mysql中文支持问题
  • centos8 mongodb
  • 会计期末业务有哪些?
  • 外贸企业应交税费计入
  • MYSQL administrator 使用
  • 无形资产摊销计算方法
  • 保洁服务属于
  • 债券投资包含哪些
  • 弥补以前年度亏损报表怎么填
  • 企业营改增税率是多少
  • 转让金融商品应交增值税可以抵扣吗
  • 递延收益什么科目
  • 其他货币的账面价值包括
  • 原材料当废品卖可以吗
  • 行政单位收到的待报解预算收入怎么做账
  • 冲暂估成本怎么做分录
  • 微信支付属于现金支付还是转账支付
  • 其他债权投资减值影响账面价值吗
  • 建筑业营改增的主要内容
  • 没有开票的收入要交增值税吗
  • 长期股权投资损益调整怎么回事
  • sqlserver开启远程
  • sql server2019还原数据库
  • sql取两个时间的间隔天数
  • mac系统怎么创建文件
  • win8创建系统映像
  • linux回退
  • 双系统重装win11
  • ubuntu如何启动
  • win7怎么使用打印机打印
  • windows10窗口设置在哪
  • android 自定义dialog
  • Android 近百个项目的源代码
  • vue eventhub
  • 电脑兼容ie
  • django返回json数据
  • js缩小图片尺寸
  • Android开发使用的官方IDE是
  • 电子税务局增值税申报表下载
  • 土地出让金契税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设