<?php namespace App\Http\Controllers\Api\Common; use Aix\Sms\Contracts\Smser; use App\Http\Controllers\Api\ApiBaseController; use App\Services\Common\GeetestService; use App\Services\Common\SmsService; use App\Validators\SmsValidatorRequest; use Illuminate\Http\Response; class SmsController extends ApiBaseController { /** * @var SmsService */ protected $smsService; /** * @var GeetestService */ private $geetestService; /** * CommonController constructor. * @param SmsService $smsService * @param GeetestService $geetestService */ public function __construct(SmsService $smsService, GeetestService $geetestService) { $this->smsService = $smsService; $this->geetestService = $geetestService; $this->middleware([\Illuminate\Session\Middleware\StartSession::class]); } public function sendSms(SmsValidatorRequest $smsValidatorRequest) { $method=$smsValidatorRequest->type.'Sms'; $result=$this->$method($smsValidatorRequest->mobile); return $result; } protected function loginSms($mobile) { $this->smsService->sendAuthSms($mobile, Smser::TEMPLATE_AUTH_LOGIN); return $this->sendSuccessResponse(); } protected function registerSms($mobile) { if (config('aix.system.site_safety.site_vo_code.captcha_open') == 1) { if (!$this->geetestService->checkGeetest()) { return $this->sendErrorResponse("验证码不通过,请重新验证"); } } $this->smsService->sendAuthSms($mobile, Smser::TEMPLATE_AUTH_REGISTER); return $this->sendSuccessResponse(); } }