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 shortvideo(&$request) { $content = '收到小视频(' . $request['msgid'] . ')媒体id:' . $request['mediaid']; ResponseInitiative::text($request['fromusername'], $content); return ResponsePassive::video($request['fromusername'], $request['tousername'], $request['mediaid'], '收到小视频消息', '这是刚才您发送的小视频消息'); }