public function actionIndex($id) { $response = ''; $originalId = $id; $wechatInfo = WechatModel::model()->find('originalId=:originalId', array(':originalId' => $originalId)); if ($wechatInfo) { $wechatApi = new WechatApi($wechatInfo->token); switch (Yii::app()->request->requestType) { case 'GET': if (Yii::app()->request->getParam('echostr')) { $response = $wechatApi->valid(); } break; case 'POST': $post_string = $GLOBALS["HTTP_RAW_POST_DATA"]; $builder = new WeChatRequestBuilder(); $request = $builder->builder($post_string); Yii::log(json_encode($request), 'warning', "api_request"); switch ($request) { case $request instanceof WeChatTextRequest: $response = $this->textResponse($wechatInfo->id, $request); if (!$response && $wechatInfo->originalId == 'gh_354e9ce866ed') { $content = "亲,感谢您关注我们的微信,微信福利不要忘记领取哟!亲,请根据您的手机型号,领取对应的礼包哦!安卓越狱玩家请按1,正版IOS玩家请按2!PPS安卓玩家请按3,即可获得激活码哟!【激活码兑换】登入游戏,点击公告,选择激活码,输入后即可兑换!礼包内容会在背包内哟!"; $xml = new WeChatTextResponse($content); $response = $xml->_to_xml($request); } break; case $request instanceof WeChatEventRequest: switch ($request->event_type) { case WeChatEventRequest::$type_subscribe: $response = $this->subscribeResponse($wechatInfo, $request); break; case WeChatEventRequest::$type_menu: //menu response $key = $request->event_key; $response = $this->menuResponse($key, $request); break; case WeChatEventRequest::$type_location: //TODO 上报地址位置 break; case WeChatEventRequest::$type_scan: //TODO 扫描二维码 break; } break; case $request instanceof WeChatLocationRequest: //TODO 地理位置消息 break; } break; } echo $response; } }