zkFinger
来自于:开发者立即使用
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
本模块专门针对各类开放的指纹采集器流程包装,主要流程有:开启设备、指纹数据注册、验证指纹是哪个用户的,导入初始化用户指纹数据、关闭连接等主要流程。当前完美支持指纹采集器Live20R的开放接口,可以进行指纹采集,指纹校验,指纹比对功能。(自定义模块开发调试时,同步代码后,建议关闭app重新打开,云编译无影响。)
模块使用攻略
直接插上含usb接口的指纹采集器即可,本模块完美兼容中控指纹采集器Live20R的开放接口。
模块接口
open
开启设备连接
open({params}, callback(ret, err))
params
autoVerify:
- 类型:string
- 描述:(可选项)开启设备后,是否自动验证指纹,异步回调,填1时,自动检测指纹,不需要单独调用verify接口。默认0,不自动检测,需要时检测时,单独调用verify接口。
- 默认值:0
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: 1, //状态值,是int类型,1是成功,0是失败。
optype: 'open', //操作类型,是string类型,等于'open'时,表示指纹设备打开成功;等于'incroll'时,表示指纹注册成功,同时会返回指纹合并后的图片;等于'verify'时,表示身份验证成功,同时会返回指纹所属的用户uid;
uid: '1', //状态值,是string类型,表示用户id,optype是'incroll'和'verify'时,会有值。
imgBase64: '' //状态值,是string类型,表示指纹录入成功时,返回的指纹图片base64,optype是'incroll'时,会有值。
}
err:
- 类型:JSON对象
- 内部字段:
{
}
示例代码
var zkFinger = api.require('zkFinger');
zkFinger.open({
autoVerify: '0'
}, function(ret, err){
console.info("指纹设备启动成功回调:" + JSON.stringify(ret));
if (ret.status == 1) {
if (ret.optype == 'open') { //指纹打开成功
//可以直接 zkInitFingerData()
alert('打开成功')
}
if (ret.optype == 'incroll') { //指纹注册成功
$api.setStorage('finger_img_save_' + ret.uid, ret.imgBase64);
alert('验证录入成功uid='+ret.uid)
//console.info('ret.imgBase64='+ret.imgBase64)
//这里可以做业务,把ret.imgBase64指纹图片保存到自己服务器上,存储
//重新开启app时,再把保存的用户指纹下载下来调用接口初始化进入采集器缓存中
}
if (ret.optype == 'verify') { //开启校验,并验证通过
alert('验证身份成功uid='+ret.uid)
}
}
});
可用性
Android系统
可提供的1.0.0及更高版本
initFingerImg
初始化指纹图片(因为指纹采集器重新连接后,会清除指纹缓存,所以需要每次启动app时,导入进去)
initFingerImg({params}, callback(ret, err))
params
datastr:
- 类型:JSONArray
- 描述:(必填项)json数组,数据保护id和指纹的base64字符串(从上一个接口的异步回调中得到),例如 [{'id':'1','img':'base64Str1'},{'id':'2','img':'base64Str1'}]
- 默认值:[]
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: 1 //指纹导入成功
}
err:
- 类型:JSON对象
- 内部字段:
{
}
示例代码
var str = [{'id':'1','img':'base64Str1'},{'id':'2','img':'base64Str1'}];
var param = {'datastr':str}
zkFinger.initFingerImg(param,function(ret, err){
if(ret.status==1){//指纹注册成功
alert('指纹数据初始化导入成功');
}
});
可用性
Android系统
可提供的1.0.0及更高版本
inroll
采集登记指纹,(指纹开始采集,此时模块会使用toast提示按压3次指纹,成功后,异步回调到open接口的回调函数中。)
inroll({params})
params
uid:
- 类型:string
- 描述:(必填项)用户id唯一标识,用于区分指纹
- 默认值:"1"
示例代码
var param = {'uid':'1'}
zkFinger.inroll(param);
可用性
Android系统
可提供的1.0.0及更高版本
verify
开启验证模式
verify(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: 1, //已开启验证模式
msg: '开始验证,指纹采集开始检测'
}
err:
- 类型:JSON对象
- 内部字段:
{
}
示例代码
zkFinger.verify(function(ret, err){
if(ret.status==1){
alert('已开启验证模式');
}
});
可用性
Android系统
可提供的1.0.0及更高版本
closeVerify
关闭验证模式
closeVerify(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: 1, //已关闭验证模式
msg: '关闭验证,指纹采集不再检测'
}
err:
- 类型:JSON对象
- 内部字段:
{
}
示例代码
zkFinger.verify(function(ret, err){
if(ret.status==1){
alert('已关闭验证模式');
}
});
可用性
Android系统
可提供的1.0.0及更高版本
close
关闭设备
close(callback(ret, err))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: 1, //已关闭设备
msg: '设备已关闭'
}
err:
- 类型:JSON对象
- 内部字段:
{
}
示例代码
zkFinger.close(function(ret, err){
if(ret.status==1){
alert('已关闭设备');
}
});
可用性
Android系统
可提供的1.0.0及更高版本