微信公众平台开发之数据传输过程

当用户发一条消息到微信公众号,该公众号会返回相应的消息给用户,那么这些消息是经过什么过程才返回到用户的微信里呢。
其实用户发送消息开始,主要经过5个过程:
1、用户发送消息传输到微信服务器
2、微信服务器将xml格式的数据传输到开发者设置的服务器。
3、开发者解析xml数据并进行相应的处理,然后将返回数据封装成xml格式。
4、开发者的服务器返回数据给微信服务器。
5、微信服务器将数据返回给用户。
如下图:
微信公众平台开发之数据传输过程_第1张图片

个人的服务器处理信息步骤如下:
1、获取微信服务器推送过来的post数据(xml格式)
2、解析xml数据包
3、设置回复模板
4、封装消息
5、想微信服务器推送消息
代码如下(php为例):

//$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];//1,获取到微信推送过来post数据(xml格式)
$postArr = file_get_contents("php://input");//5.6版本开始摒弃HTTP_RAW_POST_DATA这个全局变量,注意了
if (!empty($postArr)){
    $postObj = simplexml_load_string($postArr, 'SimpleXMLElement', LIBXML_NOCDATA);//2、解析xml数据包
    //用户的openid
    $fromUserName = $postObj->ToUserName;
    $toUserName   = $postObj->FromUserName;
    $createTime = time();
    $msgType = trim($postObj->MsgType);//用户发来的消息类型
    $content = $postObj->Content;//用户发来的消息内容(注意只是介绍接收text类型,其他类型如event还有其他数据)
    //3、设置回复模板
    $template ='
        
        
        %s
        
        
        ';
    $responMsg='您发来的消息是'.$content;
    $info =sprintf($template,$toUserName,$fromUserName,$createTime,$responMsg);//4、封装消息
    echo $info;//5、返回消息
}

总结:
以前了解了一下微信开发,做落了笔记,刚翻出来,希望不会过时。
此处简单地实现了一个处理微信服务器传过来的数据的处理过程,具体并没有更多复杂的代码,希望对出入微信开发坑的朋友有所帮助。
更多接口移步到官方文档。

你可能感兴趣的:(微信公众平台开发,php)