private function requestAction($action)
 {
     switch ($action) {
         case 'wxJsSignature':
             // got wx js signature
             if (isset($_SERVER['HTTP_REFERER'])) {
                 $url = $_SERVER['HTTP_REFERER'];
             } else {
                 $url = self::_phpFileFullUrl();
             }
             //var_dump($url);
             $sig = new ApiSignature(WECHAT_APPID, WECHAT_APPSECRET, $url);
             $ret = json_encode($sig->getSignPackage());
             echo $ret;
             break;
         case 'fetchCode':
             if (isset($_SERVER['HTTP_REFERER'])) {
                 $redirectUrl = $_SERVER['HTTP_REFERER'];
             } else {
                 $redirectUrl = $_SERVER['REQUEST_URI'];
             }
             WeChatOAuth::getCode($redirectUrl, $state = 'qianduoduo', $scope = 'snsapi_base');
             break;
         case 'fetchOpenid':
             if (!isset($_GET['code'])) {
                 echo json_encode(['msg' => 'no code here !!!']);
                 return;
             }
             $code = $_GET['code'];
             $ret = WeChatOAuth::getAccessTokenAndOpenId($code);
             echo json_encode($ret);
             break;
         case 'scanCodePay':
             //$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.WECHAT_APPID.'&secret='.WECHAT_APPSECRET;
             //                var params = {
             //                    id: $('#channel').val() + '01',  // '01' means pay
             //                                amount: $('#money').val(),
             //                                openId: openid,
             //                                authCode: result
             //                            };
             //var_dump($_GET);
             $params = ['id' => $_GET['id'], 'amount' => $_GET['amount'], 'authCode' => $_GET['authCode'], 'openId' => $_GET['openId']];
             //$params = [];
             //parse_str()
             //var_dump($params);
             $ret = Curl::callWebServer(WECHAT_URL . 'zero/scanweb', json_encode($params), 'POST');
             //var_dump($ret);
             // check receipt openid here.
             /**
              * Notify JS frontend.
              */
             echo json_encode($ret);
             /**
              * Notify the receipt.
              */
             $retParams = $ret['params'];
             if (is_string($retParams)) {
                 $retParams = json_decode($retParams, true);
             }
             $debugMode = isset($_GET['debugMode']) && $_GET['debugMode'] === '1';
             if ($debugMode) {
                 // mock
                 $ret['code'] = '00';
                 $retParams['total_amount'] = '0.01';
             }
             if ($ret['code'] === '00' && $retParams && $retParams['total_amount'] && !is_null($retParams['total_amount'])) {
                 $content = '收到' . '付款金额' . $retParams['total_amount'];
                 ResponseInitiative::text($params['openId'], $content);
             }
             break;
             //            case 'notifyPayResult': {
             //                //if(isset($_POST()))
             //                if (!isset($_GET['code'])) {
             //                    echo json_encode(['msg'=>'no code here !!!']);
             //                    return;
             //                }
             //
             //                $code = $_GET['code'];
             //                $ret = WeChatOAuth::getAccessTokenAndOpenId($code);
             //                echo json_encode($ret);
             //            }
             break;
         default:
             //return ResponsePassive::text($request['fromusername'], $request['tousername'], '收到未知的消息,我不知道怎么处理');
     }
 }
 /**
  * @descrpition 链接
  * @param $request
  * @return array
  */
 public static function link(&$request)
 {
     $content = '收到连接(' . $request['msgid'] . '):已回复图文消息,请查看。';
     $item = array('title' => $request['title'] . $request['msgid'], 'description' => $request['description'], 'url' => 'http://c.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=955679078b82b9013df8cb3543bd854f/71cf3bc79f3df8dc8baaddb1cc11728b4710287e.jpg', 'picurl' => $request['url']);
     ResponseInitiative::news($request['fromusername'], array($item));
     return ResponsePassive::text($request['fromusername'], $request['tousername'], $content);
 }