首页 > 建站教程 > APP开发,混合APP >  uniapp APP端使用指纹模板做指纹识别功能正文

uniapp APP端使用指纹模板做指纹识别功能

uniapp的APP端使用指纹模板做指纹识别功能,需要用到Fingerprint模块的地址:https://ext.dcloud.net.cn/plugin?id=358

效果图



使用指纹识别必须具备以下条件:
    1、当前设备是否支持指纹识别
    2、当前设备是否设置密码锁屏
    3、当前设备是否已经录入指纹。(Android平台6.0及以上系统支持,只识别标准Android的指纹API,仅适配Google官方指纹识别的标准接口的设备)

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

下面是使用方法:

1、获取权限:在manifest.json文件中配置





2、使用plus.fingerprint.isSupport()方法判断当前设备是否支持指纹识别
if (!plus.fingerprint.isSupport()) {
   plus.nativeUI.toast('此设备不支持指纹识别');
   console.log('此设备不支持指纹识别')
}
3、使用plus.fingerprint.isKeyguardSecure()判断是否开启密码锁屏
if (!plus.fingerprint.isKeyguardSecure()) {
   plus.nativeUI.toast('此设备未设置密码锁屏');
   console.log('此设备未设置密码锁屏')
}
4、使用plus.fingerprint.isEnrolledFingerprints()判断是否录入指纹
if (!plus.fingerprint.isEnrolledFingerprints()) {
   plus.nativeUI.toast('此设备未录入指纹');
   console.log('此设备未录入指纹')
}
下面是对上面代码进行的封装:
fingerprint(){
    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;
        }
    });
}
注:从HBuilderX 2.3.8起,uni-app已经统一了生物认证的实现,并且支持iOS App端的faceID,详见:https://uniapp.dcloud.io/api/system/authentication