// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\api\controller; use think\response\Json; use app\api\service\passport\{Captcha as CaptchaService, SmsCaptcha as SmsCaptchaService ,MailCaptcha as MailCaptchaService}; use cores\exception\BaseException; /** * 验证码管理 * Class Cart * @package app\api\controller */ class Captcha extends Controller { /** * 图形验证码 * @return Json */ public function image(): Json { $CaptchaService = new CaptchaService; return $this->renderSuccess($CaptchaService->create()); } /** * 发送短信验证码 * @return Json * @throws BaseException */ public function sendSmsCaptcha(): Json { $SmsCaptchaService = new SmsCaptchaService; if ($SmsCaptchaService->handle($this->postForm())) { return $this->renderSuccess('发送成功,请注意查收'); } return $this->renderError($SmsCaptchaService->getError() ?: '短信发送失败'); } /** * 发送邮箱验证码 * @return Json * @throws BaseException */ public function sendEmailCaptcha(): Json { $MailCaptchaService = new MailCaptchaService; if ($MailCaptchaService->handle($this->postForm())) { return $this->renderSuccess('Sent Successful!Please check your new mails.'); } return $this->renderError($MailCaptchaService->getError() ?: '短信发送失败'); } }