npm 包 @codetector/pcsclite 使用教程

阅读时长 10 分钟读完

简介

@codetector/pcsclite 是一个 Node.js 的 npm 包,它提供了对 PC/SC (Personal Computer / Smart Card) 设备的访问。它使用 PC/SC 通用接口,支持多种 PC/SC 设备,包括智能卡、磁卡读卡器等等。

它具有以下特点:

  • 可跨平台使用,支持 Windows、Linux 和 macOS 等操作系统。
  • 支持多种 PC/SC 设备。
  • 提供了简单易用的 API。

在这篇文章中,我们将详细介绍如何使用 @codetector/pcsclite 包。

安装

使用 npm 进行安装:

使用方法

基础使用

以下示例展示了如何使用 @codetector/pcsclite 包:

-- -------------------- ---- -------
----- -------- - --------------------------------

----- ---- - -----------

----------------- ---------------- -
  ---------------- ------ ---------- -------------
  ------------------ ------------- -
    --------------------- ---------- ----- -------------
  ---
  ------------------- ---------------- -
    ---------------------- ---------- ----- --------
    -- ----- ---- --- ------- --
    ----- ------- - ---------- - -------------
    -- --------- -
      -- --------- - ----------------------- -- ------------- - ------------------------ -
        ----------------- ---------- -- ---- ------- --
        ------------------------------------------ ------------- -
          -- ----- -
            -----------------
          -
          ---- -
            ----------------------------
          -
        ---
      -
      ---- -- --------- - ------------------------- -- ------------- - -------------------------- -
        ----------------- ----------- -- ---- -------- --
        ---------------- ---------- - ----------------------- -- ------------- --------- -
          -- ----- -
            -----------------
          -
          ---- -
            ------------------------ ------------ ----- ----------
            ----- ------- - --- ------------- ----- ----- ----- -------
            ------------------------ --- --------- ------------- ----- -
              -- ----- -
                -----------------
              -
              ---- -
                ----------------- ---------- ------
              -
            ---
          -
        ---
      -
    -
  ---
  ---------------- ---------- -
    --------------------- ---------- -----------
  ---
---

---------------- ------------- -
  ------------------------------ -------------
---

此示例将监听任何连接到计算机 USB 端口的智能卡并打印出卡片的任何事件,例如插入和拔出。在这个脚本中,您会在命令行终端上看到输出。

API

pcsclite()

静态方法,返回一个 Parser 对象数组。

这将返回一个 Parser 对象数组。

Parser.on('reader', callback(reader))

此事件将在每个新读卡器连接时触发。它将返回一个读卡器对象作为参数,其中包含读卡器的“名称”。

reader.connect(options, callback)

这将建立与所选读卡器的连接。第一个参数是选项,第二个是回调函数。回调函数返回一个“协议”参数,它是使用的重要通讯协议。

reader.transmit(command, length, protocol, callback)

  • command - 发送到智能卡的命令。
  • length - 命令的长度。
  • protocol - 通信协议。
  • callback - 回调函数,返回接收到的数据(如果有的话)。
-- -------------------- ---- -------
----- ------- - --- -----------
------------------------ --- --------- ------------- ----- -
  -- ----- -
    --------------------- ------------ ----- -----
  -
  ---- -
    ----------------- ---------- ------
  -
---

reader.disconnect(disposition, callback)

  • disposition - 指定卡片处理完成后对卡片应用的断开行为(如 SCARD_LEAVE_CARD)。
  • callback - 回调函数。

示例代码

以下是一个完整的例子:

-- -------------------- ---- -------
----- -------- - --------------------------------
----- ---- - -----------

----------------- ---------------- -
  ---------------- ------ ---------- -------------

  ------------------ ------------- -
    --------------------- ---------- ----- -------------
  ---

  ------------------- ---------------- -
    ---------------------- ---------- ----- --------
    -- ----- ---- --- -------
    ----- ------- - ---------- - -------------

    -- --------- -
      -- ---- -------
      -- --------- - ----------------------- -- ------------- - ------------------------ -
        ----------------- ----------

        -- ----- ---------- ---- --- ------
        ------------------------------------------ ------------- -
          -- ----- -
            -----------------
          -
          ---- -
            ----------------------------
          -
        ---
      -
      -- ---- --------
      ---- -- --------- - ------------------------- -- ------------- - -------------------------- -
        ----------------- -----------
        ---------------- ---------- - ----------------------- -- ------------- --------- -
          -- ----- -
            -----------------
          -
          ---- -
            ------------------------ ------------ ----- ----------

            ----- ------- - --- ------------- ----- ----- ----- -------
            ------------------------ --- --------- ------------- ----- -
              -- ----- -
                --------------------- ------------ ----- -----
              -
              ---- -
                ----------------- ---------- ------
              -
            ---
          -
        ---
      -
    -
  ---

  ---------------- ---------- -
    --------------------- ---------- -----------
  ---
---

---------------- ------------- -
  ------------------------------ -------------
---

总结

@codetector/pcsclite 是一个非常有用的 Node.js 包,它提供了对 PC/SC 设备的访问,使用的 API 简单易用。通过本文的学习,你已经掌握了如何安装和使用这个包。

当我们处理 PC/SC 可编程卡时,此包将成为不可或缺的一部分。因此,熟悉此包的使用方式将使我们轻松处理智能卡的读取和写入操作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056ede81e8991b448e7830

纠错
反馈