public function run($gh_id) { try { //$this->setGhId($this->getRequest('ToUserName')); $this->setGhId($gh_id); $this->valid(); $MsgType = $this->getRequest('MsgType'); U::W('TTTTTTTTTTT44444'); $isNewFan = $this->initUser(); U::W('TTTTTTTTTTT555'); switch ($MsgType) { case Wechat::MSGTYPE_TEXT: $resp = $this->onText(); break; case Wechat::MSGTYPE_IMAGE: $resp = $this->onImage(); break; case Wechat::MSGTYPE_LOCATION: $resp = $this->onLocation(); break; case Wechat::MSGTYPE_LINK: $resp = $this->onLink(); break; case Wechat::MSGTYPE_VOICE: $resp = $this->onVoice(); break; case Wechat::MSGTYPE_VIDEO: $resp = $this->onVideo(); break; case Wechat::MSGTYPE_EVENT: $Event = $this->getRequest('Event'); switch ($Event) { case Wechat::EVENT_SUBSCRIBE: $resp = $this->onSubscribe($isNewFan); break; case Wechat::EVENT_UNSUBSCRIBE: $resp = $this->onUnsubscribe(); break; case Wechat::EVENT_SCAN: $resp = $this->onScan(); break; case Wechat::EVENT_LOCATION: $resp = $this->onEventLocation(); break; case Wechat::EVENT_CLICK: $resp = $this->onClick(); break; case Wechat::EVENT_VIEW: $resp = $this->onView(); break; case Wechat::EVENT_LOCATION_SELECT: $resp = $this->onLocationSelect(); break; case Wechat::EVENT_MASSSENDJOBFINISH: $resp = $this->onMassSendJobFinish(); break; case Wechat::EVENT_TEMPLATESENDJOBFINISH: $resp = $this->onTemplateSendJobFinish(); break; case Wechat::EVENT_KF_CREATE_SESSION: $resp = $this->onKfCreateSession(); break; default: $resp = $this->onUnknown(); break; } break; default: $resp = $this->onUnknown(); break; } $user = $this->getUser(); if (!$user->save(false)) { U::W([__METHOD__, $user->getErrors()]); } $xml = empty($resp) ? self::NO_RESP : sprintf("%s", $resp); $this->log($xml); return $xml; } catch (\Exception $e) { U::W('Exception:' . $e->getMessage() . U::getTraceMsg(5)); return self::NO_RESP; } }