qq_37243834 2017-10-27 13:17 采纳率: 0%
浏览 2980

微信公众平台开发者模式 关注后没有自动回复

php后台实现微信公众平台的关注后自动回复功能,但是没有信息返回,代码如下
public function index(){
$request = Request::instance();
$get = $request->param();
$timestamp = $get['timestamp'];
$nonce = $get['nonce'];
$token = "weiwei";
$signature = $get['signature'];
$echostr = $get['echostr'];

$array = array();
$array = array($token,$timestamp,$nonce);
sort($array);
$tmpstr = sha1(implode('',$array));

if($tmpstr == $signature){
if (!isset($get['echostr'])) {
$this->responText();
}else{
ob_clean();
echo $get['echostr'];
exit;
}
}
}

private function responText(){
    $getInfo = $GLOBALS["HTTP_RAW_POST_DATA"];
    $InfoObj = simplexml_load_string($getInfo);

    if (strtolower(trim($InfoObj->MsgType))=='event') {
        if (strtolower($InfoObj->Event)=='subscribe') {

            $tousername = $InfoObj->FromUserName;
            $fromusername = $InfoObj->ToUserName;
            $ctime = time();
            $content = '欢迎关注本公众号,你果然是个聪明人';

            $Msg = "<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[text]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>";

            $sendMsg = sprintf($Msg,$tousername,$fromusername,$ctime,$content);
            echo $sendMsg;
        }
    }
}
    token是可以提交的,url上用的是阿里云服务器的ip地址,不是备案的域名,不知有没有影响,求大神指教!
  • 写回答

3条回答 默认 最新

  • devmiao 2017-10-28 13:54
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?