Le message de réponse automatique simple est terminé. De nombreuses personnes ne savent pas comment envoyer automatiquement des messages aux utilisateurs après les avoir suivis. Je vais donc partager aujourd'hui la mise en œuvre de l'envoi automatique de messages après un suivi réussi.
J'ai vu que le push d'événement est également introduit dans l'API WeChat, alors comment cet événement d'attention est-il utilisé ? Pas de bêtises aujourd'hui, passons directement au code :
<?php define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->responseMsg(); class wechatCallbackapiTest { public function responseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if(!empty($postStr)) { $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $RX_TYPE = trim($postObj->MsgType); switch($RX_TYPE) { case "text" : $resultStr = $this->receiveText($postObj); break; case "event" : $resultStr = $this->receiveEvent($postObj); break; default : $resultStr = "unknow msg type: " . $RX_TYPE; break; } echo $resultStr; } else { echo ""; exit(); } } private function receiveText($object) { if (!empty($object)){ $fromUsername = $object->FromUserName; $toUsername = $object->ToUserName; $keyword = trim($object->Content); $time = time(); //自动回复图文消息 $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <ArticleCount>3</ArticleCount> <Articles> <item> <Title><![CDATA[测试标题1]]></Title> <Description><![CDATA[测试内容啊1!]]></Description> <PicUrl><![CDATA[http://weixin.comsenz-service.com/20.jpg]]></PicUrl> <Url><![CDATA[http://www.baidu.com]]></Url> </item> <item> <Title><![CDATA[哈哈,标题]]></Title> <Description><![CDATA[内容标题]]></Description> <PicUrl><![CDATA[http://weixin.comsenz-service.com/540.png]]></PicUrl> <Url><![CDATA[http://www.discuz.com]]></Url> </item> <item> <Title><![CDATA[12345哈哈,标题]]></Title> <Description><![CDATA[798465789内容标题]]></Description> <PicUrl><![CDATA[http://weixin.comsenz-service.com/20.jpg]]></PicUrl> <Url><![CDATA[http://www.google.com]]></Url> </item> </Articles> <FuncFlag>1</FuncFlag> </xml> "; if(!empty( $keyword )){ $msgType = "news"; //类型 news:图文消息、text:文本消息 event:事件 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; }else{ echo "Input something..."; } }else { echo ""; exit; } } private function receiveEvent($object) { $contentStr = ""; switch($object->Event) { case "subscribe" : $contentStr = "欢迎关注社区管家!我们可以常联系了!!"; break; } $resultStr = $this->transmitText($object, $contentStr); return $resultStr; } private function transmitText($object, $content, $flag = 0) { $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>%d</FuncFlag> </xml>"; $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content, $flag); return $resultStr; } } ?>
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!