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
更多关于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);
}
});