使用腾讯云paas服务接口通过视频进行活体校验-人脸识别

  • 需求
  • 1.先判断是否授权摄像机,录音机权限

需求

输入姓名,身份证号,调取微信camera摄像机拍摄视频,并把视频转换成base64格式,上传
IdCard 是 String 身份证号
Name 是 String 姓名。中文请使用UTF-8编码
VideoBase64 否 String 用于活体检测的视频,视频的BASE64值;
BASE64编码后的大小不超过8M,支持mp4、avi、flv格式
三个参数调取腾讯人脸识别接口,腾讯识别接口会从视频中截取一张图片进行身份校验

1.先判断是否授权摄像机,录音机权限

<template><view class="face-wrap"><view class="face-from"><view class="form-item"><view class="form-item-title">真实姓名</view><view class="form-item-con"><inputtype="text"@input="getCardNameHandle"v-model="identityObject.cardname"class="form-item-input"placeholder="请输入真实姓名"placeholder-class="placeholderclass"/></view></view><view class="form-item"><view class="form-item-title">身份证号码</view><view class="form-item-con"><inputtype="number"@input="getCardIDHandle"v-model="identityObject.cardid"class="form-item-input"placeholder="请输入对应的身份证号码"placeholder-class="placeholderclass"/></view></view></view><view v-if="isSubmit" class="form-btn" @click="faceRecognitionHandle">点击开始人脸识别</view><view v-else class="form-disabled">点击开始人脸识别</view></view>
</template><script>
import Utils from '@/common/js/utils.js';
export default {data() {return {identityObject: {cardname: '', //姓名cardid: '' //身份证}};},onLoad(options) {},onShow() {},methods: {/**获取姓名**/getCardNameHandle(e) {let cardname = Utils.trim(e.detail.value);this.identityObject['cardname'] = cardname;},/**获取身份证号**/getCardIDHandle(e) {let cardid = Utils.trim(e.detail.value);this.identityObject['cardid'] = cardid;},/**点击人脸识别**/faceRecognitionHandle() {const identityObject = this.identityObject;if (!(identityObject.cardname.length > 0 && identityObject.cardid.length > 0)) {uni.showToast({title: '不能为空',icon: 'none',mask: true});return false;}if (!Utils.isCardID(identityObject.cardid)) {uni.showToast({title: '证件号错误',icon: 'none',mask: true});return false;}/*** 开始人脸识别* 需求:使用视频验证* **//*** 1.先判断是否授权摄像头,录音* **/this.jsAuthorizeAPI('scope.camera', 1);},/**判断是否授权**/jsAuthorizeAPI(AuthSetting, type) {uni.getSetting({success: setRes => {//scope.record:是否授权录音功能//scope.camera:是否授权摄像头if (setRes.authSetting[AuthSetting] != true) {uni.authorize({scope: AuthSetting,success: authRes => {// 权限开启成功this.authorizeSuccess(type);},fail: authErr => {//权限开启失败uni.showModal({title: '授权' + (type == 1 ? '摄像机' : '录音') + '失败',showCancel: false,content: '点击确定重试',success: modelRes => {if (modelRes.confirm) {this.openSettingAPI(AuthSetting, type);}}});}});} else {this.authorizeSuccess(type);}}});},/**打开授权设置**/openSettingAPI(AuthSetting, type) {uni.openSetting({success: openRes => {if (openRes.authSetting[AuthSetting] != true) {//权限开启失败uni.showModal({title: '授权' + (type == 1 ? '摄像机' : '录音') + '失败',showCancel: false,content: '点击确定重试',success: modelRes => {if (modelRes.confirm) {this.openSettingAPI(AuthSetting, type);}}});} else {// 权限开启成功this.authorizeSuccess(type);}}});},/**授权成功**/authorizeSuccess(type) {if (type == '1') {//摄像头授权成功,授权录音this.jsAuthorizeAPI('scope.record', 2);} else if (type == '2') {console.log('[打开摄像机]');this.getCameraAPI();}},/**拍摄视频**/getCameraAPI() {uni.showLoading({title: '打开摄像头',mask: true});//调取摄像机uni.chooseMedia({count: 1,mediaType: ['video'],sourceType: ['camera'],maxDuration: 5,camera: 'front',success: mediaRes => {console.log('[视频]', mediaRes);let filePath = mediaRes.tempFiles[0].tempFilePath;console.log('[视频数据]', filePath);//把视频转换成base64const fs = uni.getFileSystemManager();fs.readFile({filePath: filePath,encoding: 'base64',success: videoRes => {console.log('[转换成功]', videoRes);//videoRes.data:转成base64格式的视频}});},fail: videoErr => {console.log('[转行失败]', videoErr);}});}});}}
};
</script><style lang="scss" scoped>
.face-wrap {margin: 12px auto;.face-from {border-radius: 8px;display: flex;flex-direction: column;.form-item {width: 91.47%;display: flex;flex-direction: column;margin: auto;margin-top: 20px;.form-item-title {font-size: 16px;font-family: Source Han Sans CN;font-weight: 400;color: #ffffff;}.form-item-con {border-bottom: 2px solid #70737f;height: 35px;display: flex;margin-top: 6px;.form-item-input {flex: 1;height: 100%;font-size: 14px;font-family: Source Han Sans CN;font-weight: 400;color: #ffffff;}.placeholderclass {color: #999999;}}}}.form-btn {width: 91.47%;height: 44px;background: linear-gradient(0deg, #f65555 0%, #e54848 100%);border-radius: 22px;font-size: 18px;font-family: Source Han Sans CN;font-weight: 400;color: #fffefa;position: fixed;display: flex;justify-content: center;align-items: center;bottom: 25px;left: 4.265%;}.form-disabled {background: #1b202f;width: 91.47%;height: 44px;border-radius: 22px;font-size: 18px;font-family: Source Han Sans CN;font-weight: 400;color: #82838f;position: fixed;display: flex;justify-content: center;align-items: center;bottom: 25px;left: 4.265%;}
}
</style>

腾讯云-人脸核身官网

使用腾讯云paas服务接口通过视频进行活体校验-人脸识别相关推荐

  1. 日调度5万亿次,腾讯云微服务架构体系TSF深度解读

    http://www.infoq.com/cn/news/2018/02/deep-interpretation-TSF-cloud-mi 写在前面 当前,传统企业的IT系统以单体架构为主,在面对互联 ...

  2. 日调度5万亿次 腾讯云微服务架构体系TSF深度解读

    点击关注 InfoQ,置顶公众号 接收程序员的 8 点技术早餐 1 写在前面 当前,传统企业的 IT 系统以单体架构为主,在面对互联网业务的冲击时,系统架构的性能瓶颈逐渐显现.云计算.Docker.D ...

  3. asp.net core使用serilog将日志推送到腾讯云日志服务

    为什么是serilog? Serilog是 .NET 中最著名的结构化日志类库. 基于日志事件log events,而不是日志消息log message. 你可以将日志事件格式化为控制台的可读文本或者 ...

  4. 语音识别服务_语音识别服务厂商_腾讯云语音识别服务 - 云+社区 - 腾讯云

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 腾讯云语音识别服务开放实时语音识别.一句话识别和录音文件识别三种服务形式,满足不同 ...

  5. 5分钟了解腾讯云CIS服务和Clear Container

    本文摘自云+社区技术沙龙--<容器服务最佳部署与应用实践>嘉宾的分享,主要介绍了腾讯云CIS服务和Clear Container,希望你们有所收获. 以下内容为嘉宾分享: 今天我讲的主要是 ...

  6. 腾讯云WAF服务再获国内权威研究机构认可,入选中国云WAF实践代表

    上云步伐的加快,使得企业对云端Web应用安全防护的需求由附加项转为"关键信息基础设施",并带来了新的应用命题.8月18日,中国领先的行业和市场大数据库头豹研究院联合全球著名增长咨询 ...

  7. 腾讯云学生服务器官网地址(附用途指南)

    腾讯云学生服务器官网地址:https://cloud.tencent.com/act/campus 限购1台,完成学生认证可获3次在本页面优惠续费的资格. 一个学生身份,只能享受低价续费3次!所以,推 ...

  8. 腾讯云学生服务器官网地址-腾讯云学生服务器如何购买

    腾讯云学生服务器官网地址:https://cloud.tencent.com/act/campus 限购1台,完成学生认证可获3次在本页面优惠续费的资格. 一个学生身份,只能享受低价续费3次!所以,推 ...

  9. 腾讯云mysql服务cpu毛刺问题

    腾讯云mysql服务,解决cpu毛刺问题. 有些sql语句没有使用索引,执行全表扫描,但是因为mysql性能很好,查询返回速度也很快,所以没有达到慢查询的阈值,在慢查询监控中看不到,但是会产生cpu毛 ...

  10. 腾讯云TRTC服务实现小程序语音/视屏会议

    腾讯云TRTC服务的入门 TRTC 是腾讯云主打全平台互通的多人音视频通话和低延时互动直播解决方案.TRTC服务有多种客户端的支持,对于IOS.Android.React native等都支持的比较好 ...

最新文章

  1. Django基础知识
  2. 留言本的漏洞挖掘总结
  3. C++ Primer 5th笔记(chap 13 拷贝控制)引用限定符
  4. 机器学习算法--ALS
  5. 苹果断开电脑连接服务器无响应,mac电脑iTerm2链接linux服务器断线解决方案
  6. Hive 分区表操作 创建、删除
  7. 1288:三角形最佳路径问题-2019-07-04
  8. web 服务器 内存 影响_工业环境软件套件 CODESYS web 服务器被曝严重的RCE漏洞
  9. js学习总结----深入扩展-js同步与异步编程
  10. 选择数据分析软件时要注意什么
  11. 书籍-从Paxos到Zookeeper分布式一致性原理与实践
  12. springcloud之ribbon负载均衡
  13. 【老生谈算法】matlab实现傅里叶变换算法源码——傅里叶变换
  14. 2017年第八届C/C++ B组蓝桥杯省赛真题
  15. 慧荣SM2246XT主控的固态硬盘修复开卡不识别怎么短接方法
  16. python百分号用法_python中百分号表示什么意思
  17. 企业如何搭建内部知识库Wiki?为什么需要知识库?
  18. lync2013持久聊天服务器如何修复,Lync Server 2013:持久聊天服务器所需的资源 - Lync Server | Microsoft Docs...
  19. Spark开发环境的搭建(一)
  20. python应用_恺撒密码加密与解密

热门文章

  1. 英语介绍嵌入式计算机,计算机专业的英文自我介绍
  2. E45: 'readonly' option is set (add ! to override)
  3. 商业银行理财业务监督管理办法-2018年9月26日
  4. 2019开源BI软件排行榜
  5. 离线强化学习(Offline RL)系列2: (环境篇)D4RL数据集简介、安装及错误解决
  6. 鼠标中键控制音量大小
  7. N-BaIoT-Network-based-Detection-of-IoT-Botnet-Attacks
  8. 计算机断电会自动重启吗,电脑开机断电或自动重启的分析及解决方法
  9. 高数-极限-求极限值--两个重要极限(以及拓展公式)
  10. 智慧课堂实时监测系统