这里就啰嗦什么了, 直接上代码
/**
* wechat php test
*/
//define your token
define("TOKEN","weixin");
$wechatObj=newwechatCallbackapiTest();
$wechatObj->responseMsg();
classwechatCallbackapiTest
{
public functionvalid()
{
$echoStr=$_GET["echostr"];
//valid signature , option
if($this->checkSignature()){
echo$echoStr;
exit;
}
}
public functionresponseMsg()
{
//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;
$toUsername=$postObj->ToUserName;
$keyword=trim($postObj->Content);
$time=time();
$textTpl="
%s
0
";
if(!empty($keyword))
{
//这里手动编辑自动回复
$msgType="text";
switch($keyword){
case'1';
$contentStr="http://www.minxiny.com/";
break;
case'2':
$contentStr="您有什么健康问题呢?请发送关键词,或者关注公众号: hello kitty 获取更多相关健康问题";
break;
case'3':
$contentStr="请搜索小程序 百姓堂 允许获取定位来使用该功能";
break;
default:
$contentStr=<<< MESG
欢迎访问百年臻阳方,本公众号由广东泓然堂医药有限公司提供,为您的健康提供全方位保障,点击关注有惊喜.
1 访问公司官网
2 咨询健康问题
3 寻找附件的药店
MESG;
break;
}
// $msgType = "text";
// $contentStr = "欢迎访问百年臻阳方,本公众号由广东泓然堂医药有限公司提供,为您的健康提供全方位保障,点击关注有惊喜";
$resultStr=sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);
echo$resultStr;
}else{
echo"Input something...";
}
}else{
echo"";
exit;
}
}
private functioncheckSignature()
{
$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;
}
}
}
?>