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

  • 支付宝湖北消费券怎么抢(支付宝湖北消费券商家怎么申请)

    支付宝湖北消费券怎么抢(支付宝湖北消费券商家怎么申请)

  • 荣耀x20怎么拦截骚扰电话(荣耀x20怎么拦截陌生号码)

    荣耀x20怎么拦截骚扰电话(荣耀x20怎么拦截陌生号码)

  • 怎么看微信有没有在电脑上登录(怎么看微信有没有实名认证)

    怎么看微信有没有在电脑上登录(怎么看微信有没有实名认证)

  • 抖音照片怎么保存到相册(抖音照片怎么保存视频)

    抖音照片怎么保存到相册(抖音照片怎么保存视频)

  • 微处理器的组成三部分(微处理器的组成不包括)

    微处理器的组成三部分(微处理器的组成不包括)

  • 苹果电池显示维修怎么关闭(苹果电池显示维修什么意思)

    苹果电池显示维修怎么关闭(苹果电池显示维修什么意思)

  • 主程序和子程序的区别(matlab主程序和子程序)

    主程序和子程序的区别(matlab主程序和子程序)

  • 淘宝昵称不可用是什么意思(淘宝昵称不能改)

    淘宝昵称不可用是什么意思(淘宝昵称不能改)

  • 手机无法连接到移动网络怎么回事(手机无法连接到通话网络怎么办)

    手机无法连接到移动网络怎么回事(手机无法连接到通话网络怎么办)

  • 为什么不能投屏到电视(多多视频为什么不能投屏)

    为什么不能投屏到电视(多多视频为什么不能投屏)

  • 手机内屏坏了怎么办(手机内屏坏了怎么把手机里面的东西导出来)

    手机内屏坏了怎么办(手机内屏坏了怎么把手机里面的东西导出来)

  • 实际存储数据的对象是(实际存储在数据库中的表是什么)

    实际存储数据的对象是(实际存储在数据库中的表是什么)

  • 8p可以装7p的电池吗(8p主板可以装进7p里吗)

    8p可以装7p的电池吗(8p主板可以装进7p里吗)

  • xsmax怎么装双卡(苹果xsmax如何装双卡)

    xsmax怎么装双卡(苹果xsmax如何装双卡)

  • 怎么压缩ppt里的图片(ppt压缩)

    怎么压缩ppt里的图片(ppt压缩)

  • 乐视手机流量不能用怎么办(乐视手机设置显示流量)

    乐视手机流量不能用怎么办(乐视手机设置显示流量)

  • 如何删除大众点评私信(如何删除大众点评订单)

    如何删除大众点评私信(如何删除大众点评订单)

  • 快手直播黄钻有什么用(快手直播黄钻收益是怎么算的)

    快手直播黄钻有什么用(快手直播黄钻收益是怎么算的)

  • vue怎么把字幕变大(vue字幕怎么改变大小)

    vue怎么把字幕变大(vue字幕怎么改变大小)

  • 滴滴出行快车怎么接单(滴滴出行快车怎么付钱)

    滴滴出行快车怎么接单(滴滴出行快车怎么付钱)

  • 抖音null是谁(抖音名null是谁)

    抖音null是谁(抖音名null是谁)

  • 手机更新怎么更新(手机更新怎么更新oppo)

    手机更新怎么更新(手机更新怎么更新oppo)

  • word画图笔在哪里(word如何用画笔画图)

    word画图笔在哪里(word如何用画笔画图)

  • 硬盘损坏怎么修复(硬盘损坏了怎么把数据恢复出来)

    硬盘损坏怎么修复(硬盘损坏了怎么把数据恢复出来)

  • 小米9有没有人脸识别(小米有没有人脸识别解锁)

    小米9有没有人脸识别(小米有没有人脸识别解锁)

  • 达特穆尔国家公园的薄雾,英格兰德文郡 (© AWL Images/Danita Delimont)(达特穆尔动物园)

    达特穆尔国家公园的薄雾,英格兰德文郡 (© AWL Images/Danita Delimont)(达特穆尔动物园)

  • 公司月报表怎么做
  • 税负率是按月来算吗
  • 凭证日期小于当前会计期啥意思
  • 免征的附加税是什么
  • 销售材料应确认的损益是什么意思
  • 新企业第一次报所得税
  • 管理会计与财务会计的联系与区别
  • 自建房屋房产税纳税义务发生时间
  • 生产单位车间设计费应该计入什么科目?
  • 出口退税进项发票稽核
  • 通行费进项抵扣条件
  • 年终结账后,应当更换新账的有( )
  • 分支机构的企业所得税申报流程是什么
  • 领购增值税专用发票
  • 供暖税收分类编码是多少
  • 应纳税所得额和应纳税额的区别
  • 固定资产提前报废需要补提折旧吗
  • 经营租赁的固定资产计提折旧吗
  • 进口应付款融资
  • 税务咨询费用
  • 消费税如何避税计算
  • 微信获取用户id失败如何解决
  • win7系统中怎样没有智能卡这一选项
  • 无法启用网络发展
  • linux 去除换行
  • 情人节海报怎么画简单
  • 免抵退税务处理
  • 贝特阿斯品牌介绍
  • 不能加载axf文件
  • 【强化学习探索01】Win10 下gym安装
  • thinkphp 模块
  • 利息收入税务处理办法
  • 人力资源预算包括哪些内容
  • 客户的赔偿金会计分录
  • c语言中如何防止函数重名
  • mongodb bi
  • 最好用的刷题笔
  • 企业银行存款的利息收入计入财务费用的借方A对B错
  • 单位租的个人房子需要采集房产税源吗
  • 投资性房地产改造期间计提折旧吗
  • 如何开具房屋租赁登记备案证明
  • 一般纳税人的税负率是多少
  • 应收账款客户少付款怎么记账
  • 个别会计报表和合并会计报表
  • 款项已支付是什么科目?
  • 生产型企业成品入库会计分录
  • 包工包料成本比例
  • 一般纳税人加工费怎么做账
  • 实收资本怎么入账?
  • 固定资产公司
  • mysql8.0 json
  • window10系统邮件设置在哪里
  • 网站的运维
  • Ubuntu修复安装
  • linux关闭进程kill
  • Win7系统打开文件夹没有自动排列选项
  • ubuntu切换登录用户
  • 64位ubuntu8.04 安装QQ
  • winxp打开任务管理器的快捷键
  • win7安装kb4534310补丁失败
  • win7系统修改mac地址
  • win7系统删除ie浏览器
  • 用python循环语句
  • python 简单例子
  • opengl怎么学
  • 动态规划之矩阵连乘
  • jquery选择器的使用
  • Node.js中的全局变量有哪些
  • jquery实现购物车功能(删除商品,增加和减少商品)
  • Python中MySQLdb和torndb模块对MySQL的断连问题处理
  • js创建对象的三种方式
  • 批处理打开网络连接
  • javascript面向对象吗
  • pdb settrace
  • 用javascript
  • 公司开票明细如何查询
  • Excel表格如何导出
  • 销售免税货物可以抵扣进项税吗
  • 新办纳税人是什么多久之内
  • 税务坚定理想信念心得体会
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设