您的位置:首页 > 移动开发 > 微信开发

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

2010-01-26 11:51 176 查看




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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: