WeX5 使用掃描二維碼插件

2023-04-04 14:02 更新

掃描二維碼使用phonegap-plugin-barcodescanner插件,插件提供了scan方法用于掃描二維碼,并返回掃描結(jié)果。

 

1、引用插件

       引用插件的目的有兩個,一是生成App時,不用手動選擇插件,系統(tǒng)會根據(jù)引用信息自動將插件放入App中;二是引用插件后,在JS文件中使用插件會出現(xiàn)代碼提示。

    在JS文件中,使用require方法引用Cordova插件。

require("cordova!phonegap-plugin-barcodescanner");

 

2、調(diào)用插件的方法

    掃描二維碼的方法是cordova.plugins.barcodeScanner.scan(onSuccess, onError);,其中onSuccess是掃描成功的回調(diào)方法,onError是掃描失敗的回調(diào)方法。在onSuccess中可以獲得掃描結(jié)果,掃描結(jié)果是一個對象,包括二維碼信息text和格式format。在onError中可以獲得出錯信息。使用一個按鈕調(diào)用scan方法,代碼如下:

       Model.prototype.scanBtnClick = function(event) {

              function onSuccess(result) {            //在掃描成功回調(diào)方法中獲得掃描結(jié)果result

                     alert("掃描結(jié)果:" + result.text);    //通過掃描結(jié)果result獲取二維碼信息

              }

              function onError(error) {               //在掃描失敗回調(diào)方法中獲得出錯信息error

                     alert("掃描失?。? + error);

              }

              cordova.plugins.barcodeScanner.scan(onSuccess,onError);  //掃描二維碼

       };

 

3、設(shè)備就緒事件

    在瀏覽器中運(yùn)行的是Web App,在WeX5里面生成App,將APK或IPA安裝到手機(jī)上運(yùn)行的是Hybrid App。Web App不能訪問手機(jī)硬件,Hybrid App才能訪問手機(jī)硬件,即做為Hybrid App才能使用Cordova插件。Cordova提供設(shè)備就緒事件deviceready,通知應(yīng)用設(shè)備就緒,所有本地API都已準(zhǔn)備好。做為Web App deviceready不會觸發(fā),做為Hybrid App才會觸發(fā)deviceready事件。

    在頁面上,通過單擊一個按鈕來掃描二維碼,在設(shè)計(jì)時,這個按鈕應(yīng)該設(shè)置為不可用,在deviceready事件中再設(shè)置為可用。這樣,做為Web App運(yùn)行時,按鈕不可用,做為Hybrid App運(yùn)行時,按鈕可用。在model加載完成后事件中,添加deviceready事件句柄,代碼如下:

Model.prototype.modelLoad= function(event){                      //頁面加載事件

       varme = this;

       document.addEventListener("deviceready",onDeviceReady, false);  //增加deviceready事件

       functiononDeviceReady() {                                  //設(shè)備就緒回調(diào)方法

              me.comp("scanBtn").set({disabled:false});                  //設(shè)置按鈕可用

       }

};    

    以上內(nèi)容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號