Heim > Backend-Entwicklung > PHP-Tutorial > Implementieren Sie die Gesichtserkennungs-Anmeldefunktion des WeChat-Applets über PHP

Implementieren Sie die Gesichtserkennungs-Anmeldefunktion des WeChat-Applets über PHP

jacklove
Freigeben: 2023-04-01 17:48:02
Original
3142 Leute haben es durchsucht

In diesem Artikel erfahren Sie, wie Sie die Gesichtserkennungs-Anmeldefunktion des WeChat-Applets anhand von Beispielcode implementieren. Interessierte Freunde können dem Herausgeber von Script House folgen, um gemeinsam zu lernen.

Lassen Sie uns zunächst bestätigen Unsere Fotos mit unseren persönlichen Daten wurden in die Baidu Cloud Face Library hochgeladen

Dann schreiben wir im Hintergrund eine Gesichtsanmeldeschnittstelle, um uns anzumelden. Wir müssen die durch das Aufnehmen von Fotos aufgenommenen Fotos auf dem Server speichern

public function login(){ 
   // 上传文件路径 
   $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) {// 上传错误提示错误信息 
     echo json_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); 
    // echo json_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']; 
     } 
    } 
   } 
  }
Nach dem Login kopieren

Dann machen Sie das Front-End-Design

<camera device-position="{{device?&#39;back&#39;:&#39;front&#39;}}" flash="off" binderror="error" style="width: 100%; height: 300px;"></camera> 
    <view class="weui-cells__title" >开关</view> 
    <view class="weui-cells weui-cells_after-title"> 
      <view class="weui-cell weui-cell_switch"> 
        <view class="weui-cell__bd">切换摄像头</view> 
        <view class="weui-cell__ft" > 
          <switch bindtap="devicePosition" /> 
        </view> 
      </view> 
    </view> 
<button type="primary" bindtap="takePhoto">刷脸登录</button>
Nach dem Login kopieren

Wir können auch die vorderen und hinteren Linsen steuern der Kamera

devicePosition() { 
this.setData({ 
 device: !this.data.device, 
}) 
console.log("当前相机摄像头为:", this.data.device ? "后置" : "前置"); 
camera() { 
 let { ctx, type, startRecord } = this.data; }, 
data: { 
 src: null, 
},
Nach dem Login kopieren

Rufen Sie die Schnittstelle in js auf

takePhoto() { 
   const ctx = wx.createCameraContext() 
   ctx.takePhoto({ 
    quality: &#39;high&#39;, 
    success: (res) => { 
     this.setData({ 
      src: res.tempImagePath 
     }) 
     console.log(res) 
     wx.uploadFile({ 
      url: &#39;&#39;, //仅为示例,非真实的接口地址 
      filePath: this.data.src, 
      name: &#39;file&#39;, 
      formData: { 
      }, 
      success: function (res) { 
       // var data = res.data 
       // var json = JSON.parse(data) 
       console.log(res) 
       wx.showModal({ 
        title: "提示", 
        content: res.data, 
        showCancel: false, 
        confirmText: "确定" 
       }) 
      } 
     }) 
    } 
   }) 
  },
Nach dem Login kopieren

Wischen Sie mit dem Gesicht zu Melden Sie sich erfolgreich an

Zusammenfassung

Das Obige ist das vom Herausgeber eingeführte PHP, um die Gesichtserkennung und die Gesichtserkennungsanmeldung im WeChat-Applet zu implementieren. Ich hoffe, dass es für alle hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte mich auch bei allen für Ihre Unterstützung der Script House-Website bedanken!

Artikel, die Sie interessieren könnten:

PHP implementiert die Funktion zur Verhinderung der wiederholten Einreichung von Formularen [basierend auf der Token-Verifizierung]

TP-Framework (thinkPHP) implementiert das Beispiel zum Sperren des Kontos nach drei falschen Anmeldekennwörtern

PHP implementiert das Beispiel zum Generieren einer Datenwörterbuchfunktion

Das obige ist der detaillierte Inhalt vonImplementieren Sie die Gesichtserkennungs-Anmeldefunktion des WeChat-Applets über PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage