更新记录

1.0.0(2026-11-05) 下载此版本

1.0.0

  • 首个版本,功能可用

平台兼容性

pk-biometric 生物认证套件

指纹 / 面容认证,基于系统级 Soter 协议封装(uni.startSoterAuthentication),零原生插件。认证结果归一化为统一 kind,方便业务分支处理。

为什么做它

Soter API 返回字段零散(isSupport / isEnrolled / errMsg / errCode 三套体系),错误分类(用户取消 / 未录入 / 锁定)每个项目都要重写。pk-biometric 把支持性探测、录入查询、认证发起、错误归类做成四个归一化方法,不支持的端如实返回 unsupported,不造假。

快速上手

import bio from '@/uni_modules/pk-biometric/js_sdk/index.js';

const matrix = await bio.supportMatrix();
// { modes: [...], usable: ['fingerprint'], anyUsable: true }

if (matrix.anyUsable) {
  const r = await bio.authenticate({
    requestAuthModes: ['fingerprint'],
    authContent: '验证身份后进入'
  });
  if (r.kind === 'authenticated') { /* 通过 */ }
  else if (r.kind === 'user-cancel') { /* 用户取消,可重试 */ }
  else if (r.kind === 'not-enrolled') { /* 引导去系统设置录入 */ }
}

全部方法

方法 说明 返回
isAvailable() 当前环境是否有 Soter API boolean
isSupport(mode) 单模式支持性 { mode, supported, reason }
isEnrolled(mode) 该模式是否已录入 { mode, enrolled, reason }
supportMatrix() 指纹+面容一览 { modes[], usable[], anyUsable }
authenticate(opts) 发起认证。opts: { requestAuthModes, authContent, challenge, _mock } { ok, kind, message, resultJSON? }
describe() 能力一句话(如「指纹已录入;面容不支持」) string

认证结果 kind 对照

kind 含义 建议处理
authenticated 认证通过(带 Soter 签名) 继续业务
user-cancel 用户取消(可重试) 允许再次发起
not-enrolled 生物特征未录入 引导系统设置
lockout 失败次数过多锁定 稍后重试/用锁屏密码
unsupported 设备不支持 降级密码方案
rejected / unknown 未通过 / 其他 提示重试

平台支持

  • App(Android):完整支持(指纹为主,部分机型面容)
  • App(iOS):需勾选 FaceID/TouchID 模块后可用
  • 小程序:微信支持指纹(Soter 源生协议)
  • H5:无 Soter API,isAvailable() 返回 false,业务应降级

示例工程

example/ 为完整可跑工程。在线文档:https://plugins.cnajiu.cn/public/pk-biometric.html

隐私、权限声明

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

无

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

插件不采集任何数据

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

无

许可协议

MIT协议

暂无用户评论。