ClientApiController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: kaguya
  5. * Date: 2018/06/30
  6. * Time: 21:40
  7. */
  8. namespace App\Controllers\Client;
  9. use App\Controllers\BaseController;
  10. use App\Controllers\LinkController;
  11. use App\Models\Ann;
  12. use App\Models\User;
  13. use App\Services\Auth;
  14. use App\Services\Config;
  15. use App\Services\Factory;
  16. use App\Utils\Helper;
  17. class ClientApiController extends BaseController
  18. {
  19. public function GetAnnouncement($request, $response, $args)
  20. {
  21. $accessToken = Helper::getTokenFromReq($request);
  22. $storage = Factory::createTokenStorage();
  23. $token = $storage->get($accessToken);
  24. $user = User::find($token->userId);
  25. $Anns = Ann::orderBy('date', 'desc')->first();
  26. $res['ret'] = 1;
  27. $res['msg'] = 'ok';
  28. $res['data'] = $Anns;
  29. return $this->echoJson($response, $res);
  30. }
  31. public function Redirect($request, $response, $args)
  32. {
  33. $user = Auth::getUser();
  34. $url = $request->getQueryParams()['target'];
  35. if (!$user->isLogin) {
  36. $accessToken = Helper::getTokenFromReq($request);
  37. $storage = Factory::createTokenStorage();
  38. $token = $storage->get($accessToken);
  39. if ($token == null) {
  40. $res['ret'] = 0;
  41. $res['msg'] = 'token is null';
  42. return $this->echoJson($response, $res);
  43. }
  44. $user = User::find($token->userId);
  45. $time = 3600 * 24;
  46. Auth::login($user->id, $time);
  47. }
  48. return $response->withRedirect($url);
  49. }
  50. public function GetSubLink($request, $response, $args)
  51. {
  52. $accessToken = Helper::getTokenFromReq($request);
  53. $storage = Factory::createTokenStorage();
  54. $token = $storage->get($accessToken);
  55. $user = User::find($token->userId);
  56. $ssr_sub_token = LinkController::GenerateSSRSubCode($user->id, 0);
  57. $mu = 0;
  58. if ($request->getQueryParams()['mu'] != '') {
  59. $mu = $request->getQueryParams()['mu'];
  60. }
  61. $res['ret'] = 1;
  62. $res['msg'] = 'ok';
  63. $res['data'] = Config::get('subUrl') . $ssr_sub_token . '?mu=' . $mu;
  64. return $this->echoJson($response, $res);
  65. }
  66. }