更新记录
1.0.1(2022-10-17)
1、人脸活体检测与人脸采集
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:11 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
接入前准备
- 百度大脑
- 选择人脸识别 --> 本地化部署 --> 离线采集SDK
- 按配置申请lisence
- 接入步骤(QQ:448401921 不懂可咨询)
注意
- 购买前请先试用,测试没问题再考虑购买
- 本插件只提供两个极简方法满足 人脸采集与活体检测两个基础功能
- 图片返回base64格式
- 在uni-app项目根目录创建nativeplugins文件夹,然后依次在nativeplugins文件夹下创建以下文件夹,并将刚才下载下来的License授权文件放入以下文件夹下
- Android端放置目录:nativeplugins --> ainuo-baiduface --> android --> assets ios端放置目录:nativeplugins --> ainuo-baiduface --> ios
使用插件
初始化
const FaceAPI = uni.requireNativePlugin('ainuo-baiduface');
const keyIds = uni.getSystemInfoSync().platform == 'android' ? 'xxx-face-android' : 'xxx-face-ios';
FaceAPI.initConfig(keyIds, res => {
});
活体检测
FaceAPI.openFaceLiveness(
{
livenessTypeList: [0, 1, 2]
},
res => {
}
);
人脸采集
FaceAPI.openFaceDetect({}, res => {
});
callback返回结构
参数 | 对应值 | 结果 |
---|---|---|
status | 1 | 成功 |
status | sdk常见错误码 | sdk常见错误 |
重要
插件默认不会自行申请任何权限,安卓需要在uniapp中自行获取权限
async checkPermission(code) {
let status = permision.isIOS ? await permision.requestIOS('camera') : await permision.requestAndroid('android.permission.CAMERA');
if (status === null || status === 1) {
status = 1;
} else {
uni.showModal({
content: '需要相机权限',
confirmText: '设置',
success: function(res) {
if (res.confirm) {
permision.gotoAppSetting();
}
}
});
}
return status;
},
方法列表
1.初始化
initConfig(callback(res)=>{})
1.人脸采集,params可传{}
openFaceDetect(params,(res)=>{})
1.活体检测
openFaceLiveness(params,(res)=>{})
支持参数及params
{
livenessTypeList,//liveActionList
/**
* 0, 眨眨眼
* 1, 张张嘴
* 2, 向右摇头
* 3, 向左摇头
* 4, 抬头
* 5, 低头
* 6, 摇头
*/
isOpenSound,//开启声音 true/false
livenessRandom,//是否随机 true/false
}