# @datalogic/cordova-plugin-datalogic 中文文档

规范地址：https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/

版本：0\.4\.1
npm 元数据更新时间：2022-04-05T03:00:31.001Z
中文译文更新时间：2026-11-11T15:00:06.215Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40datalogic/cordova-plugin-datalogic
原文对照：https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/?lang=original
项目主页：https://github.com/datalogic/cordova-plugin-datalogic
源码仓库：https://github.com/datalogic/cordova-plugin-datalogic

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：67.8 kB，17 个文件
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2018-11-29T21:44:02.065Z
- 最新版本发布：2019-08-26T17:48:15.507Z
- 近 30 天下载量：3350（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 0 个）

## 中文简介

Android 设备的数据日志 Cordova SDK

## 安装

```sh
npm install @datalogic/cordova-plugin-datalogic
```

也可以使用：`pnpm add @datalogic/cordova-plugin-datalogic`、`yarn add @datalogic/cordova-plugin-datalogic`、`bun add @datalogic/cordova-plugin-datalogic`

## README

# 数据日志 Cordova 插件

显示 [数据记录Android (Java) SDK](https://github.com/datalogic/datalogic-android-sdk) 作为 [Cordova 插件](https://cordova.apache.org/plugins/?q=cordova-plugin-datalogic)。它允许您接收扫描仪提供的条码数据,以及配置各种扫描仪和设备设置。 以 npm 包形式提供, 方便使用 : [@ datalogic/ cordova- plugin- datalogic](https://www.npmjs.com/package/@datalogic/cordova-plugin-datalogic)。 。 。 .

## 安装

您可以从中安装插件 `npm` 登记册如下:

```bash
npm i @datalogic/cordova-plugin-datalogic
```

_**...或者说**_ 使用以下 Cordova CLI 命令 :

```bash
cordova plugin add @datalogic/cordova-plugin-datalogic
```

_**或者说,**_ 如果您正在使用离子, 此离子命令 :

```bash
ionic cordova plugin add @datalogic/cordova-plugin-datalogic
```

_**或者说,**_ 如果您正在使用 PhoneGap CLI, 此电话Gap 命令 :

````bash
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样本应用,以使用插件演示. 你们可以 [在这里找到他们](https://github.com/datalogic/ionic-samples)。 。 。 .

## API 参考

所有功能都是同步的. 所有职能至少将包括: `successCallback` 财务报告和审定财务报表 `errorCallback` 参数,两者均为回调函数.

-   `successCallback` 在正常情况下,将呼叫,并将返回适当的JSON `object`。 。 。 .
    
-   `errorCallback` 当有错误的时候,将被召唤,而将返回一个错误 `string`。 。 。 .
    

### 命名空间

| 命名空间 | 说明 |
| --- | --- |
| [条码管理器](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-barcodeManager) | 接收条码数据 |
| [自动扫描](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-autoScanTrigger) | 工作自动扫描特性 |
| [键盘管理器](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-keyboardManager) | 设置可用设备触发器 |
| [领队经理](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-ledManager) | 控制设备LED |
| [扫描仪](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-scannerProperties) | 定义可用的符号 |

### 条码管理器

* * *

| 函数 | 说明 |
| --- | --- |
| [添加读取器](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-addreadlistenersuccesscallback-errorcallback-object) | 注册以重拾每次扫描的条码数据 . |
| [按下调试器](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-presstriggersuccesscallback-errorcallback-object) | 模拟触发按钮. |
| [释放调试器](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-releasetriggersuccesscallback-errorcallback-object) | 模拟启动按钮的释放 . |

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

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

##### 回应

-   `barcodeData` 数字 : `string` - 条码数据扫描.
-   `barcodeType` 数字 : `string` - 将是其中之一 `BarcodeID` 定义值 [条码ID 类](https://github.com/datalogic/datalogic-android-sdk/blob/master/sdk/src/main/java/com/datalogic/decode/BarcodeID.java) 输入 [数据日志 Android SDK](https://github.com/datalogic/datalogic-android-sdk)。 。 。 .

```json
{
   "barcodeData": "EUG2997",
   "barcodeType": "CODE128"
}
```

##### 示例

```js
declare let barcodeManager : any;
...
barcodeManager.addReadListner(
   (data) => {
     parsedData = JSON.parse(data);
     alert(parsedData.barcodeData + ", " + parsedData.barcodeType);
   },
   (err)=>{ alert(err); }
);
```

#### .pressTrigger (英语:`successCallback`, (中文(简体) ), `errorCallback`: 对象

调用这种方法来模拟触发按钮按下. 这种方法并不总是立即启动一个抓取;相反,它的行为就像按下物理扫描按钮.

##### 回应

`string` 带有成功信息

##### 示例

```js
barcodeManager.pressTrigger(
  (data) => { alert(data); },
  (err) => { alert(err);}
);
```

#### . release Trigger (英语:`successCallback`, (中文(简体) ), `errorCallback`: 对象

调用这种方法来模拟一个触发按钮的释放. 该方法并不总是立即停止捕获;相反,它的行为就像释放出物理扫描按钮.

##### 回应

`string` 带有成功信息

##### 示例

```js
barcodeManager.releaseTrigger(
  (data) => { alert(data); },
  (err) => { alert(err);}
);
```

### 自动扫描

* * *

| 函数 | 说明 |
| --- | --- |
| [可更改](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-isavailablesuccesscallback-errorcallback-object) | 确定此设备是否有自动扫描功能 . |
| [获取支持范围](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-getsupportedrangessuccesscallback-errorcallback-object) | 获取自动扫描特性的支持范围 . |
| [获取当前距离](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-getcurrentrangesuccesscallback-errorcallback-object) | 获取自动扫描特性的当前范围 . |
| [设置当前距离](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-setcurrentrangeid-successcallback-errorcallback-object) | 设置当前自动扫描特性的范围 . |

#### .is 易读 (`successCallback`, (中文(简体) ), `errorCallback`: 对象

确定此设备是否有自动扫描功能 .

##### 回应

-   `available` 数字 : `boolean` - 显示此设备是否支持自动扫描 .

```json
{ "available": true }
```

##### 示例

```js
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`

如果设备不支持自动扫描 :

```json
{ "supportedRanges":[] }
```

如果支持自动扫描 :

```json
{
  "supportedRanges":[
  {
    "id":0,
    "name":"Near"
  },
  {
    "id":1,
    "name":"Intermediate"
  },
  {
    "id":2,
    "name":"Far"
  }
  ]
}
```

##### 示例

```js
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`

如果设备不支持自动扫描 :

```json
{ "currentRange":null }
```

如果支持自动扫描 :

```json
{
  "currentRange":
  {
      "id":1,
      "name":"Intermediate"
  }
}
```

##### 示例

```js
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` 带有成功信息

##### 示例

设定当前范围为“ 中间 ”

```js
autoScanTrigger.setCurrentRange(
  0,
  (data) => { alert(data); },
  (err) => { alert(err); }
);
```

### 键盘管理器

* * *

| 函数 | 说明 |
| --- | --- |
| [获取所有可操作的绊脚石](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-getallavailabletriggers-successcallback-errorcallback-object) | 获取设备的所有可用的触发器. |
| [allAvailable 调试器](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-setallavailabletriggersenable-successcallback-errorcallback-object) | 设置所有设备触发或关闭 . |
| [调试器设置](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-settriggersconfig-successcallback-errorcallback-object) | 设置一个或多个触发器打开或关闭 . |

#### .获得所有可操作的绊脚石( `successCallback`, (中文(简体) ), `errorCallback`: 对象

获取设备的所有可用的触发器.

##### 回应

`triggers` 数字 : `array` - 阵列中的每个对象都包含:

-   `enabled` 数字 : `boolean`
-   `id` 数字 : `integer`
-   `name` 数字 : `string`

典型的重现 :

```json
{
    "triggers":[
    {
        "enabled":true,
        "id":3,
        "name":"Front Trigger"
    },
    {
        "enabled":false,
        "id":4,
        "name":"Auto Scan Trigger"
    },
    {
        "enabled":false,
        "id":5,
        "name":"Motion Trigger"
    }
    ]
}
```

##### 示例

```js
keyboardManager.getAllAvailableTriggers(
  (data) => { alert(JSON.parse(data).triggers); },
  (err) => { alert(err); }
);
```

#### .set AllAvailable Triggers (英语:`enable`, (中文(简体) ), `successCallback`, (中文(简体) ), `errorCallback`: 对象

设置所有设备触发或关闭 .

##### 回应

`string` 带有成功信息

##### 示例

打开所有触发器.

```js
keyboardManager.setAllAvailableTriggers(
  true,
  (data) => { alert(data); },
  (err) => { alert(err); }
);
```

#### . setTriggers (英语:`config`, (中文(简体) ), `successCallback`, (中文(简体) ), `errorCallback`: 对象

设置一个或多个触发器打开或关闭 。 你可能会打电话 `getAllAvailableTriggers`编辑 `enabled` 每个返回对象的旗帜,然后调用 `setTriggers`。 。 。 .

`config` 数字 : `array` - 阵列中的每个ojbect代表单个触发器. 阵列中的每个对象都包含:

-   `id` 数字 : `integer`
-   `enabled` 数字 : `boolean`

##### 回应

`string` 带有成功信息

##### 示例

```js
//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); }
);
```

### 领队经理

* * *

| 函数 | 说明 |
| --- | --- |
| [设置](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-setledledconfig-successcallback-errorcallback-object) | 设置各种设备LED. |

#### . setLed (中文(简体) )`ledConfig`, (中文(简体) ), `successCallback`, (中文(简体) ), `errorCallback`: 对象

设置各种设备LED. 可以看到 LED 的 enum 值列表 [这里](https://datalogic.github.io/android-sdk-docs/reference/com/datalogic/device/notification/Led.html)。 。 。 .

##### 回应

`string` 带有成功信息

##### 示例

```js
ledManager.setLed({"led": "LED_GOOD_READ", "enable": false}, null, null);
```

### 扫描仪

* * *

| 函数 | 说明 |
| --- | --- |
| [编辑](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-editsuccesscallback-errorcallback-object) | 获取所支持属性的列表以及每个属性的状态(启用或禁用). |
| [存储](https://npmcn.com/package/%40datalogic/cordova-plugin-datalogic/#readme-storeproperties-successcallback-errorcallback-object) | 将修改应用到一个或多个属性,并附带所提供的值. |

#### 编辑( e)`successCallback`, (中文(简体) ), `errorCallback`: 对象

获取所支持的扫描仪属性列表以及每个(启用或禁用)的状态.

##### 回应

单个 JSON 对象,其中包含每个可用符号的对象。 每个符号至少包含以下领域:

-   `enable` 数字 : `boolean` - 如果设置了扫描器以检测此条码类型与否
-   `supported` 数字 : `boolean` - 如果扫描仪支持给定的条码类型或不支持

```json
{
  "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}
}
```

##### 示例

```js
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 符号化

```js
scannerProperties.store({"upcE":{"enable":true,"supported":true}}, null, null);
```

禁用键盘楔形特性

```js
scannerProperties.store({"keyboardWedge":{"enable":false}}, null, null);
```

## 常见问题

### @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 和提交记录判断。

