ClientApiController.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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::getParam($request, 'access_token');
  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::getParam($request, 'access_token');
  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::getParam($request, 'access_token');
  53. $mu = Helper::getParam($request, 'mu');
  54. $storage = Factory::createTokenStorage();
  55. $token = $storage->get($accessToken);
  56. $user = User::find($token->userId);
  57. $ssr_sub_token = LinkController::GenerateSSRSubCode($user->id, 0);
  58. $res['ret'] = 1;
  59. $res['msg'] = 'ok';
  60. $res['data'] = Config::get('subUrl') . $ssr_sub_token;
  61. if ($mu != '') $res['data'] = $res['data'].'?mu=' . $mu;
  62. return $this->echoJson($response, $res);
  63. }
  64. }