帖子
帖子
用户
博客
课程
显示全部楼层
19
帖子
1
勋章
4621
Y币

[ 模块教程 ] zkFinger模块demo示例

[复制链接]
发表于 2020-6-3 20:03:45
本帖最后由 on_rain 于 2020-6-3 21:40 编辑

1、概述:     本模块主要用于对指纹采集器的包装,当前完美支持对指纹采集器Live20R的开放接口模块包装。

2、测试demo运行图片:

3、测试代码
  1.        var zkFinger = null;
  2.         apiready = function() {
  3.             zkFinger = api.require('zkFinger');
  4.         }

  5.         function zkOpen() {
  6.             //注意:用apicloud的自定义模块开发时,同步代码后,最好重新退出打开app,否则容易卡死,云编译就没问题,血的教训
  7.             var param = {
  8.                 'autoVerify': '1'
  9.             }; //自动检测,初始化后,自动验证指纹,异步回调
  10.             //var param = {'autoVerify':'0'};//不自动检测,需要后面登录时,单独开
  11.             zkFinger.open(param, function(ret, err) {
  12.                 console.info("指纹设备启动成功回调:" + JSON.stringify(ret));
  13.                 if (ret.status == 1) {
  14.                     if (ret.optype == 'open') { //指纹打开成功
  15.                         //可以直接 zkInitFingerData()
  16.                         alert('打开成功')
  17.                     }
  18.                     if (ret.optype == 'incroll') { //指纹注册成功
  19.                         $api.setStorage('finger_img_save_' + ret.uid, ret.imgBase64);
  20.                         alert('验证录入成功uid=' + ret.uid)
  21.                             //console.info('ret.imgBase64='+ret.imgBase64)
  22.                             //这里可以做业务,把ret.imgBase64指纹图片保存到自己服务器上,存储
  23.                             //重新登录时,再把保存的用户指纹下载下来调用接口初始化进入采集器中
  24.                     }
  25.                     if (ret.optype == 'verify') { //开启校验,并验证通过
  26.                         alert('验证身份成功uid=' + ret.uid)
  27.                     }
  28.                 }
  29.             });
  30.         }

  31.         function zkInitFingerData() {
  32.             var img1 = $api.getStorage("1");
  33.             var img2 = $api.getStorage("2");
  34.             var str = [{
  35.                 'id': '1',
  36.                 'img': img1
  37.             }, {
  38.                 'id': '2',
  39.                 'img': img2
  40.             }];
  41.             var param = {
  42.                 'datastr': str
  43.             }
  44.             alert(JSON.stringify(param));
  45.             zkFinger.initFingerImg(param, function(ret, err) {
  46.                 if (ret.status == 1) { //指纹注册成功
  47.                     alert('指纹数据初始化导入成功');
  48.                 }
  49.             });
  50.         }

  51.         function zkClose() {
  52.             zkFinger.close();
  53.         }

  54.         function zkInroll() { //开始登记指纹
  55.             var param = {
  56.                 'uid': "1"
  57.             };
  58.             zkFinger.inroll(param, function(ret, err) {
  59.                 console.info("开始登记userId=" + userId + '的指纹,' + JSON.stringify(ret));
  60.             });
  61.         }

  62.         function zkInroll2() { //开始登记指纹
  63.             var param = {
  64.                 'uid': "2"
  65.             };
  66.             zkFinger.inroll(param, function(ret, err) {
  67.                 console.info("开始登记userId=" + userId + '的指纹,' + JSON.stringify(ret));
  68.             });
  69.         }

  70.         function zkVerify() {
  71.             zkFinger.verify();
  72.         }

  73.         function zkCloseVerify() {
  74.             zkFinger.closeVerify();
  75.         }
  76.         //重要!重要!重要
  77.         //如果您的app不只是在首页使用指纹设备,那么提供个宝贵的调试经验
  78.         //思路是:给 多个页面的 伙伴们,将指纹所有操作都放在 index.html页面,
  79.         //别的页面如果也要用的话,用下面注册事件的方式 调用,是最稳定的
  80.         function initIndexEvent() {
  81.             //注册事件,用于指纹
  82.             api.addEventListener({
  83.                 name: 'finger_inroll'
  84.             }, function(ret, err) {
  85.                 var userId = ret.value.userId;
  86.                 var param = {
  87.                     'uid': '' + userId
  88.                 };
  89.                 zkFinger.inroll(param, function(ret, err) {
  90.                     console.info('开始登记userId=' + userId + '的指纹')
  91.                 });
  92.             });
  93.             api.addEventListener({
  94.                 name: 'finger_close'
  95.             }, function(ret, err) {
  96.                 zkFinger.close();
  97.             });
  98.         }
复制代码





本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
9
帖子
0
勋章
40
Y币
采集回来的base64转不成图片啊
您需要登录后才可以回帖 登录

本版积分规则