LoginController.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Service\CodeService;
  4. use App\Service\EmployeeService;
  5. use App\Service\LoginService;
  6. use App\Service\TokenService;
  7. use Illuminate\Http\Request;
  8. //登录
  9. class LoginController extends BaseController
  10. {
  11. const MOBILE = '[mobile]';// 手机端
  12. const PERSONAL_COMPUTER = '[personalComputer]';// 电脑端
  13. public static $port = [
  14. self::MOBILE => '',
  15. self::PERSONAL_COMPUTER => '',
  16. ];
  17. public function login(Request $request){
  18. $data = $request->only("account","password","code");
  19. //ip 校验
  20. $return = (new LoginService())->loginRule($data);
  21. if(! $return) return $this->json_return(201,'','IP不在允许登录范围!');
  22. //code 校验
  23. list($status,$msg) = (new CodeService())->loginCodeRule($data);
  24. if(! $status) return $this->json_return(201,'',$msg);
  25. //登录
  26. $result = (new EmployeeService())->loginRule($data);
  27. list($bool, $return) = $result;
  28. if(! $bool) return $this->json_return(201,'',$return);
  29. //生成token
  30. $jwtToken = TokenService::getToken($return['id']);
  31. $jwtToken = self::PERSONAL_COMPUTER . $jwtToken;
  32. return $this->json_return(200,'', ['token' => $jwtToken, 'emp_name'=>$return['name']]);
  33. }
  34. }