云门道串口连接SDK
初始化
import serial from 'ymd-serialsdk'
serial(params);
参数说明
params 类型 Object 参数如下
* api: Api是连接实现层,默认是串口连接(WebApi)
读取身份证(B卡)
import {readBCard} from 'ymd-serialsdk'
readBCard().then((data)=>{
console.log(data.UUID, data.dnCode);
})
参数说明
返回:
{
UUID: 身份证上的卡号
dnCode: 卡片dnCode
}
读取nfc卡片(A卡)
import {readACard} from 'ymd-serialsdk'
readACard().then((data)=>{
console.log(data.UUID, data.dnCode);
})
参数说明
入参:
type: String // 卡片类型:0x01普通卡, 0x04加密卡片
返回:
{
UUID: 卡号
dnCode: 卡片dnCode
}
读取nfc卡片, 同时支持白卡 支持加密卡, 也支持制卡
import {readCard} from 'ymd-serialsdk'
readCard({}).then((data)=>{
console.log(data.UUID, data.cardId, data.isWhiteCard ,data.dnCode);
})
参数说明
入参:
{
forceWhiteCard: Boolean //只读白卡,不读加密卡
write: Boolean //待制卡功能
}
返回:
{
UUID: 卡号
dnCode: 卡片dnCode
cardId: 物理卡号
isWhiteCard: 是否是白卡
}
指纹模板获取
import {readFinger} from 'ymd-serialsdk'
readFinger({fingerId:'0',count: 4}).open(()=>{
// 串口连接成功后回调
}).process(()=>{
// 指纹录制时回调
}).then((data)=>{
//指纹模板获取后触发
})
参数说明
- fingerId: String 指纹id,这里没有涉及指纹授权,所以可以不填
- count: Number 指纹采集的次数,默认是4
- mode: String 模式,默认是 '0'
方法说明:
- open 方法: 串口连接成功后回调,回调返回参数为空
- process 方法: 指纹录制时回调,即当每一次指纹录制成功时触发,当采集中返回数据如下
- code:String: '00':失败 '01'执行完成 '02'指纹采集中 '03'设备繁忙
- times: String 当前采集的次数
- action: String 指纹采集动作, '01':放下手指 '02': 放开手指
示例
import serial, {readFinger} from 'ymd-serialsdk'
serial();
function recordFinger(){
const count = 4;
const step = 0;
readFinger({count}).open(()=>{
// animation.init()
}).process(()=>{
step++;
if(steop === count){
//指纹录制完成
//animation.playToEnd();
}else{
//指纹录制中
//animation.playTo(step/count)
}
}).then((code)=>{
//指纹同步完成
console.log(code);
})
}
// 注意web serialport出于安全考虑,串口连接必须有用户交互点击触发才会生效,系统自动调用会无法连接成功
document.querySelector('#button').addEventListener('click',recordFinger)