SAP UI5 BarcodeScannerButton 的初始化逻辑 - feature 检测,Cordova API 检测等逻辑
sap.ndc.BarcodeScannerButton:用于啟動條碼掃描過程的按鈕控件(顯示條碼圖標)。 如果本機掃描功能不可用或未授予相機功能,則該按鈕要么被隱藏,要么通過打開帶有輸入字段的對話框來提供后備,可以在其中手動輸入條形碼。BarcodeScanner 被加載之后,執行 init 方法:
// * 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 availableavailable 屬性默認為 true:
native device capabilities should be by default enabled if there is no feature vector available to restrict the capability.
瀏覽器里檢測不到 cordova API:
然后嘗試獲取 ZXingAPI. 這是一個異步過程。
oZXingScannerAPI 可用。
點擊 barcode 按鈕之后,執行下圖第 129 行代碼的 scan 方法。
如果條碼掃描功能不可用,則啟動條碼掃描過程,顯示來自攝像頭的實時輸入或顯示對話框以直接輸入值。
條碼掃描是異步完成的。 當它被觸發時,該函數返回而不等待掃描過程完成。 應用程序必須提供回調函數來對成功掃描、掃描期間的錯誤以及對話框上的實時輸入事件做出反應。
fnSuccess 傳遞了一個具有文本、格式和取消屬性的對象。 text 是條碼數據的文本表示,format 是檢測到的條碼類型,cancel 是用戶是否取消掃描。 fnError 給出了錯誤,fnLiveUpdate 被傳遞了在對話框的輸入字段中輸入的新值。
只有當 CordovaScannerAPI 可用時,才進入 584 行下面的分支:
否則進入 618 行,彈出對話框。
SAP Fiori Client 是 SAP Fiori 應用程序的原生移動應用程序運行時容器。 SAP Fiori Client 允許用戶以在線模式訪問其 SAP Fiori 應用程序。后續我會介紹如何在 Fiori client 里解決這個 cordova 插件不可用的問題。
總結
以上是生活随笔為你收集整理的SAP UI5 BarcodeScannerButton 的初始化逻辑 - feature 检测,Cordova API 检测等逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 适合 Kubernetes 初学者的一些
- 下一篇: QTA-qtaf自动化测试实践