ServerService.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. namespace App\Game\Services;
  3. use App\Util;
  4. use GuzzleHttp\Client;
  5. use GuzzleHttp\Exception\RequestException;
  6. class ServerService
  7. {
  8. static $example=[
  9. 'Bangladesh'=>'',
  10. 'Pakistan'=>'',
  11. 'Latin'=>'',
  12. 'OrgBrazil'=>'',
  13. 'Brazil'=>'',
  14. 'Europe'=>'',
  15. 'Russia'=>'',
  16. 'Mexico'=>'',
  17. 'Singapore'=>''
  18. ];
  19. static $codeToServer = [
  20. 'eb1a' => [
  21. 'Subsite' => 'Brazil',
  22. 'Country' => 'Brazil',
  23. 'Currency' => 'BRL',
  24. 'Lang' => 'pt',
  25. 'ServerRegion' => 'sa-east',
  26. 'Api' => 'https://testapi.usgamewin.com'
  27. ],
  28. ];
  29. public static function GetGlobalServerInfoByCode($code)
  30. {
  31. return self::$codeToServer[$code] ?? self::$codeToServer['90dd'];
  32. }
  33. public static function GetGlobalServerInfoBySubsite($subsite)
  34. {
  35. foreach (self::$codeToServer as $code => $server) {
  36. if ($server['Subsite'] == $subsite) {
  37. return $server;
  38. }
  39. }
  40. return self::$codeToServer['eb1a'];
  41. }
  42. public static function IsLocalUser($GlobalUID)
  43. {
  44. return true;
  45. return self::GetGlobalServerInfoByGUID($GlobalUID)['ServerRegion'] == env('REGION_24680', 'sa-east');
  46. }
  47. /**
  48. * @param $GlobalUID
  49. * @return string[]
  50. */
  51. public static function GetGlobalServerInfoByGUID($GlobalUID)
  52. {
  53. ////"917c74999c-b53b-eb1a-0004478930"
  54. $codes = explode("-", $GlobalUID);
  55. $config = @self::$codeToServer[$codes[2]];
  56. if(!$config)return self::$codeToServer['eb1a'];
  57. return $config;
  58. }
  59. public static function GetApiByGUID($GlobalUID)
  60. {
  61. return self::GetGlobalServerInfoByGUID($GlobalUID)['Api'];
  62. }
  63. public static function GlobalToUserID($GlobalUID)
  64. {
  65. return intval(explode('-', $GlobalUID)[3]);
  66. }
  67. public static function GetLocalSign()
  68. {
  69. return substr(md5(env('REGION_24680', 'sa-east')),0,4);
  70. }
  71. public static function RedirectToSub($GlobalUID)
  72. {
  73. $apiurl = self::GetApiByGUID($GlobalUID);
  74. // 获取当前请求的 GET 和 POST 数据
  75. // $getData = $request->query(); // 获取 GET 数据
  76. $postData = $_POST; // 获取 POST 数据
  77. $client = new Client();
  78. $response = $client->post($apiurl . $_SERVER['REQUEST_URI'], [
  79. 'verify'=>false,
  80. 'form_params' => $postData, // 传递 POST 数据// 'query' => $getData, // 传递 GET 数据
  81. ]);
  82. $res = json_decode($response->getBody(), true);
  83. // Util::WriteLog('subserver',$res);
  84. return $res;
  85. }
  86. }