uni-app 指纹认证问题:进行指纹认证时,有厂商指纹认证蒙层,认证成功后点击返回第一次无效

uni-app 指纹认证问题:进行指纹认证时,有厂商指纹认证蒙层,认证成功后点击返回第一次无效

操作步骤:

进行指纹认证,会有系统厂商的指纹认证蒙层(效果参考附件图片),认证成功后,第一次返回无效

预期结果:

能够正常返回

实际结果:

第一次无效,第二次才有效

bug描述:

进行指纹认证后(认证成功),第一次页面返回操作无效,onBackPress也没有触发,第二次才能正常返回。起初我以为是不是进入了另一个页面,但是我获取当前页面路由确定是当前页面

信息类别 信息内容
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win11
HBuilderX类型 正式
HBuilderX版本号 4.07
手机系统 Android
手机系统版本号 Android 13
手机厂商 华为
手机机型 nova 7 pro
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

更多关于uni-app 指纹认证问题:进行指纹认证时,有厂商指纹认证蒙层,认证成功后点击返回第一次无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 指纹认证问题:进行指纹认证时,有厂商指纹认证蒙层,认证成功后点击返回第一次无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在使用 uni-app 进行指纹认证时,如果遇到认证成功后点击返回第一次无效的问题,可能是由于以下几个原因导致的。以下是一些可能的解决方案:

1. 确认指纹认证回调处理

确保在指纹认证成功后,正确处理了回调函数。在 uni-app 中,指纹认证通常通过 uni.authenticate 方法实现。你需要确保在认证成功后,执行了相应的逻辑,例如关闭当前页面或跳转到其他页面。

uni.authenticate({
  type: 'fingerprint',
  success: (res) => {
    // 认证成功后的处理逻辑
    console.log('指纹认证成功', res);
    uni.navigateBack(); // 返回上一页
  },
  fail: (err) => {
    // 认证失败后的处理逻辑
    console.log('指纹认证失败', err);
  }
});

2. 检查返回按钮的事件处理

如果点击返回按钮时没有响应,可能是因为返回按钮的事件处理逻辑没有正确执行。确保你在返回按钮的点击事件中调用了 uni.navigateBack() 方法。

<template>
  <view>
    <button @click="handleBack">返回</button>
  </view>
</template>

<script>
export default {
  methods: {
    handleBack() {
      uni.navigateBack();
    }
  }
};
</script>

3. 处理指纹认证蒙层

有些厂商的指纹认证会在认证时显示一个蒙层(overlay),这可能会影响页面的交互。你可以尝试在认证成功后手动关闭蒙层,或者在认证失败时处理蒙层的显示。

uni.authenticate({
  type: 'fingerprint',
  success: (res) => {
    console.log('指纹认证成功', res);
    // 关闭蒙层
    uni.hideLoading();
    uni.navigateBack();
  },
  fail: (err) => {
    console.log('指纹认证失败', err);
    // 关闭蒙层
    uni.hideLoading();
  }
});

4. 调试和日志输出

在开发过程中,可以使用 console.log 输出调试信息,检查认证成功后的逻辑是否执行,以及返回按钮的点击事件是否被触发。

uni.authenticate({
  type: 'fingerprint',
  success: (res) => {
    console.log('指纹认证成功', res);
    uni.navigateBack();
  },
  fail: (err) => {
    console.log('指纹认证失败', err);
  }
});
回到顶部