SAP UI5 BarcodeScannerButton 的初始化邏輯 - feature 檢測,Cordova API 檢測等邏輯

                        小編:管理員 298閱讀 2022.09.13

                        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 available
                        復制

                        available 屬性默認為 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 插件不可用的問題。

                        關聯標簽:
                        少妇各种各样BBBⅩXX