/**
  * 微信消息接口入口
  * 所有发送到微信的消息都会推送到该操作
  * 所以,微信公众平台后台填写的api地址则为该操作的访问地址
  */
 public function index($id = '')
 {
     $token = '';
     //微信后台填写的TOKEN
     /* 加载微信SDK */
     $wechat = new Wechat($token);
     /* 获取请求信息 */
     $data = $wechat->request();
     if ($data && is_array($data)) {
         /**
          * 你可以在这里分析数据,决定要返回给用户什么样的信息
          * 接受到的信息类型有9种,分别使用下面九个常量标识
          * Wechat::MSG_TYPE_TEXT       //文本消息
          * Wechat::MSG_TYPE_IMAGE      //图片消息
          * Wechat::MSG_TYPE_VOICE      //音频消息
          * Wechat::MSG_TYPE_VIDEO      //视频消息
          * Wechat::MSG_TYPE_MUSIC      //音乐消息
          * Wechat::MSG_TYPE_NEWS       //图文消息(推送过来的应该不存在这种类型,但是可以给用户回复该类型消息)
          * Wechat::MSG_TYPE_LOCATION   //位置消息
          * Wechat::MSG_TYPE_LINK       //连接消息
          * Wechat::MSG_TYPE_EVENT      //事件消息
          *
          * 事件消息又分为下面五种
          * Wechat::MSG_EVENT_SUBSCRIBE          //订阅
          * Wechat::MSG_EVENT_SCAN               //二维码扫描
          * Wechat::MSG_EVENT_LOCATION           //报告位置
          * Wechat::MSG_EVENT_CLICK              //菜单点击
          * Wechat::MSG_EVENT_MASSSENDJOBFINISH  //群发消息成功
          */
         $content = '';
         //回复内容,回复不同类型消息,内容的格式有所不同
         $type = '';
         //回复消息的类型
         /* 响应当前请求(自动回复) */
         $wechat->response($content, $type);
         /**
          * 响应当前请求还有以下方法可以只使用
          * 具体参数格式说明请参考文档
          * 
          * $wechat->replyText($text); //回复文本消息
          * $wechat->replyImage($media_id); //回复图片消息
          * $wechat->replyVoice($media_id); //回复音频消息
          * $wechat->replyVideo($media_id, $title, $discription); //回复视频消息
          * $wechat->replyMusic($title, $discription, $musicurl, $hqmusicurl, $thumb_media_id); //回复音乐消息
          * $wechat->replyNews($news, $news1, $news2, $news3); //回复多条图文消息
          * $wechat->replyNewsOnce($title, $discription, $url, $picurl); //回复单条图文消息
          * 
          */
     }
 }
 /**
  * 微信消息接口入口
  * 所有发送到微信的消息都会推送到该操作
  * 所以,微信公众平台后台填写的api地址则为该操作的访问地址
  */
 public function index()
 {
     $token = C('WEIXIN.TOKEN');
     //微信后台填写的TOKEN
     /* 加载微信SDK */
     $this->wc = $wechat = new Wechat($token);
     /* 获取请求信息 */
     $data = $wechat->request();
     slog($data);
     if ($data && is_array($data)) {
         switch ($data['MsgType']) {
             //事件
             case Wechat::MSG_TYPE_EVENT:
                 switch ($data['Event']) {
                     case Wechat::MSG_EVENT_SUBSCRIBE:
                         $wechat->replyText('欢迎关注freelog, 你可以留言引号内内容获得本账号的某些服务比如: 回复"听大白", 会收到一条语音消息, 回复“看视频”,会收到JobDeer官方介绍视频,回复"看图片",看到一个Jobdeer的三行广告,回复“推荐文章”,收到一个推荐的图文消息,回复“功能菜单”,收到欢迎文本');
                         break;
                         //退订
                     //退订
                     case Wechat::MSG_EVENT_UNSUBSCRIBE:
                         # TODO  添加微信消息记录日志里去
                         break;
                 }
                 break;
             case Wechat::MSG_TYPE_TEXT:
                 $this->onText($data['Content']);
                 break;
             default:
                 $user_send_types = array(Wechat::MSG_TYPE_IMAGE, Wechat::MSG_TYPE_VOICE, Wechat::MSG_TYPE_VIDEO, Wechat::MSG_TYPE_SHORTVIDEO, Wechat::MSG_TYPE_MUSIC);
                 if (in_array($data['MsgType'], $user_send_types)) {
                     $wechat->replyText('用户传了媒体消息' . $data['MsgType'] . "媒体id为:{$data['MediaId']}");
                 } else {
                     $wechat->response('其他功能尚在开发中', Wechat::MSG_TYPE_TEXT);
                 }
                 break;
         }
         /**
          * 你可以在这里分析数据,决定要返回给用户什么样的信息
          * 接受到的信息类型有10种,分别使用下面10个常量标识
          * Wechat::MSG_TYPE_TEXT       //文本消息
          * Wechat::MSG_TYPE_IMAGE      //图片消息
          * Wechat::MSG_TYPE_VOICE      //音频消息
          * Wechat::MSG_TYPE_VIDEO      //视频消息
          * Wechat::MSG_TYPE_SHORTVIDEO //视频消息
          * Wechat::MSG_TYPE_MUSIC      //音乐消息
          * Wechat::MSG_TYPE_NEWS       //图文消息(推送过来的应该不存在这种类型,但是可以给用户回复该类型消息)
          * Wechat::MSG_TYPE_LOCATION   //位置消息
          * Wechat::MSG_TYPE_LINK       //连接消息
          * Wechat::MSG_TYPE_EVENT      //事件消息
          *
          * 事件消息又分为下面五种
          * Wechat::MSG_EVENT_SUBSCRIBE    //订阅
          * Wechat::MSG_EVENT_UNSUBSCRIBE  //取消订阅
          * Wechat::MSG_EVENT_SCAN         //二维码扫描
          * Wechat::MSG_EVENT_LOCATION     //报告位置
          * Wechat::MSG_EVENT_CLICK        //菜单点击
          */
         $content = '这里是Freelog';
         //回复内容,回复不同类型消息,内容的格式有所不同
         $type = Wechat::MSG_TYPE_TEXT;
         //回复消息的类型
         /* 响应当前请求(自动回复) */
         $wechat->response($content, $type);
         /**
          * 响应当前请求还有以下方法可以只使用
          * 具体参数格式说明请参考文档
          *
          * $wechat->replyText($text); //回复文本消息
          * $wechat->replyImage($media_id); //回复图片消息
          * $wechat->replyVoice($media_id); //回复音频消息
          * $wechat->replyVideo($media_id, $title, $discription); //回复视频消息
          * $wechat->replyMusic($title, $discription, $musicurl, $hqmusicurl, $thumb_media_id); //回复音乐消息
          * $wechat->replyNews($news, $news1, $news2, $news3); //回复多条图文消息
          * $wechat->replyNewsOnce($title, $discription, $url, $picurl); //回复单条图文消息
          *
          */
     }
 }