
简体中文
uni实人认证是DCloud与合作伙伴共同推出的金融级实人认证服务,通过对比人脸、活体检测、姓名和身份证号码,来确认用户身份的有效性。
实人认证涉及业务开通和付费,涉及客户端和服务器交互,有较多文档:
uni-id-pages,已经内置实人认证,从云端到客户端均已开发好并开源,推荐使用。详情
获取阿里云实人认证meta info
Web | 微信小程序 | Android | iOS | HarmonyOS |
---|---|---|---|---|
x | - | 3.9 | 4.11 | 4.61 |
启动人脸识别
Web | 微信小程序 | Android | iOS | HarmonyOS |
---|---|---|---|---|
x | - | 3.9 | 4.11 | 4.61 |
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
faceStyle | StartFacialRecognitionVerifyOptions | 是 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errCode | number | 是 | - | 错误码 | |||||||||||||||||||||||||||||||||||||
errSubject | string | 是 | - | 调用API的名称 | |||||||||||||||||||||||||||||||||||||
errMsg | string | 是 | - | 错误的详细信息 | |||||||||||||||||||||||||||||||||||||
cause | SourceError | 否 | - | 错误来源 | |||||||||||||||||||||||||||||||||||||
|
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errCode | number | 是 | - | 错误码 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
errSubject | string | 是 | - | 统一错误主题(模块)名称 | |||||||||||||||||||||||||
data | any | 否 | - | 错误信息中包含的数据 | |||||||||||||||||||||||||
cause | Error | 否 | - | 源错误信息,可以包含多个错误,详见SourceError | |||||||||||||||||||||||||
errMsg | string | 是 | - |
示例为 alpha 分支:hello uni-app x(alpha)
master 分支:hello uni-app x(master)
该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验
<template>
<!-- #ifdef APP -->
<scroll-view class="page-scroll-view">
<!-- #endif -->
<view>
<page-head :title="title"></page-head>
<view class="uni-padding-wrap uni-common-mt">
<view class="uni-btn-v uni-common-mt">
<input class="uni-input" type="text" v-model="realName" name="real-name" placeholder="姓名" maxlength="-1" />
</view>
<view class="uni-btn-v uni-common-mt">
<input class="uni-input" type="text" v-model="idCard" name="id-card" placeholder="身份证号" maxlength="-1" />
</view>
<view class="uni-btn-v uni-common-mt">
<button type="primary" @click="facialRecognition">开始人脸识别</button>
</view>
</view>
</view>
<!-- #ifdef APP -->
</scroll-view>
<!-- #endif -->
</template>
<script>
export default {
data() {
return {
title: '实人认证',
realName: '',
idCard: ''
}
},
onReady() {
},
methods: {
facialRecognition() {
const realName = this.realName.trim()
const idCard = this.idCard.trim()
if (realName == '' || idCard == '') {
uni.showModal({
title: '错误',
content: '姓名和身份证号不可为空',
showCancel: false
})
return
}
if('production' === process.env.NODE_ENV && '__UNI__HelloUniAppX'===uni.getAppBaseInfo().appId){
uni.showModal({
title: '提示',
content: '实人认证为收费功能,当前环境暂不支持。请在HBuilderX中新建Hello uni-app x项目真机运行体验!',
showCancel: false
})
return
}
const testFacialCo = uniCloud.importObject('facial-recognition-co')
let metaInfo = uni.getFacialRecognitionMetaInfo();
testFacialCo.getCertifyId({
realName,
idCard,
metaInfo
})
.then((res : UTSJSONObject) : Promise<string> => {
const certifyId = res['certifyId'] as string
return new Promise((
resolve : (res : string) => void,
reject : (err : Error) => void
) => {
uni.startFacialRecognitionVerify({
certifyId,
success() {
resolve(certifyId)
},
fail(err) {
reject(new Error(err.errMsg))
}
})
})
})
.then((certifyId : string) : Promise<UTSJSONObject> => {
return testFacialCo.getAuthResult(certifyId)
})
.then((res : UTSJSONObject) => {
console.log('res', res)
})
.catch((err : any | null) => {
console.error('error', err)
})
}
}
}
</script>
<style>
</style>
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
---|---|---|---|---|---|
errMsg | string | 是 | - | 错误信息 |
armeabi-v7a
和arm64-v8a
,其他CPU类型设备调用uni.getFacialRecognitionMetaInfo()
会返回空字符串,调用uni.startFacialRecognitionVerify()
会触发错误码为10002
的错误回调。