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

  • 口罩面容id怎么设置(口罩face id)

    口罩面容id怎么设置(口罩face id)

  • 小红书怎么添加通讯录好友呢(小红书怎么添加线下门店位置)

    小红书怎么添加通讯录好友呢(小红书怎么添加线下门店位置)

  • 安卓语音备忘录在哪里(安卓语音备忘录下载)

    安卓语音备忘录在哪里(安卓语音备忘录下载)

  • w10截图保存在哪里(windows10截图保存在哪了)

    w10截图保存在哪里(windows10截图保存在哪了)

  • 打微信电话闹钟会不会响(打微信电话闹钟会不会响安卓)

    打微信电话闹钟会不会响(打微信电话闹钟会不会响安卓)

  • qq手机浏览器无痕模式怎么打开(qq手机浏览器无法打开)

    qq手机浏览器无痕模式怎么打开(qq手机浏览器无法打开)

  • opporeno3什么时候上市的手机(opporeno3什么时候升级coloros13)

    opporeno3什么时候上市的手机(opporeno3什么时候升级coloros13)

  • mg4j2cha是什么型号(mg4j2ch/a是什么版本)

    mg4j2cha是什么型号(mg4j2ch/a是什么版本)

  • 乐视手机怎么拆开后盖(乐视手机怎么拆开后盖换电池)

    乐视手机怎么拆开后盖(乐视手机怎么拆开后盖换电池)

  • 华为手机可以隐藏软件吗(华为手机可以隐藏应用软件)

    华为手机可以隐藏软件吗(华为手机可以隐藏应用软件)

  • 小米开发者选项有啥用(小米开发者选项怎么恢复默认设置)

    小米开发者选项有啥用(小米开发者选项怎么恢复默认设置)

  • 无需物流多少次算违规(无需物流多少次才能送达)

    无需物流多少次算违规(无需物流多少次才能送达)

  • oppo超薄手机是哪一款(oppo的超薄手机)

    oppo超薄手机是哪一款(oppo的超薄手机)

  • 快手点赞取消后对方有系统提示吗(快手点赞取消后动态还显示)

    快手点赞取消后对方有系统提示吗(快手点赞取消后动态还显示)

  • 全民k歌里面的修音功能在哪里(全民k歌里面的鲜花能换钱吗)

    全民k歌里面的修音功能在哪里(全民k歌里面的鲜花能换钱吗)

  • 华为手机搬家在哪(华为手机搬家在哪里找出来)

    华为手机搬家在哪(华为手机搬家在哪里找出来)

  • xr壁纸不能缩放(xr壁纸不能缩放怎么回事)

    xr壁纸不能缩放(xr壁纸不能缩放怎么回事)

  • 手机闪光灯怎么开(手机闪光灯怎么才能一闪一闪)

    手机闪光灯怎么开(手机闪光灯怎么才能一闪一闪)

  • 无痛人流多少钱(无痛人流多少钱?)

    无痛人流多少钱(无痛人流多少钱?)

  • 浅谈为什么磁盘慢会导致Linux负载飙升(为什么磁盘会消失)

    浅谈为什么磁盘慢会导致Linux负载飙升(为什么磁盘会消失)

  • DC-1靶场搭建及渗透实战详细过程(DC靶场系列)(upload靶场搭建)

    DC-1靶场搭建及渗透实战详细过程(DC靶场系列)(upload靶场搭建)

  • Vue:element-ui中表格过长内容隐藏显示

    Vue:element-ui中表格过长内容隐藏显示

  • virsh命令  管理虚拟机系统(vi命令模式下的常用命令有哪些?)

    virsh命令 管理虚拟机系统(vi命令模式下的常用命令有哪些?)

  • 息税前利润计算每股收益
  • 超过认证期的发票能用吗
  • 投资性房地产在非货币性资产交换怎么处理
  • 员工餐补是放入福利费吗?
  • 营改增后工程税收怎么计算
  • 微信公众号认证费用
  • 平价转让股权如何交税
  • 制造企业售后服务方案
  • 购买电脑的方案
  • 用银行汇票付款的会计分录
  • 增值税发票对方已认证怎么冲红
  • 小微企业所得税优惠政策最新2023
  • 小微企业月销售额不超过15万
  • 利润表本月金额指的是什么
  • 劳务发票备注怎么填
  • 小规模纳税人的起征点是多少
  • 筹建期员工社保分录
  • 认缴制下实收资本可以一直为零吗
  • 租赁合同未付款生效吗
  • 海运费付款方式
  • 年末提取盈余公积的会计分录怎么写
  • steam打开速度
  • 如何删除系统自带的软件
  • 会计记账凭证摘要模板
  • 企业之间的违约金进什么科目
  • 计提本月短期借款利息1000元
  • 公司强制要求转部门合法吗
  • 本月发生的费用,下月取得发票,怎么做账
  • php array_chunk
  • 认缴制注册资金不交可以吗
  • 拍卖有抵押的车子怎么处理
  • vue for循环遍历对象取值
  • 旅游业纳税筹划方案
  • php模板教程
  • php中可用于设置变量类型的函数
  • 往境外支付培训费怎么退
  • vue中使用require报错
  • layui 使用
  • sscom命令
  • 为什么股本溢价
  • 企业年报经营状态
  • 支付版权费用账号是什么
  • 账本印花税怎么申报缴纳
  • mysql 数据库
  • 印花税可以年底报一次
  • 企业所得税的营业成本怎么填
  • 借款合同印花税优惠政策
  • c#构造函数
  • 增值税纳税人放弃免税权的规定
  • 名为股权转让实为房地产转让
  • 列入固定资产的标准
  • 个人所得税不需要汇算清缴
  • 关于出售使用过的产品
  • 临时设施的种类有哪些
  • 如何计算政府补贴应摊销
  • 运输合理损耗会计科目
  • 委托加工的应税消费品是指
  • 人力公司开的代驾发票
  • 只有发票没有合同可以做账吗
  • 劳务派遣差额征税账务处理
  • 税金及附加是按什么基础交的
  • 公司在筹备阶段怎么办
  • mysqli查询
  • mac电脑双系统
  • debian和ubuntu命令一样吗
  • hppusg.exe
  • window10路由
  • dos命令不能执行怎么回事
  • 怎么使用vue和axios连接后端
  • 深入解读2023年一号文件
  • Emeditor与dos(cmd)经典使用技巧之批量生成网页
  • 超清晰的壁纸
  • JQuery给select添加/删除节点的实现代码
  • Python的装饰器用法学习笔记
  • 国家税务局网上电子税务局官网重庆
  • 税务局执法不规范整改
  • 上海税务网上报税
  • 以前期间进项税额转出 怎样操作
  • 保险公司优惠的款项什么时候退款
  • 卷票发票丢失怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设