更新记录

1.4(2022-10-10)

  1. 新增批量保存用户数据接口(saveAllUser)。

1.2(2022-08-30)

1.去掉插件本地储人脸图片的逻辑。

1.1(2022-07-28)

初始版本发布。

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


/ Title: XF-ArcFacePlus Description: 封装了软虹人脸识别功能、可进行离线人脸识别 /

[isActivated](#a0) [getDeviceInfo](#a1) [active](#a2) [activeFile](#a3) [addUser](#a4) [countUser](#a5) [clearAllUser](#a6) [removeUser](#a7) [getUser](#a8) [listUser](#a9) [saveAllUser](#a10)

概述

封装的虹软人脸检测sdk,将信息注册到本地,打开摄像头返回检测到的结果。

模块使用攻略

1.需要动态申请权限(CAMERA,READ_PHONE_STATE)

接口

isActivated

是否激活成功

isActivated()

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
    activeCode : ''
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
var json = demoModule.isActivated();

可用性

Android系统

可提供的1.0.0及更高版本

getDeviceInfo

获取设备信息

getDeviceInfo()

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
    deviceInfo : ''
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
var json = demoModule.getDeviceInfo();

可用性

Android系统

可提供的1.0.0及更高版本

active

在线激活设备

active({params}, callback(ret))

params

activeKey:

  • 类型:字符串
  • 描述:(可选项) activeKey。

appId:

  • 类型:字符串
  • 描述:(可选项) appId。

sdkKey:

  • 类型:字符串
  • 描述:(可选项) sdkKey。

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,  //布尔型;true||false
    msg: ""
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.active({
    activeKey: '085T-1131-T1R5-AXWW',
    appId: 'AsabgmoAxZMxkB3kDZCzQvnXECKVFnLhmsviVBhUwFfW',
    sdkKey: '73pfJnCNXYji7R5rj6UR9M7mtW9AXxzajTa765NK5xrS'
}, function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

activeFile

离线激活引擎

activeFile({params}, callback(ret))

params

filePath:

  • 类型:字符串
  • 描述:(可选项) 离线授权文件路径

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.activeFile({
    filePath : ''
},function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

addUser

在本地注册用户

addUser({params}, callback(ret))

params

userId:

  • 类型:字符串
  • 描述:(必填项) 用户唯一的id,用来区分每个用户的相关信息和存放位置,必须保证唯一。

faceImage:

  • 类型:字符串
  • 描述:(必填项) 注册人员图片,(支持本地路径、http://)。

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.addUser({
    userId : '12222222',
    faceImage : ''
},function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

countUser

获取本地注册用户数

countUser(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    count : 0  //
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.countUser(function(ret, err) {
});

可用性

Android系统

可提供的1.0.0及更高版本

clearAllUser

清空所有本地注册用户

clearAllUser(callback(ret))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.clearAllUser(function(ret, err) {
});

可用性

Android系统

可提供的1.0.0及更高版本

removeUser

移除指定的本地注册用户

removeUser({params}, callback(ret))

params

userId:

  • 类型:字符串
  • 描述:(必填项)需要删除用户的用户id

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.removeUser({
    userId : '12222222'
},function(ret, err) {
});

可用性

Android系统

可提供的1.0.0及更高版本

getUser

获取指定的本地注册用户信息

getUser({params}, callback(ret))

params

userId:

  • 类型:字符串
  • 描述:(必填项)需要查询用户信息的用户id

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    id : '',     //id主键
    userId : '',   //用户id
    imagePath : '', //人脸图片
    faceFeature : '', //特征信息
    time : '',
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.getUser({
    userId : '12222222'
},function(ret, err) {
});

可用性

Android系统

可提供的1.0.0及更高版本

listUser

获取本地所有注册用户信息

listUser(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    list : [{
    id : '',     //id主键
    userId : '',   //用户id
    imagePath : '', //人脸图片
    faceFeature : '', //特征信息
    time : '',
    }]
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.listUser(function(ret, err) {
});

可用性

Android系统

可提供的1.0.0及更高版本

saveAllUser

批量保存所有注册用户信息

saveAllUser({params},callback(ret, err))

params

dataList:

  • 类型:数组
  • 描述:(必填项)需要导入数据数组
[{
    id : '',     //id主键
    userId : '',   //用户id
    imagePath : '', //人脸图片
    faceFeature : '', //特征信息
    time : '',
}]

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

const demoModule = uni.requireNativePlugin('XF-ArcFacePlusModule');
demoModule.saveAllUser({
    dataList : [{...}]
},function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

[takePhoto](#b1) [addFacepassListener](#b2) [removeFacepassListener](#b3) [clearLeftFacedata](#b4) [switchCamera](#b5) [registerUser](#b6)
<XF-ArcFacePlusComponent ref='ArcFacePlusComponent'
    :dataList = "dataList"
    style="width:300;height:400" 
    @onSuccess="onSuccess">
</XF-ArcFacePlusComponent>

参数说明:

onSuccess:

  • 类型:JSON型
  • 描述:(可选项)界面渲染成功。

onFail:

  • 类型:JSON型
  • 描述:(可选项)界面渲染失败。

dataList:

  • 类型:JSON型
  • 描述:(必填项)相机参数设置。
{
    cameraId : 0,//0是后置摄像头,1是前置摄像头,默认为前置摄像头。
    rgbCameraRotation : 0,//可见光预览额外旋转角度 0,90,180,270
    irCameraRotation : 0,//红外预览额外旋转角度 0,90,180,270
    mirrorHorizontal : false,
    mirrorVertical : false,
    isMirror : false,
    rotate : 3,//旋转角度ID 0: 90度,1:180度,3:270度,4:360度,
    similarThreshold : 0.8,//识别阈值
    rgbThreshold : 0.75,//可见光活体检测阈值
    irThreshold : 0.7,//红外活体检测阈值
    fqThreshold : 0.65,//活体 FQ 检测阈值
    isKeepMaxFace : true,
    maxDetectFaceNum : 1,
    enableLiveness : true,//是否开起活体
    rotation : -1,//旋转角度 -1:getRotation()的值,0: 0度,1:90度,3:180度,4:270度
}

takePhoto

抓拍图片

takePhoto({params},callback(ret))

params

qualityValue:

  • 类型:数字型
  • 描述:(可选项)所拍照片质量 1-100
  • 默认值:100

path:

  • 类型:字符串型
  • 描述:(可选项)图片保存路径

album:

  • 类型:布尔型
  • 描述:(可选项)拍照成功后是否将所拍图片存入系统相册
  • 默认值:false

rotateDegree:

  • 类型:数字型
  • 描述:(可选项)旋转角度
  • 默认值:270

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    imagePath : '',
}

示例代码

this.$refs.arcFacePlusComponent.takePhoto({
},function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

addFacepassListener

设置人脸对比通过结果监听

addFacepassListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    userId : '',
    similar : '',
    evenType : '',
    index : '',
}

示例代码

this.$refs.arcFacePlusComponent.addFacepassListener(function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

removeFacepassListener

移除人脸对比通过结果监听

removeFacepassListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

this.$refs.arcFacePlusComponent.removeFacepassListener(function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

clearLeftFacedata

清除所有活体验证记录

clearLeftFacedata(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

this.$refs.arcFacePlusComponent.clearLeftFacedata(function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

switchCamera

相机切换

switchCamera(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
}

示例代码

this.$refs.arcFacePlusComponent.switchCamera(function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

registerUser

进行注册用户

registerUser(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,   //布尔型;true||false
    userId : '',
}

示例代码

this.$refs.arcFacePlusComponent.registerUser(function(ret) {
});

可用性

Android系统

可提供的1.0.0及更高版本

隐私、权限声明

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

<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

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

插件使用的 软虹 人脸识别 SDK会获取设备唯一标识,用于SDK激活授权,详情可以参考:https://ai.arcsoft.com.cn

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问