更新记录

1.0.0(2026-11-10)

  • 初始版本

当前版本 1.0.0(2026-11-10),内置阿里云金融级实人认证 SDK 2.3.54。

  • 支持 Android / iOS / HarmonyOS 三端,三端 SDK 二进制已随插件内置
  • init:初始化 SDK(IPv4 / IPv6),返回 SDK 版本号
  • getMetaInfo:获取设备 metaInfo,交业务服务端换取 certifyId
  • verify:用 certifyId 拉起刷脸认证页,回调 code / subCode / message / videoFilePath / faceImage
  • 证件 OCR 三端一致:Android / iOS 由 SDK 内置,鸿蒙初始化时自动注册 OcrFeature
  • 扩展参数:活体视频、进度颜色、OCR 按钮颜色、语言、取景框大小、水波纹样式、屏幕方向、extraJson 透传
  • 统一错误码 9290001~9290008,认证失败时保留 SDK 原始结果码

平台兼容性

uni-app(4.72)

Vue2 Vue2插件版本 Vue3 Vue3插件版本 Chrome Safari app-vue app-vue插件版本 app-nvue app-nvue插件版本 Android Android插件版本 iOS 鸿蒙
√ 1.0.0 √ 1.0.0 × × √ 1.0.0 √ 1.0.0 5.0 1.0.0 - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × - × ×

uni-app x(4.72)

Chrome Safari Android Android插件版本 iOS 鸿蒙 微信小程序
× × 5.0 1.0.0 - - ×

zy-aliyun-verify 阿里云金融级实人认证

支持的功能

阿里云「金融级实人认证(ID Verification)」客户端 SDK 的 UTS 封装,三端 SDK 二进制(2.3.54)已内置在插件目录中,开箱可用。

平台 最低版本 内置 SDK
Android 5.0(API 21) 11 个 aar(com.alipay.face.api)
iOS 12.0 14 个 framework + 8 个 bundle
HarmonyOS Next 4.1+ / 5.0.0 4 个 har(@antdigital/aliyunfacade + 活体 / OCR)

提供的能力:

  • SDK 初始化 init:支持 IPv4 / IPv6,返回 SDK 版本号;须在用户同意隐私政策后调用
  • 获取设备信息 getMetaInfo:返回 metaInfo(JSON 字符串),交给业务服务端换取 certifyId
  • 发起刷脸认证 verify:用服务端下发的 certifyId 拉起 SDK 认证页
  • 证件 OCR:三端均已集成(鸿蒙端初始化时自动 OcrFeature.install() 注册),业务侧无需额外调用
  • 扩展参数:活体视频、进度条颜色、OCR 按钮颜色、显示语言、取景框大小、水波纹样式、屏幕方向,另支持 extraJson 原样透传原生参数
  • 统一结果:code / subCode / message / certifyId / videoFilePath / faceImage / rawJson
  • 统一错误码:9290001~9290008,认证失败时仍保留 SDK 原始 code、subCode

使用方法

1. 引入

import { init, getMetaInfo, verify } from '@/uni_modules/zy-aliyun-verify'

2. 整体流程

App                         业务服务端                    阿里云
 |-- init() -------------------|                            |
 |-- getMetaInfo() ----------->|                            |
 |                             |-- InitFaceVerify(metaInfo, 姓名, 证件号) -->|
 |<-------- certifyId ---------|                            |
 |-- verify(certifyId) -----------------------------------> |  刷脸页
 |<------------- code / subCode --------------------------- |
 |                             |-- DescribeFaceVerify -----> |  最终结果

姓名、证件号、AccessKey、服务端签名参数等敏感信息严禁放在客户端。

3. init(options)

init({
  ipv6: false,
  success: (res) => console.log('初始化成功', res.sdkVersion),
  fail: (err) => console.error(err.errCode, err.errMsg)
})
参数 类型 必填 说明
ipv6 boolean 否 是否使用 IPv6 网络初始化,默认 false
success function 否 { code, message, sdkVersion }
fail function 否 见「错误码」
complete function 否 成功 / 失败都会回调

4. getMetaInfo(options)

getMetaInfo({
  autoInit: true,
  success: (res) => {
    // res.metaInfo 上传到业务服务端,换取 certifyId
  },
  fail: (err) => console.error(err.errCode, err.errMsg)
})
参数 类型 必填 说明
autoInit boolean 否 未初始化时是否自动先初始化,默认 true
ipv6 boolean 否 autoInit 生效时的初始化方式,默认 false
success function 否 { code, message, metaInfo }

5. verify(options)

verify({
  certifyId: '服务端返回的 certifyId',
  useMessageBox: true,
  extParams: { useVideo: true, faceCircleSize: 'M' },
  success: (res) => {
    // 仅代表采集流程成功,最终结果需服务端查询
    console.log(res.code, res.subCode, res.videoFilePath)
  },
  fail: (err) => {
    console.error(err.errCode, err.code, err.subCode, err.errMsg)
  }
})
参数 类型 必填 说明
certifyId string 是 服务端 InitFaceVerify 返回的认证 ID,一次性使用
useMessageBox boolean 否 SDK 内部出错是否先弹框提示(Android / Harmony 有效),默认 true
extParams object 否 扩展参数,见下表
success function 否 SDK 返回 1000 时回调
fail function 否 认证失败 / 用户取消 / 参数错误

extParams

字段 类型 说明 Android iOS Harmony
useVideo boolean 返回活体认证视频 ✔ ✔ ✔
screenOrientation string portrait / landscape(鸿蒙对应「强制竖屏」开关) ✔ - ✔
progressColor string 进度条 / 圆环颜色,如 #FF0000 ✔ ✔ ✔
ocrButtonColor string OCR 结果页按钮颜色 ✔ - ✔
language string 自定义语言 ✔ ✔ ✔
waveAnimateClose boolean 关闭水波纹 loading ✔ ✔ ✔
faceCircleSize string 取景框大小 S / M / L ✔ ✔ ✔
extraJson string 额外原生参数 JSON,原样透传 ✔ ✔ ✔

成功结果

字段 类型 说明
code number 固定 1000
subCode string 子结果码,如 Z5120
message string 结果描述
certifyId string 本次认证 ID
videoFilePath string 活体视频本地路径(useVideo=true 时),可能为空
faceImage string 人脸底图(Harmony 返回 base64 data url),其他平台为空
rawJson string 平台原生完整结果 JSON

6. 错误码

errCode 说明
9290001 参数错误(certifyId 为空等)
9290002 获取上下文失败(请在页面 onLoad 之后调用)
9290003 SDK 初始化失败
9290004 SDK 未初始化,请先调用 init
9290005 获取 metaInfo 失败
9290006 认证失败 / 用户取消(看 code、subCode)
9290007 当前平台不支持
9290008 调用 SDK 异常

SDK 常见结果码:1000 采集成功(仅供参考,是否计费:是)、1001 系统错误、1003 验证中断、2002 网络错误、2003 设备时间错误、2006 认证未通过。 常用子码:Z1008 用户退出、Z1013 活体不通过、Z1019 摄像头权限未赋予、Z1036 未调用 install、Z1037 certifyId 为空、Z5120 认证通过、Z5128 认证未通过。

7. 使用注意

  1. certifyId 一次性使用,每次认证前必须由服务端重新获取;
  2. success 的 1000 只代表采集成功,最终结论以服务端 DescribeFaceVerify 为准;
  3. metaInfo 必须用真机真实数据,禁止硬编码或跨设备复用;
  4. Android 拉起认证前需已授予 CAMERA 权限;iOS 首次由系统弹窗申请;
  5. 三端均不支持模拟器,必须用自定义基座调试;
  6. iOS 自定义基座 / 云打包需带 -ObjC 链接参数;
  7. 三端 OCR 能力一致:Android / iOS 由 SDK 内置模块提供,鸿蒙在初始化时自动调用 OcrFeature.install() 注册,业务侧都无需额外调用;若删除 utssdk/app-harmony/libs/ocrverify.har,鸿蒙端将无法走证件识别流程;
  8. screenOrientation、ocrButtonColor 在 iOS 端不生效(iOS SDK 未提供对应参数),其余扩展参数三端一致;
  9. NFC 读卡能力仅 Android(aliyun-nfc)与 iOS(DTFNFCIdentityManager)具备,鸿蒙 SDK 未提供 NFC har,认证方案里若配置 NFC 采集,鸿蒙端不支持。

隐私、权限声明

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

Android:INTERNET / ACCESS_NETWORK_STATE / ACCESS_WIFI_STATE / CAMERA / RECORD_AUDIO / FOREGROUND_SERVICE / 定位;iOS:相机、麦克风;HarmonyOS:INTERNET / GET_NETWORK_INFO / CAMERA

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

仅采集设备环境信息(metaInfo)与刷脸过程数据,交由阿里云金融级实人认证服务处理,插件本身不额外采集或存储任何数据。详情参考 https://help.aliyun.com/zh/id-verification/

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

无

暂无用户评论。