实现Ecshop与微信无缝整合的ecshop微信商城、ecshop微商城

bruceli 2014-06-19

实现Ecshop与微信无缝整合的ecshop微信商城、ecshop微商城

实现Ecshop与微信无缝整合的ecshop微信商城、ecshop微商城

define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];

        //valid signature , option
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }

      public function responseMsg()
    {
        //get post data, May be due to the different environments
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //获取数据
          //extract post data
        //解析数据
        
        if (!empty($postStr)){    
                  $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName; //发送消息放ID
                $toUsername = $postObj->ToUserName; //接受信息放ID
                $form_MsgType = $postObj->MsgType; //消息类型
                $form_Content = $postObj->Content; //消息内容
                $keyword = trim($postObj->Content); //关键字
                $form_Event = $postObj->Event; //获取事件类型
                $form_Key = $postObj->EventKey; //获取菜单Key值
                $j=$postObj->Location_X;
                $w=$postObj->Location_Y;
                $time = time(); //时间
                $form_CreateTime = $postObj->CreateTime; //发送时间
                $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                            </xml>";
                $newsTpl = " <xml>
 <ToUserName><![CDATA[%s]]></ToUserName>
 <FromUserName><![CDATA[%s]]></FromUserName>
 <CreateTime>%s</CreateTime>
 <MsgType><![CDATA[%s]]></MsgType>
 <ArticleCount>1</ArticleCount>
 <Articles>
 <item>
 <Title><![CDATA[%s]]></Title>
 <Description><![CDATA[%s]]></Description>
 <PicUrl><![CDATA[%s]]></PicUrl>
 <Url><![CDATA[%s]]></Url>
 </item>
 </Articles>
 <FuncFlag>1</FuncFlag>
 </xml>";
 
        
                if($form_MsgType=="text"){
                        
                        if($keyword == "今日活动")
                        {    
                            $contentStr = file_get_contents('http://paiangotcwap.e-dar.cn/wx_content.php?cx=1');
                            $contentStr = json_decode($contentStr,true);
                            $count = count($contentStr);
                            $newsTplHead = "<xml>
                                            <ToUserName><![CDATA[%s]]></ToUserName>
                                            <FromUserName><![CDATA[%s]]></FromUserName>
                                            <CreateTime>%s</CreateTime>
                                            <MsgType><![CDATA[news]]></MsgType>
                                            <ArticleCount>$count</ArticleCount>
                                            <Articles>";
                            $header = sprintf($newsTplHead, $fromUsername, $toUsername, time());
                            $newsTplBody = "<item>
                                            <Title><![CDATA[%s]]></Title>
                                            <Description><![CDATA[%s]]></Description>
                                            <PicUrl><![CDATA[%s]]></PicUrl>
                                            <Url><![CDATA[%s]]></Url>
                                            </item>";                                        
                            
                            
                            foreach($contentStr as $newsContent){
                                $body .= sprintf($newsTplBody, $newsContent['title'], $newsContent['Description'], $newsContent['PicUrl'], $newsContent['url']);
                            }
                            
                            $newsTplFoot = "</Articles>
                                            <FuncFlag>0</FuncFlag>
                                            </xml>";
                            $FuncFlag = 0;
                            $footer = sprintf($newsTplFoot, $FuncFlag);
                            echo $header.$body.$footer; exit;
                      
                        }
                    }

                        
                if($form_MsgType =='link'){
                        $msgType = "news";
                        $contentStr = file_get_contents($Url);
                        $contentStr = json_decode($contentStr,true);
                        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                        echo $resultStr;
                        exit;
                }        
                        
                if($form_MsgType=="event") //判断消息内容
                {
                    if($form_Event=="subscribe") //判断事件类型
                    {
                        //回复欢迎文字消息
                        $msgType = "text";
                        $contentStr = "欢迎关注陕药派昂OTC大家庭";
                        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                        echo $resultStr;
                        exit;
                    }

                    if($form_Event == "CLICK"){
                        if($form_Key =="今日活动")
                        {    
                            $contentStr = file_get_contents('http://paiangotcwap.e-dar.cn/wx_content.php?cx=1');
                            $contentStr = json_decode($contentStr,true);
                            $count = count($contentStr);
                            $newsTplHead = "<xml>
                                            <ToUserName><![CDATA[%s]]></ToUserName>
                                            <FromUserName><![CDATA[%s]]></FromUserName>
                                            <CreateTime>%s</CreateTime>
                                            <MsgType><![CDATA[news]]></MsgType>
                                            <ArticleCount>$count</ArticleCount>
                                            <Articles>";
                            $header = sprintf($newsTplHead, $fromUsername, $toUsername, time());
                            $newsTplBody = "<item>
                                            <Title><![CDATA[%s]]></Title>
                                            <Description><![CDATA[%s]]></Description>
                                            <PicUrl><![CDATA[%s]]></PicUrl>
                                            <Url><![CDATA[%s]]></Url>
                                            </item>";                                        
                            
                            
                            foreach($contentStr as $newsContent){
                                $body .= sprintf($newsTplBody, $newsContent['title'], $newsContent['Description'], $newsContent['PicUrl'], $newsContent['url']);
                            }
                            
                            $newsTplFoot = "</Articles>
                                            <FuncFlag>0</FuncFlag>
                                            </xml>";
                            $FuncFlag = 0;
                            $footer = sprintf($newsTplFoot, $FuncFlag);
                            echo $header.$body.$footer; exit;
                        }

           
}

QQ:   123581702

相关推荐