responseMsg(); } } /** * 授权登录 */ public function auth() { $code = input('code', ''); $rebackUrl = input('reback_url',''); if($rebackUrl){ session('reback_url',$rebackUrl); } $rebackUrl = session('reback_url'); $rebackUrl = $rebackUrl? $rebackUrl : url('/weixin/match/index', null, false, true); if ($code) { Wechat::init(); $userInfo = session('userInfo'); if ($userInfo) { $this->redirect($rebackUrl); exit; } } Wechat::redirectUrl(urlencode($rebackUrl)); } /** * 生成菜单 */ public function createMenu() { $key = input('key', ''); $callKey = config('weixin.callKey'); if ($callKey && ($key != $callKey || empty($key))) { showJson('error', 2009); } $result = Wechat::createMenu(); showJson('success', 2011, $result); } /** * 消息接收处理 */ public function responseMsg() { $postStr = file_get_contents("php://input"); if (!empty($postStr)) { libxml_disable_entity_loader(true); $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); PRedis::set('weixin:response:'.((string)$postObj->FromUserName).'_'.date('YmdHis'), (array)$postObj, 600); if ($postObj->MsgType == 'event') { // 推送事件处理 Wechat::catchEvent((array)$postObj); } else if ($postObj->MsgType == 'text'){ Wechat::responseText((array)$postObj); } } exit; } } ?>