更新记录
1.0(2023-04-09)
初始化版本发布。
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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-ArcFaceFree Description: 封装了软虹人脸识别功能、可进行离线人脸识别 /
概述
封装的虹软人脸检测sdk,将信息注册到本地,打开摄像头返回检测到的结果。
模块使用攻略
1.需要动态申请权限(CAMERA,READ_PHONE_STATE)
接口
isActivated
是否激活成功
isActivated()
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
activeCode : ''
}
示例代码
const demoModule = uni.requireNativePlugin('XF-ArcFaceFreeModule');
var json = demoModule.isActivated();
可用性
Android系统
可提供的1.0.0及更高版本
getDeviceInfo
获取设备信息
getDeviceInfo()
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
deviceInfo : ''
}
示例代码
const demoModule = uni.requireNativePlugin('XF-ArcFaceFreeModule');
var json = demoModule.getDeviceInfo();
可用性
Android系统
可提供的1.0.0及更高版本
active
在线激活设备
active({params}, callback(ret))
params
appId:
- 类型:字符串
- 描述:(可选项) appId。
sdkKey:
- 类型:字符串
- 描述:(可选项) sdkKey。
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
msg: ""
}
示例代码
const demoModule = uni.requireNativePlugin('XF-ArcFaceFreeModule');
demoModule.active({
appId: 'AsabgmoAxZMxkB3kDZCzQvnXECKVFnLhmsviVBhUwFfW',
sdkKey: '73pfJnCNXYji7R5rj6UR9M7mtW9AXxzajTa765NK5xrS'
}, function(ret) {
});
可用性
Android系统
可提供的1.0.0及更高版本
activeOnline
在线激活设备
activeOnline({params}, callback(ret))
params
appId:
- 类型:字符串
- 描述:(可选项) appId。
sdkKey:
- 类型:字符串
- 描述:(可选项) sdkKey。
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
msg: ""
}
示例代码
const demoModule = uni.requireNativePlugin('XF-ArcFaceFreeModule');
demoModule.activeOnline({
appId: 'AsabgmoAxZMxkB3kDZCzQvnXECKVFnLhmsviVBhUwFfW',
sdkKey: '73pfJnCNXYji7R5rj6UR9M7mtW9AXxzajTa765NK5xrS'
}, 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-ArcFaceFreeModule');
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-ArcFaceFreeModule');
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-ArcFaceFreeModule');
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-ArcFaceFreeModule');
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-ArcFaceFreeModule');
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-ArcFaceFreeModule');
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-ArcFaceFreeModule');
demoModule.saveAllUser({
dataList : [{...}]
},function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
Android系统
可提供的1.0.0及更高版本
<XF-ArcFaceFreeComponent ref='ArcFaceFreeComponent'
:dataList = "dataList"
style="width:300;height:400"
@onSuccess="onSuccess">
</XF-ArcFaceFreeComponent>
参数说明:
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.ArcFaceFreeComponent.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.ArcFaceFreeComponent.addFacepassListener(function(ret) {
});
可用性
Android系统
可提供的1.0.0及更高版本
removeFacepassListener
移除人脸对比通过结果监听
removeFacepassListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.ArcFaceFreeComponent.removeFacepassListener(function(ret) {
});
可用性
Android系统
可提供的1.0.0及更高版本
clearLeftFacedata
清除所有活体验证记录
clearLeftFacedata(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.ArcFaceFreeComponent.clearLeftFacedata(function(ret) {
});
可用性
Android系统
可提供的1.0.0及更高版本
switchCamera
相机切换
switchCamera(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.ArcFaceFreeComponent.switchCamera(function(ret) {
});
可用性
Android系统
可提供的1.0.0及更高版本