更新记录
1.0.0(2019-12-16)
1.因项目需要根据腾讯云人脸核身App SDK开发的人脸核身的插件 2.实现输入姓名,身份证号调用腾讯云插件进行人脸核验,结束返回核验结果(腾讯接口返回数据无修改) 3.原生三种核验方式:动作活体,数字活体,光线活体 4.免费使用无任何限制,但腾讯人脸核验需要申请账号 5.后期将继续开发OCR相关 6.目前只支持安卓,IOS后续有时间再开发
平台兼容性
腾讯云人脸核验插件
1.nativeplugins/Tencent-Face/android 目录下tencentfaceverify-release.aar是对应插件
2.WbCloudFaceLiveSdk-v3.0.10-7e6b5f1.aar,WbCloudNormal-v4.0.5-4912a99.aar 是调用腾讯的两个插件
3.因工作繁忙目前该程序金对安卓做了适配,IOS暂未开发,后期将继续开发。谢谢
main.vue 为示意代码 需要申请腾讯云账号
Api参数
参数 | 说明 |
---|---|
appId | 腾讯云账号申请的ID |
keyLicence | 腾讯云分配的keyLicence (线下和腾讯对接获取) |
userid | 用户唯一标识 自己分配 |
nonce | 必须是32位随机数 |
name | 姓名 |
cardnum | 身份证号 |
facetype | 三种活体核身模式参数 data_mode_act_desense 动作活体 data_mode_num 数字活体 data_mode_reflect_desense 光线活体 |
页面
<template>
<view class="content">
<view class="input-group">
<view class="input-row border">
<text class="title">姓名:</text>
<m-input class="m-input" type="text" clearable focus v-model="name" placeholder="请输入姓名"></m-input>
</view>
<view class="input-row">
<text class="title">身份证号:</text>
<m-input type="text" clearable focus v-model="cardnum" placeholder="请输入身份证号"></m-input>
</view>
</view>
<view class="btn-row">
<button type="primary" class="primary" @click="goFaceVerify">启动核验</button>
</view>
</view>
</template>
<script>
import {
mapState,
mapMutations
} from 'vuex'
import mInput from '../../components/m-input.vue'
export default {
components: {
mInput
},
data() {
return {
name: '',
cardnum: '',
appId:'TIDA0001', // appId 腾讯云注册分配
//keyLicence 腾讯云注册分配
keyLicence:'NwKivlx4CuaA0r1Ri/x7VGugcN5bfIUm9Q0ZfUHmr2R6mjwuZUGRUNL+ydQhfRjaCl4s+YdUnVPxGGBfxCeSYpHk0AZIRUHUy5TETKUlSKrolSR+svPde8ZImxQhXIK5Tyr+zweHGZpPzOsuYglLuPeECYNGtDfw+4pTEIXFkwBbUMuoAt/RcLBxGpjB8Ol5meMP/8A10YfWJwPvuhVttMxXX7fIqPVxrC7bMRG8Y0AXUJQtJmFR8u35BvCY1YZYrQ3puOHTVvAdOJH53+w+kKVt1sMzVaa/1qnjgNHtC8DkHJ6+FJx5nOn2Etah7oWKE4dQrd+HOjXQeWFRdb9/ww==',
userId:'',
nonce:'',
sign:'',
//data_mode_act_desense 动作活体
//data_mode_num 数字活体
//data_mode_reflect_desense 光线活体
facetype:'data_mode_num'
}
},
methods: {
goFaceVerify(){
try{
if (this.name === '' || this.cardnum === '') {
uni.showModal({
content: '输入姓名和身份证号',
showCancel: false
});
return;
}
if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/i.test(this.cardnum))) {
uni.showToast({
title: '身份证号校验失败!',
icon: 'none'
});
return
}
this.userId= this.guid();
this.nonce='52014832029547845621032584562012';
//测试签名请使用这个地址拼接获取 直接浏览器中获取
//var url='https://ida.webank.com/ems-partner/cert/signature?appid=' + this.appId + '&nonce=' + this.nonce + '&userid=' + this.userId;
//如 https://ida.webank.com/ems-partner/cert/signature?appid=TIDA0001&nonce=52014832029547845621032584562012&userid=415469909ac54e48be47a1eb00e8e337
//结果 {"code":null,"msg":null,"sign":"300392346177BC1BC97B94F39040D16263FE6636","faceId":null}
this.sign="300392346177BC1BC97B94F39040D16263FE6636";
//引入插件
const tencentFace = uni.requireNativePlugin('Tencent-Face');
tencentFace.goFaceVerify({
sign: this.sign,
appid: this.appId,
userid: this.userId,
nonce: this.nonce,
name: this.name,
cardnum: this.cardnum,
facetype: this.facetype ,
keyLicence: this.keyLicence
}, data => {
if(data.result.success === true) {
uni.showModal({
content: '核验通过',
showCancel: false
});
}
else {
uni.showModal({
content: '核验不通过',
showCancel: false
});
}
});
}catch(e){
//TODO handle the exception
uni.showModal({
content: e.message,
showCancel: false
});
}
},
guid(){
return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
}
}
</script>
<style>
.action-row {
display: flex;
flex-direction: row;
justify-content: center;
}
.action-row navigator {
color: #007aff;
padding: 0 20upx;
}
.oauth-row {
display: flex;
flex-direction: row;
justify-content: center;
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.oauth-image {
width: 100upx;
height: 100upx;
border: 1upx solid #dddddd;
border-radius: 100upx;
margin: 0 40upx;
background-color: #ffffff;
}
.oauth-image image {
width: 60upx;
height: 60upx;
margin: 20upx;
}
</style>
Java 后台 Api 开发参考
根据腾讯接口开发
获取 NONCE ticket https://cloud.tencent.com/document/product/1007/37306
生成签名 https://cloud.tencent.com/document/product/1007/35866