h5的扫一扫功能 (非微信浏览器环境下)

必须在 https 域名下才生效

<template><div><van-field label="服务商编码" right-icon="scan" placeholder="扫描二维码获取" @click-right-icon="getCameras" />    <div class="scan" :style="{'display':isScan ? 'none' : ''}"><div id="qr-reader" width="400px" height="400px"></div></div>
</template>
<script>
import util from "../common/util.js";
export default {data() {return {cameraId: 0,//相机idisScan:true,};},mounted() {this.init();},// 页面销毁周期关闭相机beforeDestroy() {this.stop();},methods: {init() {util.addJs("https://blog.minhazav.dev/assets/research/html5qrcode/html5-qrcode.min.js");},// 开始扫描getCameras() {Html5Qrcode.getCameras().then(devices => {if(devices){if (devices.length==1) {this.cameraId = devices[0].id;}else{this.cameraId = devices[1].id;}this.start();}}).catch(err => {this.$notify({ type: 'warning', message: '调用摄像头失败 : ' + err});});},// 启动相机start() {this.isScan = false;this.html5QrCode = new Html5Qrcode("qr-reader");this.html5QrCode.start(this.cameraId,{fps: 10,qrbox: { width: 250, height: 250 }},qrCodeMessage => {if (qrCodeMessage) {this.stop();}}).catch(err => {console.log(`Unable to start scanning, error: ${err}`);});},// 关闭相机stop() {this.isScan = true;this.html5QrCode.stop().then(ignore => {console.log("QR Code scanning stopped.");}).catch(err => {console.log("Unable to stop scanning.");});},}
};
</script>
<style lang="less" scoped>.scan{width: 100%;height: 100vh;display: flex;align-items: center;justify-content: center;flex-direction: column;overflow: hidden;}
</style>

util.js文件

const addJs=function (url) {return new Promise((resolve, reject) => {const script = document.createElement('script')script.src = urlscript.type = 'text/javascript'document.body.appendChild(script)script.onload = () => {resolve()}})
}
export default {addJs}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/145285.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统项目背景

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内部工程管…

2-MySQL的基本操作记录

1 数据库相关 -- --------------------表相关的---------- -- 查看字符集 show variables like %character%;show databases;# 创建数据库 create database test2;# 删除数据库 drop database test2; show databases;#查看当前使用的数据库 select database(); 2 用户相关 -…

CUDA学习笔记(九)Dynamic Parallelism

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/&#xff0c;仅用于学习。 Dynamic Parallelism 到目前为止&#xff0c;所有kernel都是在host端调用&#xff0c;CUDA Dynamic Parallelism允许GPU kernel在device端创建调用。Dynamic Parallelism使递归更容易实现…

小游戏外包开发流程及费用

小游戏的开发流程和费用会因项目的规模、复杂性和所选技术平台而有所不同。以下是一般的小游戏开发流程和可能的费用因素&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 开发流程&#xff1a; 概念和…

分享画PAD图的软件-PADFlowChart

软件的可执行文件下载&#xff1a;PADFlowChart-exe.zip 如果有帮助望三联

【每日一题】老人的数目

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;遍历 其他语言python3 写在最后 Tag 【遍历】【数组】【2023-10-23】 题目来源 2678. 老人的数目 题目解读 找出乘客中年龄严格大于 60 的人数。 解题思路 方法一&#xff1a;遍历 本题比较简单&#xff0c;直接遍…

2023 年 12 款最佳免费 PDF 阅读器

12 大最佳免费 PDF 阅读器 PDF 阅读器是一种可以打开 PDF 文件的软件&#xff0c;PDF 文件可能是最流行的文档格式。尽管 PDF 文件已经存在超过 25 年&#xff0c;但它仍然是 Internet 上文档的主要格式。但是&#xff0c;要打开此类文档&#xff0c;您必须在计算机上下载指定…

使用 PyAudio、语音识别、pyttsx3 和 SerpApi 构建简单的基于 CLI 的语音助手

德米特里祖布☀️ 一、介绍 正如您从标题中看到的&#xff0c;这是一个演示项目&#xff0c;显示了一个非常基本的语音助手脚本&#xff0c;可以根据 Google 搜索结果在终端中回答您的问题。 您可以在 GitHub 存储库中找到完整代码&#xff1a;dimitryzub/serpapi-demo-project…

【Python爬虫】安装requests库解决报错问题

requests 确保pip的安装命令行下安装出现的问题以及解决办法换镜像源安装验证安装为什么使用requests库呢 废话不多说了&#xff0c;直接进入正题 确保pip的安装 首先要想安装requests库&#xff0c;第一点就是要确保pip已经安装。这个pip在Python高级版本中已经默认安装了。…

如何实现前端实时通信(WebSocket、Socket.io等)?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

空中计算(Over-the-Air Computation)学习笔记

文章目录 写在前面 写在前面 本文是论文A Survey on Over-the-Air Computation的阅读笔记&#xff1a; 通信和计算通常被视为独立的任务。 从工程的角度来看&#xff0c;这种方法是非常有效的&#xff0c;因为可以执行孤立的优化。 然而&#xff0c;对于许多面向计算的应用程序…

python如何创建自己的对冲交易算法

在这篇文章中&#xff0c;我解释了如何创建一个人工智能来每天为我进行自动交易。 随着机器学习的现代进步和在线数据的轻松访问&#xff0c;参与量化交易变得前所未有的容易。为了让事情变得更好&#xff0c;AWS 等云工具可以轻松地将交易想法转化为真正的、功能齐全的交易机器…