W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
掃描二維碼使用phonegap-plugin-barcodescanner插件,插件提供了scan方法用于掃描二維碼,并返回掃描結(jié)果。
1、引用插件
引用插件的目的有兩個(gè),一是生成App時(shí),不用手動(dòng)選擇插件,系統(tǒng)會(huì)根據(jù)引用信息自動(dòng)將插件放入App中;二是引用插件后,在JS文件中使用插件會(huì)出現(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é)果是一個(gè)對(duì)象,包括二維碼信息text和格式format。在onError中可以獲得出錯(cuò)信息。使用一個(gè)按鈕調(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)方法中獲得出錯(cuò)信息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不會(huì)觸發(fā),做為Hybrid App才會(huì)觸發(fā)deviceready事件。
在頁面上,通過單擊一個(gè)按鈕來掃描二維碼,在設(shè)計(jì)時(shí),這個(gè)按鈕應(yīng)該設(shè)置為不可用,在deviceready事件中再設(shè)置為可用。這樣,做為Web App運(yùn)行時(shí),按鈕不可用,做為Hybrid App運(yùn)行時(shí),按鈕可用。在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è)置按鈕可用
}
};
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: