AccountController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Http\Controllers\Account;
  3. use App\Facade\Site;
  4. use App\Consts\ErrorConst;
  5. use App\Exceptions\ApiException;
  6. use App\Libs\ApiResponse;
  7. use App\Libs\Utils;
  8. use App\Services\Account\AccountService;
  9. use App\Transformer\Account\AccountTransformer;
  10. use Illuminate\Http\Request;
  11. use Illuminate\Routing\Controller as BaseController;
  12. use Illuminate\Support\Facades\Redis;
  13. use Illuminate\Support\Facades\Validator;
  14. class AccountController extends BaseController
  15. {
  16. use ApiResponse;
  17. protected $accountService;
  18. public function __construct(
  19. AccountService $accountService
  20. ) {
  21. $this->accountService = $accountService;
  22. }
  23. public function index(Request $request)
  24. {
  25. return view('index');
  26. }
  27. /**
  28. * 登录
  29. *
  30. * @param Request $request
  31. * @return mixed
  32. * @throws ApiException
  33. */
  34. public function login(Request $request)
  35. {
  36. $all = $request->all();
  37. $account = trim(getProp($all, 'account'));
  38. $passwd = trim(getProp($all, 'passwd'));
  39. if (strlen($account) < 1 || strlen($passwd) < 1) {
  40. Utils::throwError(ErrorConst::PARAM_ERROR_CODE);
  41. }
  42. // 登录
  43. $user = $this->accountService->login($account, $passwd);
  44. return $this->success($user);
  45. }
  46. /**
  47. * 退出登录
  48. *
  49. * @return mixed
  50. */
  51. public function logout()
  52. {
  53. // 当前登录用户
  54. $token = Site::getToken();
  55. // 退出
  56. $result = $this->accountService->logout($token);
  57. return $this->success(['success' => $result ? 1 : 0]);
  58. }
  59. }