美文网首页
回复消息内容

回复消息内容

作者: 海藻web开发 | 来源:发表于2017-06-19 17:11 被阅读0次

    原理介绍
    接收到客户消息后就可以回复可以客户一个消息,实现方法:接收到消息数据后返回给微信服务器一个xml文本即可。Xml格式:

    <xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>12345678</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[你好]]></Content>
    </xml>
    
      参数                                            描述
    

    ToUserName 开发者微信号
    FromUserName 发送方帐号(一个OpenID)
    CreateTime 消息创建时间 (整型)
    MsgType text
    Content 文本消息内容

    函数封装

    //回复文本消息
    public function reTextMsg($msg){
        $xml = '<xml><ToUserName><![CDATA['.$this->openId.']]></ToUserName><FromUserName><![CDATA['.$this->ourOpenId.']]></FromUserName><CreateTime>'.time().'</CreateTime>
    <MsgType><![CDATA[text]]></MsgType><Content><![CDATA['.$msg.']]></Content></xml>';
        echo $xml;
    }
    

    完成代码

    <?php
    /**
      * wechat php test
      */
    
    //define your token
    define("TOKEN", "wxtext2017");
    
    class weChat{
        public $postObj;      //接收到的xml对象
        public $openId;       //客户的openId
        public $ourOpenId;    //我方公众号的openId
        //构造函数用于接收消息
        public function __construct(){
            if(!empty($GLOBALS["HTTP_RAW_POST_DATA"])){
                $postStr=$GLOBALS["HTTP_RAW_POST_DATA"];
                        //将xml转换成对象
                        libxml_disable_entity_loader(true);
                        $this->postObj      = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                        $this->openId       = $this->postObj->FromUserName;
                        $this->ourOpenId    = $this->postObj->ToUserName;
                        $this->msgType      = $this->postObj->MsgType;
                    }
        }
        //回复文本消息
        public function reTextMsg($msg){
                $xml='<xml><ToUserName><![CDATA['.$this->openId.']]></ToUserName><FromUserName><![CDATA['.$this->ourOpenId.']]></FromUserName><CreateTime>'.time().'</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA['.$msg.']]></Content></xml>';
                echo $xml;
        }
    }
    $wechatObj = new weChat();
    //回复文本消息
    $wechatObj->reTextMsg('不论你说什么我都回复这个');
    ?>
    

    相关文章

      网友评论

          本文标题:回复消息内容

          本文链接:https://www.haomeiwen.com/subject/jnxnqxtx.html