HomeController.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace App\Controllers;
  3. use App\Models\InviteCode;
  4. use App\Services\Config;
  5. use App\Utils\AliPay;
  6. use App\Utils\TelegramSessionManager;
  7. use App\Utils\TelegramProcess;
  8. use App\Utils\Spay_tool;
  9. use App\Utils\Geetest;
  10. /**
  11. * HomeController
  12. */
  13. class HomeController extends BaseController
  14. {
  15. public function index()
  16. {
  17. $GtSdk = null;
  18. $recaptcha_sitekey = null;
  19. if (Config::get('captcha_provider') != '') {
  20. switch (Config::get('captcha_provider')) {
  21. case 'recaptcha':
  22. $recaptcha_sitekey = Config::get('recaptcha_sitekey');
  23. break;
  24. case 'geetest':
  25. $uid = time() . random_int(1, 10000);
  26. $GtSdk = Geetest::get($uid);
  27. break;
  28. }
  29. }
  30. if (Config::get('enable_telegram') == 'true') {
  31. $login_text = TelegramSessionManager::add_login_session();
  32. $login = explode('|', $login_text);
  33. $login_token = $login[0];
  34. $login_number = $login[1];
  35. } else {
  36. $login_token = '';
  37. $login_number = '';
  38. }
  39. return $this->view()
  40. ->assign('geetest_html', $GtSdk)
  41. ->assign('login_token', $login_token)
  42. ->assign('login_number', $login_number)
  43. ->assign('telegram_bot', Config::get('telegram_bot'))
  44. ->assign('enable_logincaptcha', Config::get('enable_login_captcha'))
  45. ->assign('enable_regcaptcha', Config::get('enable_reg_captcha'))
  46. ->assign('base_url', Config::get('baseUrl'))
  47. ->assign('recaptcha_sitekey', $recaptcha_sitekey)
  48. ->display('index.tpl');
  49. }
  50. public function indexold()
  51. {
  52. return $this->view()->display('indexold.tpl');
  53. }
  54. public function code()
  55. {
  56. $codes = InviteCode::where('user_id', '=', '0')->take(10)->get();
  57. return $this->view()->assign('codes', $codes)->display('code.tpl');
  58. }
  59. public function down()
  60. {
  61. }
  62. public function tos()
  63. {
  64. return $this->view()->display('tos.tpl');
  65. }
  66. public function staff()
  67. {
  68. return $this->view()->display('staff.tpl');
  69. }
  70. public function telegram($request, $response, $args)
  71. {
  72. $token = $request->getQueryParams()['token'] ?? '';
  73. if ($token == Config::get('telegram_request_token')) {
  74. TelegramProcess::process();
  75. } else {
  76. echo('不正确请求!');
  77. }
  78. }
  79. public function page404($request, $response, $args)
  80. {
  81. return $this->view()->display('404.tpl');
  82. }
  83. public function page405($request, $response, $args)
  84. {
  85. return $this->view()->display('405.tpl');
  86. }
  87. public function page500($request, $response, $args)
  88. {
  89. return $this->view()->display('500.tpl');
  90. }
  91. public function getOrderList($request, $response, $args)
  92. {
  93. $key = $request->getParam('key');
  94. if (!$key || $key != Config::get('key')) {
  95. $res['ret'] = 0;
  96. $res['msg'] = '错误';
  97. return $response->getBody()->write(json_encode($res));
  98. }
  99. return $response->getBody()->write(json_encode(['data' => AliPay::getList()]));
  100. }
  101. public function setOrder($request, $response, $args)
  102. {
  103. $key = $request->getParam('key');
  104. $sn = $request->getParam('sn');
  105. $url = $request->getParam('url');
  106. if (!$key || $key != Config::get('key')) {
  107. $res['ret'] = 0;
  108. $res['msg'] = '错误';
  109. return $response->getBody()->write(json_encode($res));
  110. }
  111. return $response->getBody()->write(json_encode(['res' => AliPay::setOrder($sn, $url)]));
  112. }
  113. }