コード例 #1
0
ファイル: Event.php プロジェクト: suffrajet/gdoctor
 /**
  * event类型消息解析, 根据不同事件类型自定义回复消息
  *
  *@param Message $message 消息对象
  *
  * @return Response
  */
 private static function event($event)
 {
     $orgId = $event->ToUserName;
     $openId = $event->FromUserName;
     $app = WechatApp::getAppByOrgId($orgId);
     if (!isset($app)) {
         SysLog::error(__FILE__, __METHOD__, __LINE__, 'get wechat app failed');
         return false;
     }
     $replyArr = Command::getReplyDefine($app, $event->MsgType, $event->Event);
     if (!$replyArr) {
         SysLog::error(__FILE__, __METHOD__, __LINE__, 'get event reply define array failed');
         return false;
     }
     return ReplyHandler::handle($app, $openId, $replyArr);
 }
コード例 #2
0
 /**
  * Download image/voice/video file from wechat server.
  *
  */
 public function download()
 {
     $suffix = '';
     $filename = '';
     $app = WechatApp::getAppByOrgId($this->message->ToUserName);
     if (isset($app)) {
         if ($this->message->MsgType == 'image') {
             $suffix = '.jpg';
         }
         if ($this->message->MsgType == 'voice') {
             $suffix = '.amr';
         }
         if ($this->message->MsgType == 'shortvideo' || $this->message->MsgType == 'video') {
             $suffix = '.mp4';
         }
         $media = new Media($app->app_id, $app->app_secret);
         try {
             $filename = $media->download($this->message->MediaId, $this->message->MediaId . $suffix);
             Log::info('file' . $this->message->MediaId . $suffix . 'has been downloaded success!');
         } catch (\Exception $e) {
             Log::error('download file' . $this->message->MediaId . $suffix . ' failed:' . $e->getMessage());
         }
     }
 }