SmsController.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Http\Controllers\Api\Common;
  3. use Aix\Sms\Contracts\Smser;
  4. use App\Http\Controllers\Api\ApiBaseController;
  5. use App\Services\Common\GeetestService;
  6. use App\Services\Common\SmsService;
  7. use App\Validators\SmsValidatorRequest;
  8. use Illuminate\Http\Response;
  9. class SmsController extends ApiBaseController
  10. {
  11. /**
  12. * @var SmsService
  13. */
  14. protected $smsService;
  15. /**
  16. * @var GeetestService
  17. */
  18. private $geetestService;
  19. /**
  20. * CommonController constructor.
  21. * @param SmsService $smsService
  22. * @param GeetestService $geetestService
  23. */
  24. public function __construct(SmsService $smsService, GeetestService $geetestService)
  25. {
  26. $this->smsService = $smsService;
  27. $this->geetestService = $geetestService;
  28. $this->middleware([\Illuminate\Session\Middleware\StartSession::class]);
  29. }
  30. public function sendSms(SmsValidatorRequest $smsValidatorRequest)
  31. {
  32. $method=$smsValidatorRequest->type.'Sms';
  33. $result=$this->$method($smsValidatorRequest->mobile);
  34. return $result;
  35. }
  36. protected function loginSms($mobile)
  37. {
  38. $this->smsService->sendAuthSms($mobile, Smser::TEMPLATE_AUTH_LOGIN);
  39. return $this->sendSuccessResponse();
  40. }
  41. protected function registerSms($mobile)
  42. {
  43. if (config('aix.system.site_safety.site_vo_code.captcha_open') == 1) {
  44. if (!$this->geetestService->checkGeetest()) {
  45. return $this->sendErrorResponse("验证码不通过,请重新验证");
  46. }
  47. }
  48. $this->smsService->sendAuthSms($mobile, Smser::TEMPLATE_AUTH_REGISTER);
  49. return $this->sendSuccessResponse();
  50. }
  51. }