Heim >Backend-Entwicklung >PHP-Tutorial >Automatische Antwort der PHP-WeChat-Entwicklung

Automatische Antwort der PHP-WeChat-Entwicklung

不言
不言Original
2018-04-19 09:48:494541Durchsuche

Der Inhalt dieses Artikels handelt von der automatischen Antwort der PHP-WeChat-Entwicklung. Jetzt kann ich ihn mit allen teilen, die ihn benötigen

1 Antworttextinhalt

Zuerst müssen wir einige Änderungen an der text()-Methode unter LaneWeChat/core/aes/wechatrequest.lib.php vornehmen. Der Code lautet wie folgt:

public static function text(&$request){
        // $content = '收到文本消息';
        // return ResponsePassive::text($request['fromusername'], $request['tousername'], $content);
        $mpid = $_GET['id'];
        $content = $request['content'];
        $where['mp_id'] = $mpid;
        $where['keyword'] = $content;
        $data = M('mp_reply_rule')->where($where)->find();
        if ($data) {
            $reply_id = $data['reply_id'];
            $type = $data['type'];
            if ($type == "text") {
                $reply = M('mp_reply_text')->find($reply_id);
                $reply_text = $reply['content'];
                return ResponsePassive::text($request['fromusername'],$request['tousername'],$reply_text);
            }else if($type == "image"){
                $reply = M('mp_reply_image')->find($reply_id);
                $media_id=$reply['media_id'];
                return ResponsePassive::image($request['fromusername'],$request['tousername'],$media_id);
            }else if($type == "news"){
                $reply = M('mp_reply_news')->find($reply_id);
                $item[] = ResponsePassive::newsItem($reply['title'],$reply['descrpition'],$reply['picurl'],$reply['url']);
                return ResponsePassive::news($request['fromusername'],$request['tousername'],$item);
            }
        }else{
            return 'success';
        }
    }

Zweitens begannen wir mit dem Schreiben des Backend-PHP-Codes

public function replytext(){	
  	if(IS_GET){
  		$this->display();
  	}else{	
  		$content=I('post.content');
  		$keyword=I('post.keyword');
  		$data['content']=$content;
  		$reply_id=M('mp_reply_text')->add($data);
      if(isset($reply_id)){
        $mp=getCurrentMp();
        $data['mp_id']=$mp['id'];   
        $data['keyword']=$keyword; 
        $data['type']='text';                   
        $data['reply_id']=$reply_id;
                     // print_r($data);
                     // exit;
        M('mp_reply_rule')->add($data);
        $this->ajaxReturn(array('msg'=>'上传成功'));                        
      }else{
        $this->ajaxReturn(array('msg'=>'上传失败'));
      }
    }
  }

Geben Sie Schlüsselwörter ein und antworten Sie auf den Inhalt entsprechend der Startseite, um eine automatische Antwort auf Textinhalte zu realisieren

2. Automatisch auf Bilder nach Schlüsselwörtern antworten

Gemäß der Methode in text() in LaneWeChat/core/aes/wechatrequest.lib.php können Sie den Typ der Antwort automatisch ermitteln im PHP-Hintergrund und antworten automatisch auf das Bild. Wir schreiben den folgenden Code in PHP:

public function replyimage(){
  if(IS_GET){
      $this->display(); 
   }else{
    $url=I('post.url');//图片在本地服务器上的路径  
    $file=realpath('.' .$url);// 相对路径换位结对路径      
    $accessToken=getAccess_token();
    include APP_PATH .'LaneWeChat/lanewechat.php';
    $url="https://api.weixin.qq.com/cgi-bin/material/add_material?accessaccessToken&type=image";
    $data['media']='@' .$file;
    $ret=Curl::callWebServer($url,$data,'post',true,false);
    if(isset($ret['media_id'])){
         $mp=getCurrentMp();
         $data['url']=$url;
         $data['media_id']=$ret['media_id'];       
         $reply_id=M('mp_reply_image')->add($data);
         $keyword=I('post.keyword');
         if(isset($reply_id)){
           $mp=getCurrentMp();
           $data['mp_id']=$mp['id'];   
           $data['keyword']=$keyword; 
           $data['type']='image';                   
           $data['reply_id']=$reply_id;
           M('mp_reply_rule')->add($data);  
         $this->ajaxReturn(array('msg'=>'上传成功'));
      }else{
        $this->ajaxReturn(array('msg'=>'上传失败'));
      }
    }else{
        $this->ajaxReturn(array('msg'=>'上传失败')); 
      }
  }         
}

Bitte beachten Sie jedoch, dass wir beim Antworten auf ein Bild ein Bild speichern sollten, auf das in den Daten geantwortet werden soll Tabelle im Voraus, daher müssen wir sie auch in der PHP-Upload()-Methode schreiben.

3. Auf Bild- und Textnachrichten basierend auf Schlüsselwörtern antworten

Es ist gleichbedeutend mit dem Antworten auf Text- und Bildnachrichten auf die gleiche Weise, um das zu erhalten gültige Felder.

Verwandte Empfehlungen:

Automatische Textantwort für die PHP-WeChat-Entwicklung

Übersetzungsfunktion für die PHP-WeChat-Entwicklung

PHP WeChat-Entwicklung, um ausgewählte WeChat-Artikel zu erhalten


Das obige ist der detaillierte Inhalt vonAutomatische Antwort der PHP-WeChat-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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