iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >微信小程序官方人脸核身认证的示例分析
  • 486
分享到

微信小程序官方人脸核身认证的示例分析

2023-06-15 08:06:18 486人浏览 八月长安
摘要

这篇文章主要介绍微信小程序官方人脸核身认证的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!小程序收集了下用户个人信息上传被打回来说:你好,小程序页面功能涉及:采集用户生物特征(人脸照片或视频)及其他敏感信息,

这篇文章主要介绍微信小程序官方人脸核身认证的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

小程序收集了下用户个人信息上传被打回来说:

你好,小程序页面功能涉及:采集用户生物特征(人脸照片或视频)及其他敏感信息,用于身份认识或识别,

为保障用户敏感隐私身份信息,平台暂不支持此功能。请去除相关功能后重新提交。

然后就去找度娘搜了下需要申请

wx.startFacialRecognitionVerify({})

https://api.weixin.qq.com/cgi-bin/token?appid=appid&secret=secret&grant_type=client_credential

Https://api.weixin.qq.com/cityservice/face/identify/getinfo?access_token=access_token

https://api.weixin.qq.com/cityservice/face/identify/getimage?access_token=access_token

首先要给申请下来的接口发送俩个参数:名字、身份证号码

photo.js

data: {    openid: '',    custName: '姓名',    custIdCard: '身份证号码',    verifyImg: ''  },    onLoad: function (options) {    this.setData({      custName: options.custName,      custIdCard: options.custIdCard    });    var _this = this;    wx.checkIsSupportFacialRecognition({      checkAliveType: 2,      success: function (res) {        if (res.errCode === 0 || res.errMsg === "checkIsSupportFacialRecognition:ok") {          //调用人脸识别          _this.startface(_this.data.custName.replace(/(^\s*)|(\s*)$/g, ""), _this.data.custIdCard); //身份证名称,身份证号码          return;        }        wx.showToast('微信版本过低,暂时无法使用此功能,请升级微信最新版本')      },      fail: function(res){        wx.showToast('微信版本过低,暂时无法使用此功能,请升级微信最新版本')      }    })  },  startface(name, idcard) {    console.log('我进来了!!!');    var _this = this;    wx.startFacialRecognitionVerify({      name: _this.data.custName, //身份证名称      idCardNumber: _this.data.custIdCard, //身份证号码      success: function (res) {        var verifyResult = res.verifyResult; //认证结果        //调用接口        wx.request({          url: 'https://api.weixin.qq.com/cgi-bin/token?appid=wx2cafec51ec4c2153&secret=8d3e68a5a2c702673340d72d1c7db4cc&grant_type=client_credential',          data: {          },          method: 'POST',          header: {            'content-type': 'application/JSON;charset=utf-8'          },          success: function (res) {            console.log(res.data);            console.log(res.data.access_token)            var token = res.data.access_token;            wx.request({              url: 'https://api.weixin.qq.com/cityservice/face/identify/getinfo?access_token=' + res.data.access_token,              data: {                verify_result: verifyResult              },              method: 'POST',              header: {                'content-type': 'application/json;charset=utf-8'              },              success: function (res) {                console.log(res.data)                console.log('我终于成功了。。。。')                wx.request({                  url: 'https://api.weixin.qq.com/cityservice/face/identify/getimage?access_token=' + token,                  data: {                    verify_result: verifyResult                  },                  method: 'POST',                  responseType: 'arraybuffer',                  header: {                    'content-type': 'application/json;charset=utf-8',                  },                  success: (res) => {                    // console.log('data:image/png;base64,'+wx.arrayBufferToBases64(res))                    console.log(res.data);                    var base64 = wx.arrayBufferToBase64(res.data);                    _this.setData({ verifyImg:'data:image/png;base64,'+ base64})                    wx.navigateTo({                      url: '../msg/msg?msg=恭喜您信息核验成功&verifyImg=' + _this.data.verifyImg                    });                  },                  fail: function (res) {                    console.log('失败', res.data)                  }                })              },              fail: function (res) {              }            })          },          fail: function (res) {          }        })        console.log(verifyResult)        // wx.navigateTo({        //   url: '../msg/msg?msg=人脸核身认证成功'        // });      },      checkAliveType: 2, //屏幕闪烁(人脸核验的交互方式,默认0,读数字)      fail: err => {        wx.showToast('请保持光线充足,面部正对手机,且无遮挡')        wx.navigateTo({          url: '../msg/msg?msg=请保持光线充足,面部正对手机,且无遮挡,请退出重新操作'        });      }    })  }

主要坑的是这样下来得申请好几次接口到最后业务还需要uNIOnid所以还得去微信开放平台申请认证

然后想要拉取核身结果的图片的时候就需要党上面的https://api.weixin.qq.com/cityservice/face/identify/getimage?access_token=access_token

返回的数据需要转成base64码然后显示在image标签上我是直接传给后台的

下面上我msg的js代码

msg.js

const app = getApp();Page({    data: {    msg:'',    verifyImg:'',    url:app.globalData.PostData  },    onLoad: function (options) {    var timestamp = Date.parse(new Date());    timestamp = timestamp/1000    console.log(options)    var that = this;    that.setData({      msg:options.msg,      verifyImg:options.verifyImg    });    console.log(that.data.url)    console.log(that.data.verifyImg)          wx.request({        url: that.data.url+'fileUpload!upBase64.do', //仅为示例,非真实的接口地址        data: {          file:that.data.verifyImg,          filename:timestamp,          filedata:that.data.verifyImg        },        method: 'POST',        header: {          'content-type': 'application/x-www-fORM-urlencoded;charset=utf-8'        },        success:function (res){          const data = res.data          console.log('成功',data);          //do something        },       fail:function(res){         console.log('失败',res)       }              })  }

后台上传base64转换的代码

public void upBase64() {         System.out.println("======开始上传图片====");         System.out.println(file);        Json j = new Json();        String FilePath = ServletActionContext.getServletContext().getRealPath(Constants.IMGPATH+"/"+Constants.PHOTOPATH);          File PathFile = new File(FilePath);        try {            // 如果是IE,那么需要设置为text/html,否则会弹框下载            // response.setContentType("text/html;charset=UTF-8");            response.setContentType("application/json;charset=UTF-8");            String FileName = request.getParameter("filename");            String FileData = request.getParameter("filedata");            System.out.println(FileName+"**************"+FileData);            if (null == FileData || FileData.length() < 50) {                j.setMsg("上传失败,数据太短或不存");                j.setSuccess(false);            } else {                // 去除开头不合理的数据                FileData = FileData.substring(30);                FileData = URLDecoder.decode(FileData, "UTF-8");                System.out.println("FileData="+FileData);                byte[] data = FileUtil.decode(FileData);                                // 写入到文件                 FileOutputStream outputStream = new FileOutputStream(new File(PathFile,FileName));                 outputStream.write(data);                 outputStream.flush();                 outputStream.close();                 System.out.println(FileName+"**************"+FileData);                j.setMsg("上传成功");                j.setSuccess(true);            }        } catch (Exception err) {            j.setMsg("上传失败");            j.setSuccess(false);            err.printStackTrace();        }        writeJson(j);    }

以上是“微信小程序官方人脸核身认证的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 微信小程序官方人脸核身认证的示例分析

本文链接: https://www.lsjlt.com/news/279205.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序官方人脸核身认证的示例分析
    这篇文章主要介绍微信小程序官方人脸核身认证的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!小程序收集了下用户个人信息上传被打回来说:你好,小程序页面功能涉及:采集用户生物特征(人脸照片或视频)及其他敏感信息,...
    99+
    2023-06-15
  • 详解微信小程序官方人脸核身认证
    小程序收集了下用户个人信息上传被打回来说: 你好,小程序页面功能涉及:采集用户生物特征(人脸照片或视频)及其他敏感信息,用于身份认识或识别, 为保障用户敏感隐私身份信息,平台暂不支持...
    99+
    2022-11-12
  • 微信小程序的示例分析
    这篇文章主要介绍微信小程序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!未来的发展趋势未来的发展趋势是一切触手可及。比如去餐馆吃饭,扫一扫二维码就可以看菜单、点菜、付款;到公交站台,扫一扫二维码就知道有哪些...
    99+
    2023-06-26
  • 微信小程序中MD5方法的示例分析
    这篇文章给大家分享的是有关微信小程序中MD5方法的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序 MD5的方法详解生成的文件可以放在  utils文件...
    99+
    2022-10-19
  • 微信小程序兼容方式的示例分析
    这篇文章主要介绍微信小程序兼容方式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!小程序的功能不断的增加,但是旧版本的微信客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容。文档会在组件,API等页面...
    99+
    2023-06-26
  • 微信小程序中wx.previewImage的示例分析
    这篇文章主要为大家展示了“微信小程序中wx.previewImage的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序中wx.previewIm...
    99+
    2022-10-19
  • 微信小程序云开发的示例分析
    这篇文章主要介绍了微信小程序云开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下小程序云开发是微信最近推出的新的一项能...
    99+
    2022-10-19
  • 微信小程序框架wepy的示例分析
    这篇文章将为大家详细讲解有关微信小程序框架wepy的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。wepy框架借鉴了vue的语法风格和功能特性,但是在使用过程中还...
    99+
    2022-10-19
  • 微信小程序中wx.chooseAddress(OBJECT)的示例分析
    这篇文章给大家分享的是有关微信小程序中wx.chooseAddress(OBJECT)的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、wx.chooseAddress...
    99+
    2022-10-19
  • 微信小程序WXS模块的示例分析
    这篇文章给大家分享的是有关微信小程序WXS模块的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。WXS 模块WXS 代码可以编写在 wxml 文件中的 <wxs> 标签内,或...
    99+
    2023-06-26
  • 微信第三方小程序代开发的示例分析
    这篇文章主要为大家展示了“微信第三方小程序代开发的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信第三方小程序代开发的示例分析”这篇文章吧。注意事项:...
    99+
    2022-10-19
  • 微信小程序组件事件的示例分析
    这篇文章主要介绍了微信小程序组件事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。组件事件事件系统是组件间交互的主要形式。自定义组件可以触发任意的事件,引用组件的页...
    99+
    2023-06-26
  • 微信小程序开发中Tabbar的示例分析
    这篇文章将为大家详细讲解有关微信小程序开发中Tabbar的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 Tabbar1.下载微信小程序开发软件;htt...
    99+
    2022-10-19
  • 微信小程序后端开发的示例分析
    这篇文章主要介绍了微信小程序后端开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序后端开发流程根据官网总结为两个步骤1、...
    99+
    2022-10-19
  • 微信小程序商城项目的示例分析
    这篇文章主要为大家展示了“微信小程序商城项目的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序商城项目的示例分析”这篇文章吧。页面分析:使用fo...
    99+
    2022-10-19
  • 微信小程序class封装http的示例分析
    这篇文章将为大家详细讲解有关微信小程序class封装http的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下config.jsvar confi...
    99+
    2022-10-19
  • 微信小程序开发实践的示例分析
    这篇文章主要介绍了微信小程序开发实践的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。小程序由于微信提供了一些组件,在微信中的一些体验确实不错,对于开发来说,由数据驱动...
    99+
    2023-06-26
  • 微信小程序组件列表的示例分析
    这篇文章将为大家详细讲解有关微信小程序组件列表的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础组件框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发。什么是组件:组件...
    99+
    2023-06-26
  • 微信小程序文件结构的示例分析
    这篇文章主要介绍微信小程序文件结构的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!文件结构小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。一个小程序主体部分由三个文件组成,必须放在项目的...
    99+
    2023-06-26
  • 微信小程序页面路由的示例分析
    这篇文章将为大家详细讲解有关微信小程序页面路由的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。页面路由在小程序中所有页面的路由全部由框架进行管理。页面栈框架以栈的形式维护了当前的所有页面。当发生路...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作