热门IT资讯网

微信开发教程(2)

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,简答的自动回复消息完成了,有很多人都不知道关注自动发送给用户消息是怎么实现的,那么我今天分享一下关注成功后自动发送消息的实现。看到微信api里面也有介绍到事件推送,那么这个关注事件是如何使用的呢? 今

简答的自动回复消息完成了,有很多人都不知道关注自动发送给用户消息是怎么实现的,那么我今天分享一下关注成功后自动发送消息的实现。

看到微信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 = "                                                                                       %s                                                                                                              3                                                                                       <![CDATA[测试标题1]]>                                                                                                                                                                              <![CDATA[哈哈,标题]]>                                                                                                                                                                              <![CDATA[12345哈哈,标题]]>                                                                                                                                                                              1                              ";                                                       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                                                            %d                    ";        $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content, $flag);        return $resultStr;    }}?>

如果有的童鞋不明白的话,可以留言给我! 我会不定期给大家解决问题!

欢迎留言

0