PHP实现微信小程序人脸识别刷脸登录功能
首先我们先确认我们的百度云人脸库里已经上传了我们的个人信息照片
然后我们在后台写刷脸登陆的接口login我们要把拍照获取的照片存储到服务器
publicfunctionlogin(){ //上传文件路径 $dir="./Uploads/temp/"; if(!file_exists($dir)){ mkdir($dir,0777,true); } $upload=new\Think\Upload(); $upload->maxSize=2048000;//设置附件上传大小 $upload->exts=array('jpg','gif','png','jpeg');//设置附件上传类型 $upload->savepath=''; $upload->autoSub=false; $upload->rootPath=$dir;//设置附件上传根目录 //上传单个文件 $info=$upload->uploadOne($_FILES['file']); if(!$info){//上传错误提示错误信息 echojson_encode(array('error'=>true,'msg'=>$upload->getError()),JSON_UNESCAPED_UNICODE); }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','student',$options); //echojson_encode($ret,JSON_UNESCAPED_UNICODE); //exit; if($ret['error_code']==0){ $user=$ret['result']['user_list'][0]; $no=$user['user_id']; $score=$user['score']; if($score>=95){ $data=M('student')->where("no='{$no}'")->find(); $data['score']=$score; //$data['name']=json_decode($data['name'],true); //$data['sex']=json_decode($data['sex'],true); echo'识别成功'.json_encode($data,JSON_UNESCAPED_UNICODE); }else{ echo'识别失败'.$data['score']; } } } }
然后进行前台设计
开关 切换摄像头 刷脸登录
我们还可以控制相机的前后镜头
devicePosition(){ this.setData({ device:!this.data.device, }) console.log("当前相机摄像头为:",this.data.device?"后置":"前置"); camera(){ let{ctx,type,startRecord}=this.data;}, data:{ src:null, },
在js里面调用接口
takePhoto(){ constctx=wx.createCameraContext() ctx.takePhoto({ quality:'high', success:(res)=>{ this.setData({ src:res.tempImagePath }) console.log(res) wx.uploadFile({ url:'',//仅为示例,非真实的接口地址 filePath:this.data.src, name:'file', formData:{ }, success:function(res){ //vardata=res.data //varjson=JSON.parse(data) console.log(res) wx.showModal({ title:"提示", content:res.data, showCancel:false, confirmText:"确定" }) } }) } }) },
刷脸登录就成功了
总结
以上所述是小编给大家介绍的PHP实现微信小程序人脸识别刷脸登录,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!