1. 程式人生 > 實用技巧 >微信小程式官方人臉核身認證

微信小程式官方人臉核身認證

今天本來自己做的小程式收集了下使用者個人資訊上傳被打回來說:

1: 你好,小程式頁面功能涉及:採集使用者生物特徵(人臉照片或視訊)及其他敏感資訊,用於身份認識或識別,

為保障使用者敏感隱私身份資訊,平臺暫不支援此功能。請去除相關功能後重新提交。

然後就去找度娘搜了下需要申請

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
  1
data: { 2 openid: '', 3 custName: '張帥', 4 custIdCard: '152801199712193919', 5 verifyImg: '' 6 }, 7 /** 8 * 生命週期函式--監聽頁面載入 9 */ 10 onLoad: function (options) { 11 this.setData({ 12 custName: options.custName, 13 custIdCard: options.custIdCard
14 }); 15 var _this = this; 16 wx.checkIsSupportFacialRecognition({ 17 checkAliveType: 2, 18 success: function (res) { 19 if (res.errCode === 0 || res.errMsg === "checkIsSupportFacialRecognition:ok") { 20 //呼叫人臉識別 21 _this.startface(_this.data.custName.replace(/(^\s*)|(\s*)$/g, ""), _this.data.custIdCard); //
身份證名稱,身份證號碼 22 return; 23 } 24 wx.showToast('微信版本過低,暫時無法使用此功能,請升級微信最新版本') 25 }, 26 fail: function(res){ 27 wx.showToast('微信版本過低,暫時無法使用此功能,請升級微信最新版本') 28 } 29 30 }) 31 }, 32 startface(name, idcard) { 33 console.log('我進來了!!!'); 34 var _this = this; 35 wx.startFacialRecognitionVerify({ 36 name: _this.data.custName, //身份證名稱 37 idCardNumber: _this.data.custIdCard, //身份證號碼 38 success: function (res) { 39 var verifyResult = res.verifyResult; //認證結果 40 //呼叫介面 41 42 43 wx.request({ 44 url: 'https://api.weixin.qq.com/cgi-bin/token?appid=wx2cafec51ec4c2153&secret=8d3e68a5a2c702673340d72d1c7db4cc&grant_type=client_credential', 45 data: { 46 47 }, 48 method: 'POST', 49 header: { 50 'content-type': 'application/json;charset=utf-8' 51 }, 52 success: function (res) { 53 console.log(res.data); 54 console.log(res.data.access_token) 55 var token = res.data.access_token; 56 wx.request({ 57 url: 'https://api.weixin.qq.com/cityservice/face/identify/getinfo?access_token=' + res.data.access_token, 58 data: { 59 verify_result: verifyResult 60 }, 61 method: 'POST', 62 header: { 63 'content-type': 'application/json;charset=utf-8' 64 }, 65 success: function (res) { 66 console.log(res.data) 67 console.log('我終於成功了。。。。') 68 wx.request({ 69 url: 'https://api.weixin.qq.com/cityservice/face/identify/getimage?access_token=' + token, 70 data: { 71 verify_result: verifyResult 72 }, 73 method: 'POST', 74 responseType: 'arraybuffer', 75 header: { 76 'content-type': 'application/json;charset=utf-8', 77 }, 78 success: (res) => { 79 // console.log('data:image/png;base64,'+wx.arrayBufferToBases64(res)) 80 81 console.log(res.data); 82 var base64 = wx.arrayBufferToBase64(res.data); 83 _this.setData({ verifyImg:'data:image/png;base64,'+ base64}) 84 wx.navigateTo({ 85 url: '../msg/msg?msg=恭喜您資訊核驗成功&verifyImg=' + _this.data.verifyImg 86 }); 87 }, 88 fail: function (res) { 89 console.log('失敗', res.data) 90 } 91 }) 92 93 }, 94 fail: function (res) { 95 96 } 97 }) 98 }, 99 fail: function (res) { 100 101 } 102 }) 103 104 105 106 console.log(verifyResult) 107 // wx.navigateTo({ 108 // url: '../msg/msg?msg=人臉核身認證成功' 109 // }); 110 }, 111 checkAliveType: 2, //螢幕閃爍(人臉核驗的互動方式,預設0,讀數字) 112 fail: err => { 113 wx.showToast('請保持光線充足,面部正對手機,且無遮擋') 114 wx.navigateTo({ 115 url: '../msg/msg?msg=請保持光線充足,面部正對手機,且無遮擋,請退出重新操作' 116 }); 117 } 118 }) 119 }
View Code

主要坑的是這樣下來得申請好幾次介面到最後業務還需要unionid所以還得去微信開放平臺申請認證