uniapp实人认证
【代码】uniapp实人认证。
·
'use strict';
exports.main = async (event, context) => {
//返回数据给客户端
let result = null
if (event.action === 'getFacialRecognitionMetaInfo') {
const frvManager = uniCloud.getFacialRecognitionVerifyManager({
requestId: context.requestId
})
result = await frvManager.getCertifyId({
idCard: event.idCard,
realName: event.realName,
metaInfo: event.metaInfo
})
}
if (event.action === 'getAuthResult') {
const frvManager = uniCloud.getFacialRecognitionVerifyManager({
requestId: context.requestId
})
result = await frvManager.getAuthResult({
certifyId: event.certifyId
})
}
return result
};
<template>
<view>
<view class="" style="height: 100rpx;" @click="get">
获取认证信息
</view>
<view class="mt16" style="height: 100rpx;" @click="renzheng">
认证
</view>
<view class="mt16" style="height: 100rpx;" @click="getResult">
获取结果
</view>
</view>
</template>
<script setup>
import {
ref
} from 'vue'
const certifyId = ref('')
const get = () => {
const metaInfo = uni.getFacialRecognitionMetaInfo();
console.log(metaInfo); // 打印人脸识别元信息
uniCloud.callFunction({
name: 'gxVerifyLogin',
data: {
action: 'getFacialRecognitionMetaInfo',
realName: '姓名',
idCard: '身份证',
metaInfo,
// needPicture Boolean 否 false 是否需要采集用户照片
// model 要进行活体检测的类型:LIVENESS(默认):眨眼动作活体检测,MULTI_ACTION:多动作活体检测。当前为眨眼+任意摇头检测
}
}).then((res) => {
console.log('res', res)
console.log('certifyId', res?.result.certifyId)
certifyId.value = res?.result?.certifyId || ''
}).catch((res) => {
console.log('res2', res)
})
}
const renzheng = () => {
console.log('认证'); // 打印认证信息
if (certifyId.value) {
uni.startFacialRecognitionVerify({
certifyId: certifyId.value,
progressBarColor: "#CC0000", //刷脸圈的颜色
screenOrientation: "port", //认证界面UI朝向
success: (e) => {
console.log(e, 'success')
setTimeout(() => {
getResult()
}, 1000)
},
fail: (e) => {
console.log(e, 'fail')
},
complete: (e) => {
console.log(e, 'complete')
}
})
}
}
const getResult = () => {
if (certifyId.value) {
uniCloud.callFunction({
name: 'gxVerifyLogin',
data: {
action: 'getAuthResult',
certifyId: certifyId.value,
}
}).then((res) => {
/*
"result": {
"errCode": 0,
"errMsg": "",
"authState": "SUCCESS",
"qualityScore": 80.59619903564453,
"verifyScore": 97.68528288363457
}*/
console.log('res', res)
}).catch((res) => {
console.log('res2', res)
})
}
}
</script>
<style>
</style>
网易易盾是国内领先的数字内容风控服务商,依托网易二十余年的先进技术和一线实践经验沉淀,为客户提供专业可靠的安全服务,涵盖内容安全、业务安全、应用安全、安全专家服务四大领域,全方位保障客户业务合规、稳健和安全运营。
更多推荐

所有评论(0)