簡単な自動返信メッセージが完成しました。フォロー後に自動でメッセージを送信する方法が分からない人も多いので、今回はフォロー成功後に自動でメッセージを送信する実装を共有します。
WeChat APIにもイベントプッシュが導入されているのですが、このアテンションイベントはどのように使われるのでしょうか? 今日はナンセンスではありません。コードに直接進みましょう:
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 = ""; 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 = " %s 3 1 "; $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content, $flag); return $resultStr; } } ?> %s %d
以上がWeChat開発チュートリアルシリーズ(2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。