uni-app中html5plus指纹识别认证方法(plus.fingerprint.authenticate),在调用时会弹出一个系统定义的弹窗
uni-app中html5plus指纹识别认证方法(plus.fingerprint.authenticate),在调用时会弹出一个系统定义的弹窗
类别 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC系统版本 | win11 |
HBuilderX类型 | 正式 |
HBuilderX版本 | 4.08 |
手机系统 | Android |
手机版本 | Android 12 |
手机厂商 | OPPO |
手机机型 | PCLM10 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
- 使用最新的hbuilder云打包即可复现
预期结果:
- 在调用
plus.fingerprint.authenticate
方法时不弹出uni自己的弹窗
实际结果:
- 在调用
plus.fingerprint.authenticate
方法时弹出了uni自己的弹窗
bug描述:
项目中要用到指纹功能,且指纹提示窗有定制需求,之前一直使用h5+的plus.fingerprint.authenticate
方法来实现指纹认证,该方法不会产生uni自定义的弹窗,可在4.08版本中却出现了uni的弹窗,望修正!
更多关于uni-app中html5plus指纹识别认证方法(plus.fingerprint.authenticate),在调用时会弹出一个系统定义的弹窗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个bug还存在,请问您是如何解决的呢?
更多关于uni-app中html5plus指纹识别认证方法(plus.fingerprint.authenticate),在调用时会弹出一个系统定义的弹窗的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app 中使用 HTML5+ 的 plus.fingerprint.authenticate
方法进行指纹识别认证时,确实会弹出一个系统定义的弹窗。这个弹窗是系统级别的,用于提示用户进行指纹验证操作。开发者无法自定义这个弹窗的样式或内容,它是由操作系统(如 Android 或 iOS)提供的标准指纹验证界面。
使用方法
以下是一个简单的示例,展示了如何在 uni-app 中使用 plus.fingerprint.authenticate
方法进行指纹识别认证:
// 检查设备是否支持指纹识别
plus.fingerprint.isSupport((result) => {
if (result) {
console.log('设备支持指纹识别');
// 调用指纹识别认证
plus.fingerprint.authenticate((success) => {
console.log('指纹识别成功');
// 在这里处理认证成功后的逻辑
}, (error) => {
console.log('指纹识别失败', error);
// 在这里处理认证失败后的逻辑
});
} else {
console.log('设备不支持指纹识别');
}
});
参数说明
-
plus.fingerprint.isSupport(callback)
:检查设备是否支持指纹识别。callback
是一个回调函数,返回一个布尔值,表示是否支持指纹识别。 -
plus.fingerprint.authenticate(successCallback, errorCallback)
:调用指纹识别认证。successCallback
是认证成功后的回调函数,errorCallback
是认证失败后的回调函数。
注意事项
-
权限问题:在使用指纹识别功能之前,确保你的应用已经获取了相应的权限。在 Android 平台上,你需要在
manifest.json
文件中添加相应的权限声明。 -
系统弹窗:
plus.fingerprint.authenticate
方法会弹出系统定义的指纹验证弹窗,开发者无法自定义这个弹窗的样式或内容。 -
兼容性:虽然大多数现代设备都支持指纹识别,但在一些较旧的设备上可能不支持。因此,在使用之前最好先检查设备是否支持指纹识别功能。
-
错误处理:在
errorCallback
中,你可以处理各种指纹识别失败的情况,例如用户取消操作、指纹不匹配等。
示例场景
假设你正在开发一个需要用户登录的应用,你可以在用户点击登录按钮后调用指纹识别认证。如果认证成功,用户可以直接登录,而不需要输入密码。
function loginWithFingerprint() {
plus.fingerprint.isSupport((result) => {
if (result) {
plus.fingerprint.authenticate(() => {
console.log('指纹识别成功,用户已登录');
// 在这里处理登录逻辑
}, (error) => {
console.log('指纹识别失败,请使用密码登录', error);
// 在这里处理密码登录逻辑
});
} else {
console.log('设备不支持指纹识别,请使用密码登录');
// 在这里处理密码登录逻辑
}
});
}