更新记录

1.1.3(2025-12-29) 下载此版本

  1. [Android] 修复32位系统概率性闪退问题
  2. [Android] 优化炫彩流程
  3. [IOS] 优化炫彩流程

1.1.2(2025-12-26) 下载此版本

  1. [Android] 修复了一些bug, 优化炫彩活体
  2. [IOS] 修复了一些bug, 优化炫彩活体

1.1.0(2025-12-16) 下载此版本

  1. 支持Android, IOS
查看更多

平台兼容性

uni-app

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - 6.0 12
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 6.0 12 -

概述

活体检测 (眨眼,摇头,点头,张嘴,远近,炫彩),支持鸿蒙Next, Android, IOS 前后端结合,确保活体检测结果安全可靠。(可用于实人认证,刷脸认证,活体检测等场景)

演示如下:

DEMO

接口文档

导入插件

import { UTS_VerifyInit, UTS_StartLDT, EsLivingDetectResult } from "@/uni_modules/esand-ldt"

API 接口

1. UTS_VerifyInit - 认证初始化

在开始活体检测之前,需要先调用此接口进行初始化。

函数签名:

UTS_VerifyInit(initConfigString: string): Promise<EsLivingDetectResult>

参数说明:

initConfigString (string): JSON字符串格式的配置对象,包含以下字段:

参数名 类型 必填 说明
livingType number 活体类型。1:远近,2:眨眼,3:摇头,4:点头,5:张嘴,6:炫彩。支持多动作组合,如传入 12 表示先做远近活体,后做眨眼活体。一次最多支持4组动作组合
needVideo boolean 是否需要录制视频,默认为 false
useStrictMode number 是否使用严格模式。1:严格模式,0:非严格模式。非严格模式下,炫彩环境检查不通过会使用其他的活体动作,默认为 0
cameraDeviceId number 相机ID。0:后置摄像头,1:前置摄像头(默认)
autoRedirects boolean 是否跳转到 returnURL 页面。如果为 false,不跳转,直接在调用页面返回执行结果。请固定为 false

返回值:

返回 Promise<EsLivingDetectResult>,包含以下字段:

字段名 类型 说明
code string 状态码。ELD_SUCCESS:成功,ELD_FAILED:失败,ELD_PARAME_ERROR:参数异常,ELD_EXCEPTION:发生异常,ELD_UNSUPPORT:不支持此活体类型
msg string 执行结果描述
data string 执行结果数据,用于后续调用服务器接口获取 token

使用示例:

const configData = {
  livingType: 6,           // 炫彩活体
  needVideo: true,         // 需要录制视频
  useStrictMode: 1,        // 严格模式
  cameraDeviceId: 1,       // 前置摄像头
  autoRedirects: false     // 不跳转
};

const res = await UTS_VerifyInit(JSON.stringify(configData));
if (res.code === 'ELD_SUCCESS') {
  // 初始化成功,使用 res.data 调用服务器接口获取 token
  console.log('初始化数据:', res.data);
} else {
  console.error('初始化失败:', res.msg);
}

2. UTS_StartLDT - 发起活体检测

在获取到服务器返回的 token 后,调用此接口开始活体检测流程。

函数签名:

UTS_StartLDT(token: string): Promise<EsLivingDetectResult>

参数说明:

token (string): JSON字符串格式的对象,包含以下字段:

参数名 类型 必填 说明
token string 服务器返回的 token,通过调用服务器初始化接口获取

返回值:

返回 Promise<EsLivingDetectResult>,包含以下字段:

字段名 类型 说明
code string 状态码。ELD_SUCCESS:成功,ELD_FAILED:失败,ELD_PARAME_ERROR:参数异常,ELD_EXCEPTION:发生异常,ELD_UNSUPPORT:不支持此活体类型
msg string 执行结果描述
data string 执行结果数据,用于后续调用服务器验证接口
token string token 值
videopath string 视频文件路径(如果 needVideotrue 时返回)

使用示例:

// token 从服务器初始化接口获取
const tokenData = {
  token: 'your_token_from_server'
};

const result = await UTS_StartLDT(JSON.stringify(tokenData));
if (result.code === 'ELD_SUCCESS') {
  // 活体检测成功,使用 result.data 调用服务器验证接口
  console.log('检测结果数据:', result.data);
  if (result.videopath) {
    console.log('视频路径:', result.videopath);
  }
} else {
  console.error('活体检测失败:', result.msg);
}

完整使用流程

  1. 调用 UTS_VerifyInit 进行初始化

    const initResult = await UTS_VerifyInit(JSON.stringify(configData));
  2. 将初始化返回的 data 发送到服务器获取 token

    // 调用服务器接口(建议放在服务器端,保护 APPCODE)
    const serverResponse = await uni.request({
     url: 'your_server_init_url',
     method: 'POST',
     data: { initMsg: initResult.data }
    });
    const token = serverResponse.data.token;
  3. 调用 UTS_StartLDT 开始活体检测

    const detectResult = await UTS_StartLDT(JSON.stringify({ token }));
  4. 将检测结果发送到服务器进行验证

    // 调用服务器验证接口(建议放在服务器端,保护 APPCODE)
    await uni.request({
     url: 'your_server_verify_url',
     method: 'POST',
     data: {
       token: detectResult.token,
       verifyMsg: detectResult.data
     }
    });

活体类型说明

类型值 名称 说明
1 远近 需要用户将脸部靠近或远离摄像头
2 眨眼 需要用户眨眼
3 摇头 需要用户左右摇头
4 点头 需要用户上下点头
5 张嘴 需要用户张嘴
6 炫彩 需要用户在炫彩光效下完成检测

多动作组合:

  • 支持多个动作组合,如 12 表示先做远近,后做眨眼
  • 一次最多支持 4 组动作组合
  • 组合方式:将多个类型值拼接成数字,如 123 表示先远近、再眨眼、再摇头

注意事项

  1. APPCODE 安全:为了保护 APPCODE,建议将服务器接口调用逻辑放在服务器端,客户端通过自己的服务器转发请求。

  2. 权限配置:使用前请确保在 manifest.json 中配置了相机权限:

    • Android: android.permission.CAMERA
    • iOS: NSCameraUsageDescription
    • 鸿蒙: 相机权限配置
  3. 错误处理:请务必检查返回的 code 字段,只有 ELD_SUCCESS 表示操作成功。

  4. 视频录制:如果设置了 needVideo: true,检测完成后可通过 videopath 字段获取视频文件路径。

联系我

有任何疑问或者问题,可通过如下方式联系我

*** Number: esand_info
QQ Number: 3626921591
Phone Number: +8613691664797
Email: reid.li@foxmail.com
Telegram: @R90000000

*** QR CODE :

QRCODE

隐私、权限声明

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

- Android: `android.permission.CAMERA` - iOS: `NSCameraUsageDescription` - 鸿蒙: 相机权限配置

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

将会采集用户人脸照片,用于活体检测/人脸识别,具体以业务为准

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

不包含

许可协议

MIT协议

暂无用户评论。