LoginController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Service\EmployeeService;
  4. use App\Service\TokenService;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Log;
  7. use Illuminate\Support\Facades\Redis;
  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");
  19. //登录
  20. $result = (new EmployeeService())->loginRule($data);
  21. list($bool, $return) = $result;
  22. if(! $bool) return $this->json_return(201,'',$return);
  23. //账套信息
  24. $this->setSqlServer($request->all(), $return['id']);
  25. //生成token
  26. $jwtToken = TokenService::getToken($return['id']);
  27. $jwtToken = self::PERSONAL_COMPUTER . $jwtToken;
  28. return $this->json_return(200,'', ['token' => $jwtToken, 'emp_name'=>$return['name']]);
  29. }
  30. public function loginMobile(Request $request){
  31. $data = $request->only("account","password");
  32. //登录
  33. $result = (new EmployeeService())->loginRule($data);
  34. list($bool, $return) = $result;
  35. if(! $bool) return $this->json_return(201,'',$return);
  36. //账套信息
  37. $this->setSqlServer($request->all(), $return['id']);
  38. //生成token
  39. $jwtToken = TokenService::getToken($return['id']);
  40. $jwtToken = self::MOBILE . $jwtToken;
  41. return $this->json_return(200,'', ['token' => $jwtToken]);
  42. }
  43. //设置账套缓存
  44. private function setSqlServer($data,$user_id){
  45. $array = [
  46. 'sqlserver_zt' => $data['sqlserver_zt'] ?? '',
  47. ];
  48. $key = 'fyy_sql_server' . $user_id;
  49. Redis::set($key,json_encode($array));
  50. Redis::expire($key, 86400);
  51. }
  52. }