<rt id="hkid1"></rt>
    <s id="hkid1"><meter id="hkid1"></meter></s>
  1. <rp id="hkid1"><meter id="hkid1"></meter></rp>
    <source id="hkid1"></source>
  2. <ruby id="hkid1"><optgroup id="hkid1"></optgroup></ruby>

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

    小編:管理員 454閱讀 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 插件不可用的問題。

    關聯標簽:
    快三群