Commit 543d49f6 by Administrator

PSAM卡接入

parent eee3e689
......@@ -101,6 +101,7 @@ class Application extends EventEmitter {
}));
};
/**
* 获取母卡导出密钥
*/
......
......@@ -18,6 +18,13 @@ import ResApdu from './ResApdu';
class Card extends EventEmitter {
/**
* PSAM卡构造方法
*
* @param device 读写设备
* @param attr PSAM卡序号
* @param protocol 通讯协议
*/
constructor(device, attr, protocol) {
super();
this.device = device;
......
......@@ -3,7 +3,7 @@
* <pre>
*
*
* 描述:设备接入类
* 描述:设备对卡的操作
* 版本:1.0.0
* 日期:2019/01/16
* 作者:ningzp@junmp.com.cn
......@@ -26,6 +26,10 @@ class Device extends EventEmitter {
/**
* 卡片是否已插入
*
* @param changes
* @param reader 读写设备
* @param status 设备状态值
*/
const isCardInserted = (changes, reader, status) => {
return (changes & reader.SCARD_STATE_PRESENT) && (status.state & reader.SCARD_STATE_PRESENT);
......@@ -33,6 +37,10 @@ class Device extends EventEmitter {
/**
* 卡片是否已拔出
*
* @param changes
* @param reader 读写设备
* @param status 设备状态值
*/
const isCardRemoved = (changes, reader, status) => {
return (changes & reader.SCARD_STATE_EMPTY) && (status.state & reader.SCARD_STATE_EMPTY);
......@@ -87,9 +95,9 @@ class Device extends EventEmitter {
/**
* 指令传输
*
* @param data 指令
* @param data 传输数据
* @param res_len 预期响应长度
* @param protocol 协议
* @param protocol 传输协议
* @param cb 回调
*/
transmit(data, res_len, protocol, cb) {
......
......@@ -4,7 +4,7 @@
* <pre>
*
*
* 描述:
* 描述:读写器设备操作
* 版本:1.0.0
* 日期:2019/01/16
* 作者:ningzp@junmp.com.cn
......@@ -14,8 +14,6 @@
* </pre>
*/
const pcsclite = require('@pokusew/pcsclite');
import {EventEmitter} from 'events';
import Device from './Device';
......@@ -30,12 +28,16 @@ class Devices extends EventEmitter {
this.pcsc.on('reader', (reader) => {
const device = new Device(reader);
this.devices[reader.name] = device;
//设备保活事件
this.emit('device-activated', {device, devices: this.listDevices()});
//设备断开
reader.on('end', () => {
delete this.devices[reader.name];
this.emit('device-deactivated', {device, devices: this.listDevices()});
});
//设备异常错误
reader.on('error', (error) => {
this.emit('error', {reader, error});
});
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论