更新记录
1.0.0(2026-03-17)
- 当前设备生物识别状态展示
- 仅生物识别 / 生物识别或设备密码模式切换
- 登录解锁
- 支付确认
- 查看敏感信息
- 删除前确认
- 取消认证
平台兼容性
uni-app(4.75)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| × |
× |
× |
× |
√ |
√ |
√ |
√ |
√ |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(4.75)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| × |
× |
√ |
√ |
√ |
× |
点击“试用插件”即可直接体验生物识别认证模板页
试用页面就是插件同级目录下的 index.vue。
页面里已经包含:
- 设备状态检查
- 人脸 / 指纹 / 密码兜底按钮
- 常见认证场景
- 最近一次认证结果
功能特性
- 支持 Android / iOS 统一调用生物识别认证
- 支持查询当前设备是否支持、是否已录入、是否可立即认证
- 支持
biometricOnly
- 支持
biometricOrDeviceCredential
- 支持取消当前认证
- 附带完整模板页,方便直接试用
适用场景
- 登录解锁
- 支付确认
- 敏感信息查看
- 危险操作二次确认
安装
将 uni_modules/austin-biometric-auth 复制到项目的 uni_modules 目录下。
权限说明
Android
android.permission.USE_BIOMETRIC
android.permission.USE_FINGERPRINT
iOS
修改这些原生配置后,需要重新编译并重新安装 App / 自定义基座。
API
方法
| 方法名 |
说明 |
getBiometricStatus() |
获取当前设备生物识别状态 |
authenticate(options) |
发起生物识别认证 |
cancelAuthentication() |
取消当前认证 |
authenticate(options) 参数
| 参数名 |
类型 |
是否必填 |
说明 |
reason |
string |
是 |
认证原因说明 |
mode |
string |
否 |
biometricOnly 或 biometricOrDeviceCredential |
title |
string |
否 |
认证标题 |
subtitle |
string |
否 |
认证副标题 |
promptDescription |
string |
否 |
补充说明 |
cancelText |
string |
否 |
取消按钮文案 |
fallbackTitle |
string |
否 |
iOS 回退文案 |
confirmationRequired |
boolean |
否 |
Android 是否需要确认 |
success |
(res:any)=>void |
否 |
成功回调 |
fail |
(res:any)=>void |
否 |
失败回调 |
complete |
(res:any)=>void |
否 |
完成回调 |
返回值字段
getBiometricStatus() 返回字段
| 字段 |
类型 |
说明 |
supported |
boolean |
设备是否支持生物识别 |
enrolled |
boolean |
是否已录入可用信息 |
available |
boolean |
当前是否可立即认证 |
biometryType |
string |
当前识别类型,如 faceId、touchId、fingerprint、none |
platform |
string |
平台,android 或 ios |
deviceCredentialSupported |
boolean |
是否支持设备密码兜底 |
faceIdPermissionDeclared |
boolean |
iOS 是否声明了 Face ID 用途说明 |
errCode |
number |
错误码,成功时一般为 0 |
errMsg |
string |
错误信息 |
note |
string |
当前状态说明 |
authenticate(options) 返回字段
| 字段 |
类型 |
说明 |
ok |
boolean |
是否认证成功 |
platform |
string |
平台,android 或 ios |
authType |
string |
实际认证模式 |
fallbackUsed |
boolean |
是否走了回退逻辑 |
errCode |
number |
错误码,成功时一般为 0 |
errMsg |
string |
错误信息 |
note |
string |
当前结果说明 |
使用示例
<script>
import { getBiometricStatus, authenticate } from '@/uni_modules/austin-biometric-auth'
export default {
methods: {
checkStatus() {
const status = getBiometricStatus()
console.log('biometric status', status)
},
runAuth() {
authenticate({
reason: '请验证身份后继续',
mode: 'biometricOrDeviceCredential',
success(res) {
console.log('认证成功', res)
},
fail(err) {
console.log('认证失败', err)
},
})
},
},
}
</script>
试用方法
- 点击“试用插件”
- 先看设备状态是否支持、是否已录入
- 选择认证方式
- 点击常见场景按钮发起认证
- 查看最近一次认证结果
注意事项
- 页面层不需要自己判断 Android / iOS,直接调用同一套方法即可。
- Android 端最终是人脸还是指纹,很多时候由系统和 ROM 决定。
- iOS 上“密码兜底”通常会先尝试 Face ID / Touch ID,再回退设备密码。