• 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指向发生改变,可在回调里使用其他方法

  • 相关阅读:
    测试rar/bz2/tar.gz/gz压缩文档完整性
    php中ajax调用出错的问题
    WIN32_LEAN_AND_MEAN宏
    Windows XP SP3下编译安装check-0.10.0
    Windows XP SP3下成功编译CUint2.1-3
    WebService客户端调用的几种方式
    Webservice 返回数据集 DataSet 及Android显示数据集LiveBindings
    REST 服务器调试 RESTDebugger.exe 和浏览器测试 webservice 调试工具
    delphi android路径 TPath 文件路径,文件管理 file path
    RESTClient 控件 从服务器获得数据集 REST
  • 原文地址:https://www.cnblogs.com/angenstern/p/11655435.html
Copyright © 2020-2023  润新知