无法调用自动回复接口
<?php namespace Admin\Controller; use Think\Controller; use Think\Exception; class IndexController extends Controller { public function index(){ if (!C("WX_ACCESS_TOKEN")) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $echoStr = $_GET["echostr"]; $token = C('WX_ACCESS_TOKEN'); $tmpArr = array($token, $timestamp, $nonce); // use SORT_STRING rule sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ //第一次接入wx echo $echoStr; exit; }else{ $this->responseMsg(); } // echo 'tooken'; } //接收事件推送并回复 /* 接收格式 <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[this is a test]]></Content> <MsgId>1234567890123456</MsgId> </xml> 回复格式 <xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[你好]]></Content> </xml> */ public function responseMsg(){ //1.获取微信推送过来的post数据(xml格式) $postArr = $GLOBALS['HTTP_RAW_POST_DATA']; $tmpStr = $postArr; //.2处理消息类型,并设置回复类型和内空 $postObj = simplexml_load_string($postArr); // print_r($postObj); if(strtolower($postObj->MsgType) == 'event'){ if(strtolower($postObj->Event) == 'subscribe'){ $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $time = time(); $msgType = 'text'; $content = '欢迎关注我们的微信公众号'; // $content = '公众账号' .$postOjb->ToUserName. '\n微信用户的openid' .$postObj->FromUserName .'\n回复消息格式: ' .$tmpstr; $template = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $info = sprintf($template,$toUser,$fromUser,$time,$msgType,$content); echo $info; } } } }
不知道哪里有问题,关注的时候就是不会出现我自定义的”欢迎关注我们的微信公众号“这句。