微信小程序?qū)崿F(xiàn)刷臉登錄
微信小程序本身并不具有刷臉登錄的功能,實(shí)現(xiàn)時(shí)需要借助百度云的人臉識(shí)別的sdk,當(dāng)然現(xiàn)在百度云是暫時(shí)免費(fèi)的,我們可以登錄自行下載使用。
下載地址
后臺(tái)代碼我們使用thinkPHP框架實(shí)現(xiàn),將下載好的sdk導(dǎo)入thinkPHP框架中,就可以寫(xiě)方法使用了。
我們需要將圖片上傳到自己服務(wù)器和百度云人臉庫(kù)中。
public function login(){ $dir="./***";//自己定義的文件名 if(!file_exists($dir)){ mkdir($dir,0777,true); } $upload = new \Think\Upload();// 實(shí)例化上傳類 $upload->maxSize = 3145728 ;// 設(shè)置附件上傳大小 $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 設(shè)置附件上傳類型 $upload->rootPath = $dir; // 設(shè)置附件上傳根目錄 $upload->savepath=''; // 上傳單個(gè)文件 $info = $upload->uploadOne($_FILES['file']); if(!$info) {// 上傳錯(cuò)誤提示錯(cuò)誤信息 return $this->ajaxReturn(array('error'=>true,'msg'=>$upload->getError())); }else{// 上傳成功 獲取上傳文件信息 $file = $dir . $info['savepath'] . $info['savename']; $image = base64_encode(file_get_contents($file)); $client = $this->init_face(); $options['liveness_control']='NORMAL'; $options['max_user_num']='1'; $ret = $client->search($image,'BASE64',$this->face_group(),$options); if($ret['error_code']==0){ $user = $ret['result']['user_list'][0]; $no = $user['user_id']; $score = $user['score']; if(!empty($no)){ $data = M('student')->field('no,name,sex')->where("no='{$no}'")->find(); if($data){ //查到此學(xué)號(hào) $data['score'] = $score; echo json_encode($data,JSON_UNESCAPED_UNICODE); }else{ //本地庫(kù)不存在此學(xué)號(hào) echo "本地?cái)?shù)據(jù)庫(kù)沒(méi)有該學(xué)生,百度云庫(kù)信息:個(gè)人信息:{$no},分值:{$score}"; } } }else{ echo "活體檢測(cè)失敗,".json_encode($ret,JSON_UNESCAPED_UNICODE); } } }
里面的search方法是sdk的方法
public function search($image, $imageType, $groupIdList, $options=array()){ $data = array(); $data['image'] = $image; $data['image_type'] = $imageType; $data['group_id_list'] = $groupIdList; $data = array_merge($data, $options); return $this->request($this->searchUrl, json_encode($data), array( 'Content-Type' => 'application/json', )); }
前三個(gè)參數(shù)是必填的,后面參數(shù)根據(jù)自己的實(shí)際情況選即可。
微信小程序中需要使用camera組件以及wx.createCameraContext()方法,之后在js調(diào)用后臺(tái)代碼即可。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS/FLASH實(shí)現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
使用javascript來(lái)寫(xiě)復(fù)制到剪貼板的代碼,一般都是瀏覽器不兼容的。所以采用flash的方式,模擬一個(gè)層,再來(lái)復(fù)制,就可以做到全部瀏覽器都適用,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈2013-05-05JS+CSS實(shí)現(xiàn)類似QQ好友及黑名單效果的樹(shù)型菜單
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)類似QQ好友及黑名單效果的樹(shù)型菜單,涉及JavaScript結(jié)合鼠標(biāo)事件針對(duì)頁(yè)面元素CSS樣式的動(dòng)態(tài)操作技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-09-09微信小程序scroll-view實(shí)現(xiàn)滾動(dòng)穿透和阻止?jié)L動(dòng)的方法
這篇文章主要介紹了微信小程序scroll-view實(shí)現(xiàn)滾動(dòng)穿透和阻止?jié)L動(dòng)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08javascript動(dòng)態(tài)添加樣式(行內(nèi)式/嵌入式/外鏈?zhǔn)降纫?guī)則)
添加CSS的方式有行內(nèi)式、嵌入式、外鏈?zhǔn)健?dǎo)入式,下面為大家詳細(xì)介紹下javascript動(dòng)態(tài)添加以上樣式規(guī)則的方法,感興趣的朋友可以參考下哈2013-06-06typescript編寫(xiě)微信小程序創(chuàng)建項(xiàng)目的方法
這篇文章主要介紹了typescript編寫(xiě)微信小程序創(chuàng)建項(xiàng)目的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01