?
?

?
?
?

?
?
?
?
?
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
?