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!