Maison  >  Article  >  développement back-end  >  Réponse automatique au développement PHP WeChat

Réponse automatique au développement PHP WeChat

不言
不言original
2018-04-19 09:48:494499parcourir

Le contenu de cet article concerne la réponse automatique du développement PHP WeChat. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

1. réponse Contenu du texte

Nous devons d'abord apporter quelques modifications à la méthode text() sous LaneWeChat/core/aes/wechatrequest.lib.php Le code est le suivant :

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';
        }
    }
.

Deuxièmement, nous avons commencé à écrire le code PHP backend

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'=>'上传失败'));
      }
    }
  }

Entrez des mots-clés et répondez au contenu en fonction de la première page pour réaliser une réponse automatique au contenu du texte

2. Répondez automatiquement aux images en fonction de mots-clés

Selon la méthode text() dans LaneWeChat/core/aes/wechatrequest.lib.php, vous pouvez déterminer automatiquement le type de réponse. en arrière-plan php et répondons automatiquement à l'image. Nous écrivons le code suivant en 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'=>'上传失败')); 
      }
  }         
}

Mais veuillez noter que lorsque nous répondons à une image, nous devons stocker une image à laquelle répondre dans les données. table à l'avance, nous devons donc également l'écrire dans la méthode PHP upload().

3. Répondez aux messages texte et image en fonction de mots-clés

Cela équivaut à répondre au texte et aux images de la même manière, apportez simplement de légères modifications pour obtenir la validité. champs.

Recommandations associées :

Réponse automatique par SMS pour le développement de PHP WeChat

Fonction de traduction pour le développement de PHP WeChat

Développement PHP WeChat pour obtenir les articles sélectionnés par WeChat


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn