更新记录
1.0.0(2022-08-30)
1.0(2021-08-29) 新版首发
平台兼容性
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原生插件配置”->”云端插件“列表中删除该插件重新选择
UniApp_AlipahVerify
UniApp_AlipahVerify 原生安卓插件致力于让用户轻松对接支付宝人脸识别功能
注意:本插件适用于准备对接支付宝人脸识别功能的用户,减少前端开发成本及时间,使用插件先到支付宝开发文档进行后端(服务端)进行服务端 SDK 接入流程后可进行插件使用!!!,对接流程地址为:https://opendocs.alipay.com/open/02zlo6,需要服务端进行提供重要参数!
完成上面提供的参数及可开始接入插件:
加载模块
const UniAppAlipahVerify = uni.requireNativePlugin('UniApp_AlipahVerify');
检测相机权限是否打开,唤起原生安卓支付宝人脸识别插件代码如下
// Android权限查询
requestAndroidPermission(permissionID) {
return new Promise((resolve, reject) => {
plus.android.requestPermissions(
[permissionID], // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装
function(resultObj) {
console.log(resultObj, 'test')
if (resultObj.granted.includes(permissionID)){
console.log('已获取的权限:' + permissionID);
resolve('granted')
} else if (resultObj.deniedPresent.includes(permissionID)){
console.log('拒绝本次申请的权限:' + permissionID);
resolve('deniedPresent')
} else {
console.log('永久拒绝申请的权限:' + permissionID);
resolve('deniedAlways')
}
},
function(error) {
console.log('申请权限错误:' + error.code + " = " + error.message);
rejected({
code: error.code,
message: error.message
});
}
);
});
},
//唤起人脸识别功能
InitiateCertification() {
this.requestAndroidPermission("android.permission.CAMERA").then((result) => {
if(result == "granted"){
//权限被允许
UniAppAlipahVerify.onCreate({
certifyId: certifyId,(服务端返回)
url: url, (服务端返回)
bizCode: bizCode(自主传值)
}, res => {
if(res){
if(res.code == '200'){
if(res.result.resultStatus == '9000'){
console.log('人脸认证完成')
}else if(res.result.resultStatus == '6001'){
console.log('用户取消了业务流程,主动退出')
}else if(res.result.resultStatus == '4000'){
console.log('系统异常')
}else if(res.result.resultStatus == '6002'){
console.log('网络异常')
}else{
console.log('等待支付宝端完成认证')
}
}
}
})
}else if (result == "deniedAlways") {
//权限被永久拒绝
uni.showModal({
title: '温馨提示',
content: `您已拒绝相机授权将无法使用人脸识别功能,是否去设置打开?`,
success(res) {
if (res.confirm) {
permission.gotoAppPermissionSetting()
}
}
})
}
})
}
字段 | 说明 |
---|---|
certifyId | certifyId(支付宝服务端返回认证流水号) |
url | url(支付宝服务端返回认证 URL) |
bizCode | FACE_SDK:强制使用 App 进行扫脸 |
⬆ | FACE_ALIPAY_SDK:强制使用支付宝 App 进行扫脸,需要确保支付宝 App 已经安装 |
⬆ | LIVINGNESS_SDK:启动活体认证 |
插件说明
注意:上方字段除bizCode为前端自主传值,其余均获取后端(服务端)返回参数!
本插件最适用于APP内强制唤起内部人脸识别,无需是否存在支付宝APP软件;
如有问题可以积极联系作者,作者也在逐步改进和优化;
👇👇👇👇👇👇👇
QQ: 1377589178 备注人脸识别插件😉,欢迎打扰👏!