likes
comments
collection
share

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

作者站长头像
站长
· 阅读数 27

sap.ndc.BarcodeScannerButton:用于启动条码扫描过程的按钮控件(显示条码图标)。 如果本机扫描功能不可用或未授予相机功能,则该按钮要么被隐藏,要么通过打开带有输入字段的对话框来提供后备,可以在其中手动输入条形码。BarcodeScanner 被加载之后,执行 init 方法:

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

    //    * Feature vector (sap.Settings.isFeatureEnabled) is available
    //  * Barcode scanner is enabled by the Feature Vector
    //  * Barcode scanner Cordova plug-in (cordova.plugins.barcodeScanner) or zxing-js (ZXing.BrowserMultiFormatReader) is available

available 属性默认为 true:SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

native device capabilities should be by default enabled if there is no feature vector available to restrict the capability.

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

浏览器里检测不到 cordova API:SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

然后尝试获取 ZXingAPI. 这是一个异步过程。

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

oZXingScannerAPI 可用。SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

点击 barcode 按钮之后,执行下图第 129 行代码的 scan 方法。

如果条码扫描功能不可用,则启动条码扫描过程,显示来自摄像头的实时输入或显示对话框以直接输入值。

条码扫描是异步完成的。 当它被触发时,该函数返回而不等待扫描过程完成。 应用程序必须提供回调函数来对成功扫描、扫描期间的错误以及对话框上的实时输入事件做出反应。

fnSuccess 传递了一个具有文本、格式和取消属性的对象。 text 是条码数据的文本表示,format 是检测到的条码类型,cancel 是用户是否取消扫描。 fnError 给出了错误,fnLiveUpdate 被传递了在对话框的输入字段中输入的新值。

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

只有当 CordovaScannerAPI 可用时,才进入 584 行下面的分支:

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

否则进入 618 行,弹出对话框。

SAP UI5 BarcodeScannerButton feature 检测,Cordova AP

SAP Fiori Client 是 SAP Fiori 应用程序的原生移动应用程序运行时容器。 SAP Fiori Client 允许用户以在线模式访问其 SAP Fiori 应用程序。后续我会介绍如何在 Fiori client 里解决这个 cordova 插件不可用的问题。

转载自:https://segmentfault.com/a/1190000041555635
评论
请登录