AuthController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use Encore\Admin\Controllers\AuthController as BaseAuthController;
  4. use GuzzleHttp\Client;
  5. use Illuminate\Support\Facades\Auth;
  6. class AuthController extends BaseAuthController
  7. {
  8. /**
  9. * 获取4s系统的访问令牌
  10. *
  11. * @return \Illuminate\Http\JsonResponse
  12. */
  13. public function get4sAccessToken()
  14. {
  15. try {
  16. $user = Auth::user();
  17. $client = new Client();
  18. $response = $client->post('http://newlinker.net:18001/login/pc', [
  19. 'query' => [
  20. 'username' => $user->username,
  21. 'password' => $user->password
  22. ],
  23. 'http_errors' => false
  24. ]);
  25. $result = json_decode($response->getBody()->getContents(), true);
  26. if ($result['success'] && $result['code'] == 200) {
  27. return response()->json([
  28. 'success' => true,
  29. 'code' => 200,
  30. 'message' => '成功',
  31. 'data' => [
  32. 'token' => $result['data']['token']
  33. ]
  34. ]);
  35. }
  36. return response()->json([
  37. 'success' => false,
  38. 'code' => $result['code'] ?? 500,
  39. 'message' => $result['message'] ?? '获取token失败',
  40. 'data' => null
  41. ]);
  42. } catch (\Exception $e) {
  43. return response()->json([
  44. 'success' => false,
  45. 'code' => 500,
  46. 'message' => '获取token失败: ' . $e->getMessage(),
  47. 'data' => null
  48. ]);
  49. }
  50. }
  51. }