@datalogic/cordova-plugin-datalogic

中文文档
0.4.1发布于 2019/08/27Apache-2.0零依赖近 30 天下载 3350

Android 设备的数据日志 Cordova SDK

中文使用文档
文档目录9 节
  1. 安装
  2. 软件样本
  3. API 参考
  4. 命名空间
  5. 条码管理器
  6. 自动扫描
  7. 键盘管理器
  8. 领队经理
  9. 扫描仪

数据日志 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 在正常情况下,将呼叫,并将返回适当的JSON object。 。 。 .

  • errorCallback 当有错误的时候,将被召唤,而将返回一个错误 string。 。 。 .

命名空间

命名空间说明
条码管理器接收条码数据
自动扫描工作自动扫描特性
键盘管理器设置可用设备触发器
领队经理控制设备LED
扫描仪定义可用的符号

条码管理器


函数说明
添加读取器注册以重拾每次扫描的条码数据 .
按下调试器模拟触发按钮.
释放调试器模拟启动按钮的释放 .

添加读取器( A)successCallback, (中文(简体) ), errorCallback: 对象

注册以重拾每次扫描的条码数据 . successCallback 将被调用 每一次 条码已成功扫描。 因此,你通常只需要打电话 barcodeManager.addReadListener() 一次 在您的申请.

回应
{
   "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 数字 : integer
  • name 数字 : 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 数字 : boolean
  • id 数字 : integer
  • name 数字 : 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 数字 : integer
  • enabled 数字 : 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);

版本与发布记录

@datalogic/cordova-plugin-datalogic 共发布 11 个版本,首次发布于 2018/11/30;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.4.1latest2019/08/277 年前
0.4.02019/08/137 年前
0.3.02019/05/047 年前
0.2.52019/05/047 年前
0.2.42019/03/127 年前
0.2.32018/12/137 年前

关于 @datalogic/cordova-plugin-datalogic 的常见问题

@datalogic/cordova-plugin-datalogic 是什么?

Android 设备的数据日志 Cordova SDK

如何安装 @datalogic/cordova-plugin-datalogic?

在项目目录运行 npm install @datalogic/cordova-plugin-datalogic,或使用 pnpm add / yarn add / bun add。

@datalogic/cordova-plugin-datalogic 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/datalogic__cordova-plugin-datalogic 是否存在。

@datalogic/cordova-plugin-datalogic 可以商用吗?

@datalogic/cordova-plugin-datalogic 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@datalogic/cordova-plugin-datalogic 的下载量有多少?

根据 npm 官方下载统计,@datalogic/cordova-plugin-datalogic 在 2026/10/12 – 2026/11/10 这 30 天内被下载 3,350 次,日均约 112 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@datalogic/cordova-plugin-datalogic 还在维护吗?

最新版本 0.4.1 发布于 2019/08/27(7 年前);至今共发布 11 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/11/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。