Beispiel #1
0
 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;
     }
 }