我对Ionic开发相当新,到目前为止还没有遇到太多问题。但是,尽管文档建议通过" PDF_417" "格式"中的参数选项。注意:扫描适用于其他代码,如QR_CODE,EAN_13 - 因此代码大多是正确的。我不认为正在处理错误功能之后的选项列表。
$cordovaBarcodeScanner.scan().then(function(imageData) {
$scope.si_data_display = imageData.text;
console.log("app.js :: .controller - MainCtrl :: scan_barcode :: text : " + imageData.text);
console.log("app.js :: .controller - MainCtrl :: scan_barcode :: format : " + imageData.format);
console.log("app.js :: .controller - MainCtrl :: scan_barcode :: cancelled : " + imageData.cancelled);
}, function(error) {
//TODO: better error handling...
alert("Error with BarcodeScanner" + error);
},
{ //I DONT THINK THIS IS WORKING!
"preferFrontCamera" : true, // iOS and Android
"showFlipCameraButton" : true, // iOS and Android
"prompt" : "zzzzzzzzzzzz", // supported on Android only
"formats" : "PDF_417", // default: all but PDF_417 and RSS_EXPANDED
});
将非常感激地收到任何帮助,建议或指示。
提前谢谢你, 哈罗德克莱门茨
答案 0 :(得分:1)
是的,您编写的代码写得很糟糕,$ cordovaBarcodeScanner.scan()函数中有错误,因为它是一个promise,因此它从 .them 方法返回两个callbackFuntion
q.resolve(结果);
q.reject(ERR);
$ CordovaBarcodeScanner是一个返回两个功能的工厂
具有输入参数的函数
扫描:功能(配置){
和带有两个输入参数的第二个
编码:功能(类型,数据){}
bouth是承诺的功能所以提出请求的正确方法是:
document.addEventListener("deviceready", function () {
$scope.scan= function () {
$cordovaBarcodeScanner
.scan({ //I KNOW THIS IS GOOD!
"preferFrontCamera" : true, // iOS and Android
"showFlipCameraButton" : true, // iOS and Android
"prompt" : "zzzzzzzzzzzz", // supported on Android only
"formats" : "PDF_417" //NO ',' in the last element
})
.then(function (imageData) {
$scope.si_data_display = imageData.text;
alert(JSON.stringify(imageData));
}, function (error) {
$scope.result=" :( intentalo de nuevo. Ocurrio un Error"
alert(Error);
});
}
/*
try to use, but inject in your controller
$ionicPlatform.ready(function() {
$cordovaBarcodeScanner.scan().then(success, error);
});
*/
你的HTML中的
<button class="button" ng-click="scan()">Escanear</button>
查看ios库时,它只包含以下类型的格式,因此它不适用于iOS。如果你找到一些使用IONIC在ios中扫描PDF417的方法,你可以分享它!
typedef enum BarcodeFormat {
BarcodeFormat_None = 0,
BarcodeFormat_QR_CODE,
BarcodeFormat_DATA_MATRIX,
BarcodeFormat_UPC_E,
BarcodeFormat_UPC_A,
BarcodeFormat_EAN_8,
BarcodeFormat_EAN_13,
BarcodeFormat_CODE_128,
BarcodeFormat_CODE_39,
BarcodeFormat_ITF
} BarcodeFormat;
我希望它对每个人都有用