AccountController.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. /**
  24. * 登录
  25. *
  26. * @param Request $request
  27. * @return mixed
  28. * @throws ApiException
  29. */
  30. public function login(Request $request)
  31. {
  32. $all = $request->all();
  33. $account = trim(getProp($all, 'account'));
  34. $passwd = trim(getProp($all, 'passwd'));
  35. if (strlen($account) < 1 || strlen($passwd) < 1) {
  36. Utils::throwError(ErrorConst::PARAM_ERROR_CODE);
  37. }
  38. // 登录
  39. $user = $this->accountService->login($account, $passwd);
  40. return $this->success($user);
  41. }
  42. /**
  43. * 退出登录
  44. *
  45. * @return mixed
  46. */
  47. public function logout()
  48. {
  49. // 当前登录用户
  50. $token = Site::getToken();
  51. // 退出
  52. $result = $this->accountService->logout($token);
  53. return $this->success(['success' => $result ? 1 : 0]);
  54. }
  55. }