|
[ 模块教程 ] zkFinger模块demo示例
[复制链接]
本帖最后由 on_rain 于 2020-6-3 21:40 编辑
1、概述: 本模块主要用于对指纹采集器的包装,当前完美支持对指纹采集器Live20R的开放接口模块包装。
2、测试demo运行图片:
3、测试代码
- var zkFinger = null;
- apiready = function() {
- zkFinger = api.require('zkFinger');
- }
- function zkOpen() {
- //注意:用apicloud的自定义模块开发时,同步代码后,最好重新退出打开app,否则容易卡死,云编译就没问题,血的教训
- var param = {
- 'autoVerify': '1'
- }; //自动检测,初始化后,自动验证指纹,异步回调
- //var param = {'autoVerify':'0'};//不自动检测,需要后面登录时,单独开
- zkFinger.open(param, 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指纹图片保存到自己服务器上,存储
- //重新登录时,再把保存的用户指纹下载下来调用接口初始化进入采集器中
- }
- if (ret.optype == 'verify') { //开启校验,并验证通过
- alert('验证身份成功uid=' + ret.uid)
- }
- }
- });
- }
- function zkInitFingerData() {
- var img1 = $api.getStorage("1");
- var img2 = $api.getStorage("2");
- var str = [{
- 'id': '1',
- 'img': img1
- }, {
- 'id': '2',
- 'img': img2
- }];
- var param = {
- 'datastr': str
- }
- alert(JSON.stringify(param));
- zkFinger.initFingerImg(param, function(ret, err) {
- if (ret.status == 1) { //指纹注册成功
- alert('指纹数据初始化导入成功');
- }
- });
- }
- function zkClose() {
- zkFinger.close();
- }
- function zkInroll() { //开始登记指纹
- var param = {
- 'uid': "1"
- };
- zkFinger.inroll(param, function(ret, err) {
- console.info("开始登记userId=" + userId + '的指纹,' + JSON.stringify(ret));
- });
- }
- function zkInroll2() { //开始登记指纹
- var param = {
- 'uid': "2"
- };
- zkFinger.inroll(param, function(ret, err) {
- console.info("开始登记userId=" + userId + '的指纹,' + JSON.stringify(ret));
- });
- }
- function zkVerify() {
- zkFinger.verify();
- }
- function zkCloseVerify() {
- zkFinger.closeVerify();
- }
- //重要!重要!重要
- //如果您的app不只是在首页使用指纹设备,那么提供个宝贵的调试经验
- //思路是:给 多个页面的 伙伴们,将指纹所有操作都放在 index.html页面,
- //别的页面如果也要用的话,用下面注册事件的方式 调用,是最稳定的
- function initIndexEvent() {
- //注册事件,用于指纹
- api.addEventListener({
- name: 'finger_inroll'
- }, function(ret, err) {
- var userId = ret.value.userId;
- var param = {
- 'uid': '' + userId
- };
- zkFinger.inroll(param, function(ret, err) {
- console.info('开始登记userId=' + userId + '的指纹')
- });
- });
- api.addEventListener({
- name: 'finger_close'
- }, function(ret, err) {
- zkFinger.close();
- });
- }
复制代码
|
本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册
X
|