数据日志 Cordova 插件
显示 数据记录Android (Java) SDK 作为 Cordova 插件。它允许您接收扫描仪提供的条码数据,以及配置各种扫描仪和设备设置。 以 npm 包形式提供, 方便使用 : @ datalogic/ cordova- plugin- datalogic。 。 。 .
安装
您可以从中安装插件 npm 登记册如下:
npm i @datalogic/cordova-plugin-datalogic
...或者说 使用以下 Cordova CLI 命令 :
cordova plugin add @datalogic/cordova-plugin-datalogic
或者说, 如果您正在使用离子, 此离子命令 :
ionic cordova plugin add @datalogic/cordova-plugin-datalogic
或者说, 如果您正在使用 PhoneGap CLI, 此电话Gap 命令 :
phonegap plugin add @datalogic/cordova-plugin-datalogic
## Publish new version
Install and use the [np tool](https://github.com/sindresorhus/np):
``` bash
npm install --global np
np
软件样本
提供了几种Ionic样本应用,以使用插件演示. 你们可以 在这里找到他们。 。 。 .
API 参考
所有功能都是同步的. 所有职能至少将包括: successCallback 财务报告和审定财务报表 errorCallback 参数,两者均为回调函数.
-
successCallback在正常情况下,将呼叫,并将返回适当的JSONobject。 。 。 . -
errorCallback当有错误的时候,将被召唤,而将返回一个错误string。 。 。 .
命名空间
| 命名空间 | 说明 |
|---|---|
| 条码管理器 | 接收条码数据 |
| 自动扫描 | 工作自动扫描特性 |
| 键盘管理器 | 设置可用设备触发器 |
| 领队经理 | 控制设备LED |
| 扫描仪 | 定义可用的符号 |
条码管理器
| 函数 | 说明 |
|---|---|
| 添加读取器 | 注册以重拾每次扫描的条码数据 . |
| 按下调试器 | 模拟触发按钮. |
| 释放调试器 | 模拟启动按钮的释放 . |
添加读取器( A)successCallback, (中文(简体) ), errorCallback: 对象
注册以重拾每次扫描的条码数据 . successCallback 将被调用 每一次 条码已成功扫描。 因此,你通常只需要打电话 barcodeManager.addReadListener() 一次 在您的申请.
回应
barcodeData数字 :string- 条码数据扫描.barcodeType数字 :string- 将是其中之一BarcodeID定义值 条码ID 类 输入 数据日志 Android SDK。 。 。 .
{
"barcodeData": "EUG2997",
"barcodeType": "CODE128"
}
示例
declare let barcodeManager : any;
...
barcodeManager.addReadListner(
(data) => {
parsedData = JSON.parse(data);
alert(parsedData.barcodeData + ", " + parsedData.barcodeType);
},
(err)=>{ alert(err); }
);
.pressTrigger (英语:successCallback, (中文(简体) ), errorCallback: 对象
调用这种方法来模拟触发按钮按下. 这种方法并不总是立即启动一个抓取;相反,它的行为就像按下物理扫描按钮.
回应
string 带有成功信息
示例
barcodeManager.pressTrigger(
(data) => { alert(data); },
(err) => { alert(err);}
);
. release Trigger (英语:successCallback, (中文(简体) ), errorCallback: 对象
调用这种方法来模拟一个触发按钮的释放. 该方法并不总是立即停止捕获;相反,它的行为就像释放出物理扫描按钮.
回应
string 带有成功信息
示例
barcodeManager.releaseTrigger(
(data) => { alert(data); },
(err) => { alert(err);}
);
自动扫描
| 函数 | 说明 |
|---|---|
| 可更改 | 确定此设备是否有自动扫描功能 . |
| 获取支持范围 | 获取自动扫描特性的支持范围 . |
| 获取当前距离 | 获取自动扫描特性的当前范围 . |
| 设置当前距离 | 设置当前自动扫描特性的范围 . |
.is 易读 (successCallback, (中文(简体) ), errorCallback: 对象
确定此设备是否有自动扫描功能 .
回应
available数字 :boolean- 显示此设备是否支持自动扫描 .
{ "available": true }
示例
declare let autoScanTrigger : any;
isAvailable : boolean = false;
...
autoScanTrigger.isAvailable(
(data) => {
this.isAvailable = JSON.parse(data).available;
alert(this.isAvailable);
},
(err) => { alert(err); }
);
获得支持范围( T)successCallback, (中文(简体) ), errorCallback: 对象
获取自动扫描特性的支持范围 .
回应
supportedRanges 数字 : array - 提供一系列范围设备支持。 如果设备 deos 不支持自动扫描, 阵列将是空的 。 阵列中的每个对象都包含:
id数字 :integer- 支持范围的一步的独特价值name数字 :string- 与《公约》有关的说明性案文id
如果设备不支持自动扫描 :
{ "supportedRanges":[] }
如果支持自动扫描 :
{
"supportedRanges":[
{
"id":0,
"name":"Near"
},
{
"id":1,
"name":"Intermediate"
},
{
"id":2,
"name":"Far"
}
]
}
示例
declare let autoScanTrigger : any;
autoScanTrigger.getSupportedRanges(
(data) => {
alert(JSON.parse(data).supportedRanges);
if(this.supportedRanges.length == 0)
alert("Device does not support Auto Scan");
},
(err) => { alert(err); }
);
.getCurrent Range (英语:successCallback, (中文(简体) ), errorCallback: 对象
获取自动扫描特性的当前范围 .
回应
currentRange 数字 : object - 包含两个领域:
id数字 :integername数字 :string
如果设备不支持自动扫描 :
{ "currentRange":null }
如果支持自动扫描 :
{
"currentRange":
{
"id":1,
"name":"Intermediate"
}
}
示例
declare let autoScanTrigger : any;
autoScanTrigger.getCurrentRange(
(data) => {
alert(JSON.parse(data).currentRange);
},
(err) => { alert(err); }
);
设置当前范围( T)id, (中文(简体) ), successCallback, (中文(简体) ), errorCallback: 对象
设置当前自动扫描特性的范围 .
id 数字 : integer - 应该符合其中之一 id 由 GetSupported Ranges 函数重排的值.
回应
string 带有成功信息
示例
设定当前范围为“ 中间 ”
autoScanTrigger.setCurrentRange(
0,
(data) => { alert(data); },
(err) => { alert(err); }
);
键盘管理器
| 函数 | 说明 |
|---|---|
| 获取所有可操作的绊脚石 | 获取设备的所有可用的触发器. |
| allAvailable 调试器 | 设置所有设备触发或关闭 . |
| 调试器设置 | 设置一个或多个触发器打开或关闭 . |
.获得所有可操作的绊脚石( successCallback, (中文(简体) ), errorCallback: 对象
获取设备的所有可用的触发器.
回应
triggers 数字 : array - 阵列中的每个对象都包含:
enabled数字 :booleanid数字 :integername数字 :string
典型的重现 :
{
"triggers":[
{
"enabled":true,
"id":3,
"name":"Front Trigger"
},
{
"enabled":false,
"id":4,
"name":"Auto Scan Trigger"
},
{
"enabled":false,
"id":5,
"name":"Motion Trigger"
}
]
}
示例
keyboardManager.getAllAvailableTriggers(
(data) => { alert(JSON.parse(data).triggers); },
(err) => { alert(err); }
);
.set AllAvailable Triggers (英语:enable, (中文(简体) ), successCallback, (中文(简体) ), errorCallback: 对象
设置所有设备触发或关闭 .
回应
string 带有成功信息
示例
打开所有触发器.
keyboardManager.setAllAvailableTriggers(
true,
(data) => { alert(data); },
(err) => { alert(err); }
);
. setTriggers (英语:config, (中文(简体) ), successCallback, (中文(简体) ), errorCallback: 对象
设置一个或多个触发器打开或关闭 。 你可能会打电话 getAllAvailableTriggers编辑 enabled 每个返回对象的旗帜,然后调用 setTriggers。 。 。 .
config 数字 : array - 阵列中的每个ojbect代表单个触发器. 阵列中的每个对象都包含:
id数字 :integerenabled数字 :boolean
回应
string 带有成功信息
示例
//an array os supported triggers
triggers:{id: number, name: string, enabled: boolean}[] = [];
...
keyboardManager.getAllAvailableTriggers(
(data) => {
this.triggers = JSON.parse(data).triggers;
this.triggers[0].enabled = false;
keyboardManager.setTriggers(
this.triggers,
(data) => { alert(data); },
(err) => { alert(err);}
);
},
(err) => { alert(err); }
);
领队经理
| 函数 | 说明 |
|---|---|
| 设置 | 设置各种设备LED. |
. setLed (中文(简体) )ledConfig, (中文(简体) ), successCallback, (中文(简体) ), errorCallback: 对象
设置各种设备LED. 可以看到 LED 的 enum 值列表 这里。 。 。 .
回应
string 带有成功信息
示例
ledManager.setLed({"led": "LED_GOOD_READ", "enable": false}, null, null);
扫描仪
| 函数 | 说明 |
|---|---|
| 编辑 | 获取所支持属性的列表以及每个属性的状态(启用或禁用). |
| 存储 | 将修改应用到一个或多个属性,并附带所提供的值. |
编辑( e)successCallback, (中文(简体) ), errorCallback: 对象
获取所支持的扫描仪属性列表以及每个(启用或禁用)的状态.
回应
单个 JSON 对象,其中包含每个可用符号的对象。 每个符号至少包含以下领域:
enable数字 :boolean- 如果设置了扫描器以检测此条码类型与否supported数字 :boolean- 如果扫描仪支持给定的条码类型或不支持
{
"keyboardWedge":{"enable":true,"supported":true},
"aztec":{"enable":true,"supported":true},
"codabar":{"enable":true,"supported":true},
"code128":{"enable":true,"supported":true},
"code39":{"enable":true,"supported":true},
"code93":{"enable":false,"supported":true},
"composite":{"enable":false,"supported":true},
"datamatrix":{"enable":true,"supported":true},
"digimarc":{"enable":false,"supported":false},
"discrete25":{"enable":false,"supported":true},
"ean13":{"enable":true,"supported":true},
"ean8":{"enable":true,"supported":true},
"gs1DataBar_14":{"enable":true,"supported":true},
"gs1DataBar_Expanded":{"enable":true,"supported":true},
"gs1DataBar_Limited":{"enable":true,"supported":true},
"interleaved25":{"enable":true,"supported":true},
"matrix25":{"enable":false,"supported":true},
"maxicode":{"enable":false,"supported":true},
"microQr":{"enable":false,"supported":true},
"micropdf417":{"enable":false,"supported":true},
"msi":{"enable":false,"supported":true},
"p4State":{"enable":false,"supported":true},
"pAus":{"enable":false,"supported":true},
"pJap":{"enable":false,"supported":true},
"pKix":{"enable":false,"supported":true},
"pPlanet":{"enable":false,"supported":true},
"pPostnet":{"enable":false,"supported":true},
"pRM":{"enable":false,"supported":true},
"pdf417":{"enable":true,"supported":true},
"qrCode":{"enable":true,"supported":true},
"upcA":{"enable":true,"supported":true},
"upcE":{"enable":true,"supported":true}
}
示例
properties : any = {};
...
scannerProperties.edit(
(data) => {
this.properties = JSON.parse(data);
this.aztec = false;
this.codabar = false;
this.code128 = true;
this.keyboardWedge = false;
},
(err) => { alert(err); }
);
.store (中文(简体) )properties, (中文(简体) ), successCallback, (中文(简体) ), errorCallback: 对象
将更改应用到一个或多个符号中,其中提供值为 properties。 。 。 .
回应
string 带有成功信息
实例
启用 UPC- E 符号化
scannerProperties.store({"upcE":{"enable":true,"supported":true}}, null, null);
禁用键盘楔形特性
scannerProperties.store({"keyboardWedge":{"enable":false}}, null, null);