H5端扫描二维码

一、背景介绍

  前段时间做了个H5的webapp项目,由于目前所在的公司是做WMS、OMS、TMS相关的物流行业,昨天项目经理提了个需求:能否实现二维码扫描功能。

  实现这个功能项目的价格可以加5万以上,所以项目经理很急切也很激进,迫切需要知道是否有技术可行,然后就轮到我来研究可行性,这就像建造一座桥梁时遇到技术难题一样的,首先要考虑有没有这样技术的,再来考虑可行性。

  H5端扫描二维码要解决两个问题:一是唤起摄像头扫描,二是扫描完成后解析。H5端扫描还存在一个问题,是用静态扫描还是实时扫描,静态就是图片,动态就是直接开摄像头。

二、研究过程

(1)H5唤起摄像头扫描

  ①MediaDevices.getUserMedia()

  ------------------------------------------------------API-------------------------------------------------------

  MediaDevices.getUserMedia的mozilla网站API,网址:https://developer.mozilla.org/zh-CN/docs/Web/API/MediaDevices/getUserMedia

  

  ------------------------------------------------------兼容性问题-------------------------------------------------------

  

   ----------------------------------------------------结论---------------------------------------------------

  兼容性不够好,不适宜在生产环境中使用(待编码验证)

  ②navigator.getUserMedia()

  -----------------------------------------------------API----------------------------------------------------

  navigator.getUserMedia的mozilla网站API,网址:https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/getUserMedia

  

  ----------------------------------------------兼容性问题----------------------------------------

  

    ------------------------------------------------------结论----------------------------------------------------

    兼容性不够好,不适宜在生产环境中使用(待编码验证)

  ③input type=‘file‘

 <!--调用手机拍照-->
 <input type="file" id="file" accept="image/*"  capture="camera" />
 <!--调用手机摄像头-->
 <input type="file" id="file" accept="video/*"  capture="camcorder" />
 <!--调用录用功能-->
 <input type="file" id="file" accept="audio/*"  capture="microphone" />

  用安卓手机测试兼容性问题,在QQ浏览器、UC浏览器和chrome浏览器上都可以正常调用手机拍照功能。(博主用的小米Note1,苹果手机需进一步测试)

  

(2)扫描完成二维码解析

时间: 2024-11-07 20:56:48

H5端扫描二维码的相关文章

H5混合开发二维码扫描以及调用本地摄像头

今天主管给了我个需求,说要用混合开发,用H5调用本地摄像头进行扫描二维码,我之前有做过原生安卓的二维码扫一扫,主要是通过调用zxing插件进行操作的,其中还弄了个闪光灯.但是纯H5的没接触过,心里没底,于是晚上回家开始网上各处找方案.以下是我对于H5扫描二维码以及调用本地摄像头的理解以及代码. 科普网址: H5如何生成安卓组件对象 H5调用安卓本地摄像头api 在线二维码图片生成器 二维码扫描:(使用的是mui的框架,下面是html代码) <!doctype html> <html>

微信内点击链接或扫描二维码可直接用外部浏览器打开H5链接的解决方案

很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可.下面给大家介绍这个功能 功能目的 生成微信跳转链接,实现微信内置浏览器跳转外部浏览器打开网页.(该方案适合推广APP及其他H5页面) 功能效果 功能实现后, 苹果用户即可在微信内直接下载app也可以跳转浏览器下载,安卓用户则自动打开手机浏览器下载app, 如果不含下载文件,则直接从微信内跳转到外部浏览器访问指定页面 .下面是含app下载文件的实现效果: 1. 苹果跳

iOS端使用二维码扫描(ZBarSDK)和生成(libqrencode)功能

如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影.手机中二维码使用也很广泛,如微信等.正好最近收集总结了下二维码的使用方法 下面介绍一下如何在iOS设备上使用二维码 首先在github上下载ZBar SDK地址https://github.com/bmorton/ZBarSDK 然后将如下的相关类库添加进去 AVFoundation.framwork, CoreMedia.framework, CoreVideo.framework, libiconv.dylib 和libzb

vue中,使用手机钉钉扫描二维码登录

最新项目要做一个,使用手机钉钉扫描二维码登录pc系统的功能,手机扫码二维码后,会弹出一个确定登录的页面,点击确定之后,pc端就会登录进去 第一步:查看钉钉开发平台 钉钉开发平台(钉钉官网) 从官网中了解到: 使用钉钉js-api提供的获取免登授权码接口获取CODE,此jsapi无需鉴权 然后通过CODE,获取用户身份信息 第二步:pc页面 npm install v-qrcode --save 并在页面中注册引入 其中  qrcode是二维码内容,在data中定义, 调用后端接口,获取钉钉登录二

全栈工程师之路-React Native之扫描二维码

前言 以前开发移动端页面,总会被原生开发各种嫌弃,H5性能太低,动画不流畅,身为一名小前端我能怎么办呢?总是在无人的夜里,心里默默地流泪~ 后来 React Native 出来以后,终于可以翻身农奴把歌唱:哈哈哈,原生的小X人们,等待我 RN 的小皮鞭吧,pia~ 但是那时候若是不懂点 Android 或者 iOS,完全用 RN 开发一个 App,是非常痛苦的. 在尝试一段时间以后,由于实在难以忍受调教各种莫明其妙的报错,让我一度对这项新技能又爱又恨,望而生畏~ 但是最近由于项目上的需求又捡了起

PHP微信扫描二维码登录网站代码示例

扫描二维码登录对于现在的web应用来说,确实是个很炫酷的功能,安全性也可以保障,不少朋友可能觉得这是个很复杂的工作,其实不然,真正说来只有几个步骤而已. 原理 PC浏览器展示一张二维码图片,该图片二维码值为一段绝对地址的url,大致如下:http://www.example.com/oauth/qrcode?key=key PC浏览器定期轮询 http://www.example.com/oauth/query,可能有的同学会问,怎么不用带上key?这里我们用session来保存key,所以链接

java实现手机扫描二维码进行登录

转自:http://www.daxueit.com/article/2581.html 项目结构: 实现流程: pc端: 1:打开二维码登录网页index.html 2:index.html调用GetQrCodeServlet 3:GetQrCodeServlet干2件事 a:生成随机的uuid,是一个唯一标识,该标识贯穿整个流程 b:生成二维码图片,二维码信息:http://60.28.201.37:8380/QrCodeLoginPro/Login.html?uuid=" + uuid 4:

微信扫描二维码登录网站技术原理

微信扫描二维码登录网站 网站应用微信登录开发指南 微信扫描二维码登录网站是微信开放平台下网站应用的一种接口实现的功能.微信开放平台的网址是 https://open.weixin.qq.com 准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接

Android扫描二维码 实现 登录网页

1. 扫描二维码登录的实现机制 * Android客户端要给网页端发送信息,说登录的是我 * 网页登录界面要不断的查询是否已经被扫描登录 总体分三步: ① PC端保存randnumber(随机数) ② Android客户端携带username 保存在randnumber那条记录上 ③ PC端去服务器轮询,如果randnumber记录的username不为空,则实行登录即可 2. Android 客户端扫描二维码 介绍一个库 Zxing,这是一个庞大的库,有人已经整理出了扫描二维码部分的库