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

2 回复

这个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 是认证失败后的回调函数。

注意事项

  1. 权限问题:在使用指纹识别功能之前,确保你的应用已经获取了相应的权限。在 Android 平台上,你需要在 manifest.json 文件中添加相应的权限声明。

  2. 系统弹窗plus.fingerprint.authenticate 方法会弹出系统定义的指纹验证弹窗,开发者无法自定义这个弹窗的样式或内容。

  3. 兼容性:虽然大多数现代设备都支持指纹识别,但在一些较旧的设备上可能不支持。因此,在使用之前最好先检查设备是否支持指纹识别功能。

  4. 错误处理:在 errorCallback 中,你可以处理各种指纹识别失败的情况,例如用户取消操作、指纹不匹配等。

示例场景

假设你正在开发一个需要用户登录的应用,你可以在用户点击登录按钮后调用指纹识别认证。如果认证成功,用户可以直接登录,而不需要输入密码。

function loginWithFingerprint() {
  plus.fingerprint.isSupport((result) => {
    if (result) {
      plus.fingerprint.authenticate(() => {
        console.log('指纹识别成功,用户已登录');
        // 在这里处理登录逻辑
      }, (error) => {
        console.log('指纹识别失败,请使用密码登录', error);
        // 在这里处理密码登录逻辑
      });
    } else {
      console.log('设备不支持指纹识别,请使用密码登录');
      // 在这里处理密码登录逻辑
    }
  });
}
回到顶部