zoukankan      html  css  js  c++  java
  • uniapp APP端使用指纹

    使用插件指纹模板:

    https://ext.dcloud.net.cn/plugin?id=358

    Fingerprint模块管理指纹识别

    要使用指纹识别功能需要具备条件:

    • 确认当前设备环境是否支持指纹识别,
    • 当前设备是否设置密码锁屏,
    • 当前设备是否已经录入指纹。

    (Android平台6.0及以上系统支持,只识别标准Android的指纹API,仅适配Google官方指纹识别的标准接口的设备)

    以上条件都要满足才可以使用识别功能,识别功能,指的是与手机中已录入的指纹进行比对检测,也就是说,只要与手机中录入任意指纹比对成功,便可进入成功回调。

    首先需要获取得到权限:

    在 manifest.json文件中配置

    因为目前市场上还是有很多设备不支持指纹,所以要先使用 plus.fingerprint.isSupport()  方法判断(以下三个方法均返回值为Boolean类型)

    // #ifdef APP-PLUS
    if (!plus.fingerprint.isSupport()) {
       plus.nativeUI.toast('此设备不支持指纹识别');
       console.log('此设备不支持指纹识别')
    }
    // #endif

    再使用   plus.fingerprint.isKeyguardSecure()  判断是否开启密码锁屏

    // #ifdef APP-PLUS
    if (!plus.fingerprint.isKeyguardSecure()) {
       plus.nativeUI.toast('此设备未设置密码锁屏');
       console.log('此设备未设置密码锁屏')
    }
    // #endif

    再然后使用   plus.fingerprint.isEnrolledFingerprints()  判断是否录入指纹

    // #ifdef APP-PLUS
    if (!plus.fingerprint.isEnrolledFingerprints()) {
       plus.nativeUI.toast('此设备未录入指纹');
       console.log('此设备未录入指纹')
    }
    // #endif

    因项目需要,这里我将指纹识别封装为一个方法

    fingerprint: function() {
        // #ifdef APP-PLUS
        plus.fingerprint.authenticate(function() {
            console.log('匹配成功');
        }, function(e) {
            switch (e.code) {
                case e.AUTHENTICATE_MISMATCH:
                    plus.nativeUI.toast('指纹匹配失败,请重新输入');
                    break;
                case e.AUTHENTICATE_OVERLIMIT:
                    plus.nativeUI.closeWaiting(); //兼容Android平台关闭等待框
                    plus.nativeUI.toast('指纹识别失败次数超出限制,请使用其它方式进行认证');
                    break;
                case e.CANCEL:
                    plus.nativeUI.toast('已取消识别');
                    break;
                default:
                    plus.nativeUI.closeWaiting(); //兼容Android平台关闭等待框
                    plus.nativeUI.toast('指纹识别失败,请重试');
                    break;
            }
        });
        // #endif
    },

    注:回调里this指向发生改变,可在回调里使用其他方法

  • 相关阅读:
    CF 561 div2 C
    CF #560 div3
    1.11 acm结束了,所以寒假学习Java基础
    11.5 cometoj #12 -- D XOR Pair (数位dp)
    11 .3 数位dp
    10.1 叉积 ,极角排序,扫描法求凸包
    9.11 状态矩阵 与 dp
    9.3 整理一下最短路算法
    9.3 欧拉定理 && 欧拉降幂 (扩展欧拉定理)&& 指数循环节
    Two Arithmetic Progressions (exgcd的一些注意事项
  • 原文地址:https://www.cnblogs.com/angenstern/p/11655435.html
Copyright © 2011-2022 走看看