一、识别条形码
识别条形码能够使用 quaggaJS 模块来识别,而使用 quaggaJS 接口来识别条形码,有两种方法,一种是识别静态图像文件,另外一种是直接在摄像头上实时识别(即不用拍照,摄像头对着条码便可识别)。可是第二种方法必须用到浏览器的 navigator.getUserMedia 接口,而在大多数浏览器中要想访问该接口,域名只能是 localhost 或者使用 HTTPS 协议访问,在本地真机调试时没法达到条件,因此我使用的是第一种方法。不过第一种方法也可分为两种方式,一种是直接获取本地的图片,另外一种是能够经过调用 HTML5 的接口来实时拍照,第二种很明显显得更加智能一点。html
quaggaJS 的使用能够参考:https://www.npmjs.com/package/quagga,git
或者GitHub项目上有比较详细的例子:https://github.com/serratus/quaggaJS 项目文件里的 example 文件夹下有示例文件,简单的使用本地图片上传示例参考博客:https://www.cnblogs.com/yaotome/p/9450274.htmlgithub
如何经过 HTML5 的接口调用摄像头拍照上传图片,参考:https://www.cnblogs.com/avon/p/5996368.htmlnpm
1.一、关于 getUserMedia 接口
关于使用 getUserMedia 接口在 quaggaJS 模块上也有介绍:浏览器
Important: Accessing getUserMedia
requires a secure origin in most browsers, meaning that http://
can only be used on localhost
. All other hostnames need to be served via https://
安全
大体意思是:getUserMedia
在大多数浏览器中,访问须要安全的来源,这意味着协议只能使用localhost,或者
使用https协议。
ui
详情看:https://www.npmjs.com/package/quaggaurl
HTML5如何经过 getUserMedia 调取摄像头能够参考:https://wow.techbrood.com/fiddle/16018spa