CaptchaController.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. /**
  3. * @Name
  4. * @Description
  5. * @Author 刘学玺
  6. * @Date 2024/8/22 17:19
  7. */
  8. namespace App\Http\Controllers\Backend\Server\System;
  9. use App\Http\Controllers\Controller;
  10. use App\Http\Requests\Request;
  11. use App\Http\Services\Backend\Server\System\CaptchaService;
  12. use Illuminate\Http\JsonResponse;
  13. use Illuminate\Support\Arr;
  14. use function PHPUnit\Framework\assertTrue;
  15. class CaptchaController extends Controller
  16. {
  17. public function index(Request $request): JsonResponse
  18. {
  19. assertTrue($request->server('REMOTE_ADDR') != null);
  20. // 获取验证码
  21. $params = $request->all();
  22. $browserInfo = $this->getRemoteId($request);
  23. Arr::pull($params, 'browserInfo', $browserInfo);
  24. $res = (new CaptchaService())->get($params);
  25. return self::success($res);
  26. }
  27. protected function getRemoteId(Request $request)
  28. {
  29. $ip = $request->getClientIp();
  30. $ua = $request->header('User-Agent');
  31. (empty($ip)) && ($ip = $_SERVER['REMOTE_ADDR']);
  32. return $ip + $ua;
  33. }
  34. }