我正在对一个即将到来的项目进行一些初步研究,我有一个简单的问题,我想我会在寻找其他地方时在这里提出这个问题,以防有人有这方面的经验。
问题很简单:是否可以使用 JavaScript 读取二维码?是否有一个远程服务可以让我从相机传递位图对象并以这种方式执行此操作?目前是否有任何库允许这样做?
该项目将部署到各种移动设备上,我们想尝试使用 Appcelerator 来使其工作。我知道 Appcelerator 确实在其主机设备上公开了相机 API,但无论我们用它做什么都必须能够解析 QR 码。这是可以做的事情吗?
提前致谢! 米克
我打赌这是可能的,但这将是一个挑战。有人编写了一个用于读取 QR 码的 AS3 库。我首先阅读 Canvas 中的图像操作。
如果您选择远程 API 路线,Kaywa 有一个您可以使用的 API。
已经有一个 javascript library,但是注释大部分是日语,并且没有文档。
由于移动设备上 JavaScript 的内存限制,如果纯 JS 可以的话,实际使用可能会花费太长时间。
我不确切知道 Appcelerator API 如何与外部本机库配合使用,但最好的选择是将图像数据传递到本机代码(Objective-C 或 Java),然后使用较低级别的库(如 iphone -qrcode)解析二维码,然后将结果传回JS执行上下文。
这具有离线工作的额外优势,这是远程服务无法做到的。
如果您想要概念验证,那么这里就是 - 用纯 Javascript 编写的运动跟踪器。
然而,目前对其的支持并不广泛。据我所知,只有 FF 和最新的 Webkit 版本支持它。
刚刚注意到您想要将其用于移动设备。那么绝对要选择远程服务。即使是最高端的设备(假设它们支持它)也会非常繁重,对此我非常怀疑。
我能够在 GeeksForGeeks 上找到以下教程我认为使用它的组件可以帮助你获得你所需要的。
他们正在使用
html5-qrcode
,可以在这里找到:https://unpkg.com/html5-qrcode
解码后的输出可以在下面的 onSuccess 函数中找到。
// If found you qr code
function onScanSuccess(decodeText, decodeResult) {
alert("You Qr is : " + decodeText, decodeResult);
}
希望它节省了某人的时间。