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及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/04/8