问答详情
源自:3-1 接收事件订阅与回复响应消息(一)

取消关注的事件是不是可以这样接收呢

 //如果是关注 unsubscribe 事件 if( strtolower($postObj->Event == 'unsubscribe') ){ $openid = $postObj->FromUserName; $user['followstate'] = 0; $result = M('Wxuser')->save($user); }

提问者:一本正经的胡说八道呢 2017-05-09 10:56

个回答

  • workerworking
    2017-05-09 15:18:18
    已采纳

    可以啊,用户取消事件触发之后,可以处理自己的业务逻辑。

  • 一本正经的胡说八道呢
    2017-05-09 22:05:54

    	public function reponseMsg(){
    		$postArr = $GLOBALS['HTTP_RAW_POST_DATA'];
    		$postObj = simplexml_load_string( $postArr );
    		if( strtolower( $postObj->MsgType) == 'event'){
    			//如果是关注 subscribe 事件
    			if( strtolower($postObj->Event == 'subscribe') ){
    				//回复用户消息(纯文本格式)	
    				$toUser   = $postObj->FromUserName;
    				$fromUser = $postObj->ToUserName;
    				$time     = time();
    				$msgType  =  'text';
    				$content  = 'xxxxxxxxxxx';
    				$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;
    				$this->getwxuserinfo($toUser);
    			}
    		}
    	}

     可以像直接把从这里获得的用户OPENID传递到别的方法吗?   这样写总是没有反应