Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@gdty/tyidcard-npm-sdk

timfeng87MulanPSL-2.01.0.6

身份证阅读器和指纹识别工具包

idcard, 身份证阅读器

readme

tyidcard-npm-sdk

身份证阅读器和指纹识别工具包

兼容 Windows 32 位和 64 位系统,支持大部分身份证阅读器。
开发包由广东东信智能科技有限公司提供。

公安部身份证阅读器模块SAM通讯协议

安装

npm install @gdty/tyidcard-npm-sdk

使用示例

// 加载身份证阅读器 DLL
Sdtapi.load('D:\\IdeaProjects\\tyidcard-npm-sdk\\sdtapi_x64.dll');

// 打开端口
let res = Sdtapi.SDT_OpenPort();
if (Constant.RESULT.OK != res) {
    console.error("打开端口......失败");
    return;
}

// 开始寻找身份证卡
res = Sdtapi.SDT_StartFindIDCard();
if (Constant.RESULT.FIND_SUCCESS != res) {
    console.error("正在找卡......失败");
    return;
} else {
    console.log("找卡成功");
}

// 选择身份证卡
res = Sdtapi.SDT_SelectIDCard();
if (Constant.RESULT.OK != res) {
    console.error("正在选卡......失败");
    return;
}

// 读取身份证基本信息
res = Sdtapi.SDT_ReadBaseFPMsg();
if (Constant.RESULT.OK != res.res) {
    res = Sdtapi.SDT_ReadBaseMsg();
    if (Constant.RESULT.OK != res.res) {
        console.error("正在读取基本信息......失败");
        return;
    }
}

console.log(res);

// 解压照片信息
DllFile.load('D:\\IdeaProjects\\tyidcard-npm-sdk\\DLL_File.dll');
let packres = DllFile.unpack(res.photomsg, 1);
console.log(packres);

// 提取指纹信息
let fp = FpUtils.getFp(res.fpmsg);
console.log('----------------------------------');
console.log(fp);

// 加载指纹识别 DLL
Fprapi.load('D:\\IdeaProjects\\tyidcard-npm-sdk\\ID_Fpr.dll');
FprCapapi.load('D:\\IdeaProjects\\tyidcard-npm-sdk\\ID_FprCap.dll');

// 初始化指纹采集
let cpres = FprCapapi.LIVESCAN_Init();
console.log('LIVESCAN_Init:' + cpres);

// 开始采集指纹
cpres = FprCapapi.LIVESCAN_BeginCapture(0);
console.log('LIVESCAN_BeginCapture:' + cpres);

// 获取原始指纹数据
let ckpres = FprCapapi.LIVESCAN_GetFPRawData(0);
console.log(ckpres);

// 获取指纹图像数据
console.log('---------------------------------------');
let cbpres = FprCapapi.LIVESCAN_GetFPBmpData(0);
console.log(cbpres);

// 结束采集
cpres = FprCapapi.LIVESCAN_EndCapture(0);
console.log('LIVESCAN_EndCapture:' + cpres);

// 获取指纹模块版本
let fpres = Fprapi.FP_GetVersion();
console.log('FP_GetVersion:' + fpres);

// 初始化指纹识别
fpres = Fprapi.FP_Begin();
console.log('FP_Begin:' + fpres);

// 指纹匹配
fpres = Fprapi.FP_ImageMatch(ckpres.msg, fp.second);
console.log('FP_ImageMatch:' + fpres.res);

主要模块

  • Sdtapi: 身份证阅读器接口,用于打开端口、查找和选择身份证卡、读取身份证信息。
  • Fprapi: 指纹识别接口,用于获取指纹模块版本、初始化指纹识别、进行指纹匹配。
  • FprCapapi: 指纹采集接口,用于初始化采集、开始和结束采集、获取指纹数据。
  • DllFile: 用于加载 DLL 文件并解压身份证照片信息。
  • FpUtils: 工具类,用于提取指纹信息。
  • Constant: 常量定义,如端口状态、结果代码等。

注意事项

  • 确保正确加载所需的 DLL 文件。
  • 身份证阅读器和指纹识别模块需要物理连接并正常工作。
  • 根据系统架构(x86/x64)选择合适的 DLL 文件。

许可证

请参考项目中的 LICENSE 文件。