更新记录

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

  • NSFaceIDUsageDescription

修改这些原生配置后,需要重新编译并重新安装 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>

试用方法

  1. 点击“试用插件”
  2. 先看设备状态是否支持、是否已录入
  3. 选择认证方式
  4. 点击常见场景按钮发起认证
  5. 查看最近一次认证结果

注意事项

  • 页面层不需要自己判断 Android / iOS,直接调用同一套方法即可。
  • Android 端最终是人脸还是指纹,很多时候由系统和 ROM 决定。
  • iOS 上“密码兜底”通常会先尝试 Face ID / Touch ID,再回退设备密码。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

## 宿主配置 - Android: - `android.permission.USE_BIOMETRIC` - `android.permission.USE_FINGERPRINT` - iOS: - `NSFaceIDUsageDescription`

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无