微信开发的流程其实很简单 o(∩_∩)o 哈哈!在微信网站的编辑操作 额,就不说了。虽然有人问过。下面是我的微信开发过程,简单记录下。

成为开发者

材料:1、自己的服务器资源,百度的BAE,新浪的SAE都不错。

     2、懂那么点编程语言。

     3、注册微信公众号。

上面的都有了之后,就可以自己动手开发了。哇咔咔,好兴奋。有木有。

在登录进去之后,怎么成为开发者?不知道,自己看去。

开始coding吧。

1、验证

if (! empty ( $_GET ['echostr'] ) && ! empty ( $_GET ["signature"] ) && ! empty ( $_GET ["nonce"] )) {
            $this->valid();
        }
// valid token
    private function valid()
    {
        $echoStr = $_GET["echostr"];
        //valid signature , option
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }
    // check Signature
    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];   
                                                               
        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
                                                       
        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
    }

就是这样,都是从官网开发文档抄来的。

2、接收消息

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$msgType = $postObj->MsgType;

3、处理消息

//接受普通消息--
if($msgType=="text"){
//收到文本消息
$contentStr = "Welcome to wechat world!".$ret." ok ";
$this->responseMsgText($fromUsername, $toUsername, $time,  $contentStr  );
            }
    //回复文本消息
    public function responseMsgText($fromUsername, $toUsername, $time,  $contentStr  )
    {       
        $textTpl = "
                    
                    
                    %s
                    
                    
                    ";            
                        
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,   $contentStr);
        echo $resultStr;
    }

上面只是简单的回复文本消息,还可以根据各种模版,发送图片、图文、语音等消息。