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

  • 相关阅读:
    九度OJ 1031:xxx定律 (基础题)
    九度OJ 1030:毕业bg (01背包、DP)
    九度OJ 1029:魔咒词典 (排序)
    九度OJ 1028:继续畅通工程 (最小生成树)
    九度OJ 1027:欧拉回路 (欧拉回路)
    九度OJ 1026:又一版 A+B (进制转换)
    九度OJ 1025:最大报销额 (01背包、DP)
    九度OJ 1024:畅通工程 (最小生成树)
    九度OJ 1023:EXCEL排序 (排序)
    九度OJ 1022:游船出租 (统计)
  • 原文地址:https://www.cnblogs.com/angenstern/p/11655435.html
Copyright © 2020-2023  润新知