$gameconfig["app"]["appid"], 'secret' => $gameconfig["app"]["appSecret"], 'code' => $jsCode, 'anonymous_code' => $anonymous_code ]; \Logging\LogInfo("DoGet url: " . $url); \Logging\LogInfo("get Data: " . print_r($get, true)); $ret = \CommFunc\curl_get($url, $get); \Logging\LogInfo("ret: " . print_r($ret, true)); // 1. 平台api返回 $responseInfo = json_decode($ret, true); if ($responseInfo['errcode'] != 0) { echo $ret; return; } $openid = ""; $gamePlayer; if (array_key_exists("openid", $responseInfo)) { $openid = $responseInfo["openid"]; // 支持匿名登录,匿名登录玩家使用 anonymous_openid ,前端处理,后端不存库 if ($openid != "") { $gamePlayer = new GamePlayer($openid, $gameconfig["db"]); $playerData = $gamePlayer->onPlayerLogin($syncData); if ($playerData) { // 2. 玩家数据 $responseInfo['playerData'] = $playerData; } } } // 会话密钥 session_key 是对用户数据进行 加密签名 的密钥。为了应用自身的数据安全,开发者服务器不应该把会话密钥下发到小程序,也不应该对外提供这个密钥。 $session_key = ""; if (array_key_exists("session_key", $responseInfo)) { $session_key = $responseInfo["session_key"]; \Logging\LogInfo("session_key: " . $session_key); unset($responseInfo["session_key"]); if ($gamePlayer) { $gamePlayer->saveSessionkey($session_key); } } // 3. 服务器数据 $responseInfo['serverData'] = ['serverTime' => time()]; $responseInfo = json_encode($responseInfo); \Logging\LogInfo("responseInfo: " . print_r($responseInfo, true)); echo $responseInfo;