Login.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace app\api\controller;
  3. use app\api\service\LoginService;
  4. use app\api\validate\LoginValidate;
  5. use app\BaseController;
  6. use app\Request;
  7. use think\App;
  8. class Login extends BaseController
  9. {
  10. private $service;
  11. public function __construct(App $app)
  12. {
  13. $this->service = new LoginService();
  14. parent::__construct($app);
  15. }
  16. /**
  17. * @param Request $request
  18. * @return \think\response\Json
  19. * @throws \app\exception\BaseException
  20. */
  21. public function login(Request $request)
  22. {
  23. $params = (new LoginValidate())->message([
  24. 'username.require' => lang('The user name must exist'),
  25. 'username.max' => lang('The length of the user name is invalid'),
  26. 'password.require' => lang('The password must exist'),
  27. 'password.max' => lang('The length of the password is invalid'),
  28. ])->requestBodyCheck($request);
  29. $res = $this->service->loadByLogin($params['username'], md5($params['password']));
  30. predicate($res->bool, $res->message);
  31. return $this->ok($res->data);
  32. }
  33. }