gpt4 book ai didi

cordova - 在 Ionic 中调用 Pdf417 phonegap/cordova 插件

转载 作者:行者123 更新时间:2023-12-04 02:27:43 26 4
gpt4 key购买 nike

我无法成功调用 Pdf417 phonegap/cordova plugin Ionic 应用程序中演示模式下的扫描功能。我正在 iOS 上使用 Ionic View 测试插件。

Here is a linked Github repository包含只有一个状态和 Controller 的应用程序的简化版本。

不幸的是,我对为什么这不起作用感到完全困惑
当我测试它时。我收到一条错误消息,提示“未定义 Cordova ”
在浏览器中,我希望这是因为 Cordova 插件应该
404 在浏览器中,但它在 Ionic View 中也不起作用。

在尝试进行这项工作之前,我已经使用“cordova plugin add(pdf417 git repo 的位置”)成功安装了该插件。

任何帮助将不胜感激。我没有太多经验
所以我可能总体上走错了路,如果我错了,请提前道歉。任何指导都会有所帮助。如果我有任何不清楚的地方,我会很乐意详细说明。我确定我可能错过了一些需要的信息。

这是我的应用程序中的 app.js:

angular.module('app', ['ionic'])
/**
* RUN
*/

.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}

});
})

/**
* CONTROLLERS
*/
//Workflow Controller
.controller('workflowCtrl', ['$scope', '$ionicPlatform', '$ionicPopup',
function($scope, $ionicPlatform, $ionicPopup) {
$ionicPlatform.ready(function() {
//***PDF417 SCANNER***
function hex2a(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2) {
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
}
return str;
}
var types = ["PDF417", "QR Code"];
var options = {
beep : true, // Beep on
noDialog : true,
uncertain : false, //Recommended
quietZone : false, //Recommended
highRes : false, //Recommended
inverseScanning: false,
frontFace : false
};
var licenseiOs = null;
var licenseAndroid = null;
$scope.barcodeResult;
$scope.fields;
$scope.scan = function() {
$ionicPopup.alert({
title:'Scan Button Clicks',
});
console.log('Scan Button Clicks');
cordova.plugins.pdf417Scanner.scan(
// Register the callback handler
function callback(scanningResult) {
// handle cancelled scanning
if (scanningResult.cancelled == true) {
console.log('Scanner cancelled');
$scope.warnings = "Cancelled";
return;
}
// Obtain list of recognizer results
var resultList = scanningResult.resultList;
// Iterate through all results
for (var i = 0; i < resultList.length; i++) {
// Get individual resilt
var recognizerResult = resultList[i];
if (recognizerResult.resultType == "Barcode result") {
// handle Barcode scanning result
if (typeof(recognizerResult.raw) != "undefined" && recognizerResult.raw != null) {
var raw = hex2a(recognizerResult.raw);
}
$scope.barcodeResult = {
"Data": recognizerResult.data,
"Raw": raw,
"Type": recognizerResult.type
};
} else if (recognizerResult.resultType == "USDL result") {
// handle USDL parsing result
var fields = recognizerResult.fields;
$scope.fields = {
/** Personal information */
"USDL version": fields[kPPAamvaVersionNumber],
"Family name": fields[kPPCustomerFamilyName],
"First name": fields[kPPCustomerFirstName],
"Date of birth": fields[kPPDateOfBirth],
"Sex": fields[kPPSex],
"Eye color": fields[kPPEyeColor],
"Height": fields[kPPHeight],
"Street": fields[kPPAddressStreet],
"City": fields[kPPAddressCity],
"Jurisdiction": fields[kPPAddressJurisdictionCode],
"Postal code": fields[kPPAddressPostalCode],
/** License information */
"Issue date": fields[kPPDocumentIssueDate],
"Expiration date": fields[kPPDocumentExpirationDate],
"Issuer ID": fields[kPPIssuerIdentificationNumber],
"Jurisdiction version": fields[kPPJurisdictionVersionNumber],
"Vehicle class": fields[kPPJurisdictionVehicleClass],
"Restrictions": fields[kPPJurisdictionRestrictionCodes],
"Endorsments": fields[kPPJurisdictionEndorsementCodes],
"Customer ID": fields[kPPCustomerIdNumber]
};
}
}
},
// Register the error callback
function errorHandler(err) {
console.log("error: " + err);
$scope.warnings = err;
},
types, options, licenseiOs, licenseAndroid
);
};
//***END PDF417 SCANNER***
});
}])

/**
* ROUTING
*/
.config(function($ionicConfigProvider, $stateProvider, $urlRouterProvider)
{

$ionicConfigProvider.tabs.position('bottom');
$ionicConfigProvider.tabs.style('striped');
$ionicConfigProvider.navBar.alignTitle('center');

$urlRouterProvider.otherwise('/tab/workflow');

$stateProvider
// setup an abstract state for the tabs directive
.state('tab', {
url: '/tab',
abstract: true,
templateUrl: 'partials/tab.html'
})
// Each tab has its own nav history stack:
.state('tab.workflow', {
url: '/workflow',
views: {
'tab-workflow': {
templateUrl: 'partials/tab-workflow.html',
controller: 'workflowCtrl'
}
}
})
});

此外,当我单击按钮以使用“ionic emulate ios”启动 pdf417 以运行模拟器时,这是我的系统日志。
THREAD WARNING: [‘Pdf416Scanner’] took ’12.760742’ ms.
Plugin should use a background thread.

更新:此错误是预期的,因为外围设备在模拟器中不可用,尽管在 ionic View 中测试时我仍然没有任何功能(目前使用 iOS)。

最佳答案

您的问题的答案很简单:Ionic View 仅支持有限数量的插件(目前),并且您不在列表中。

它开始支持更少,但已添加更多。

这是一个相关链接:http://docs.ionic.io/v1.0/docs/view-usage

我建议通过 USB 部署到设备。

关于cordova - 在 Ionic 中调用 Pdf417 phonegap/cordova 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30132924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com