src/AppBundle/Controller/EduCloudController.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace AppBundle\Controller;
use AppBundle\Common\SmsToolkit;
use Biz\Sms\SmsException;
use Biz\System\SettingException;
use Biz\User\CurrentUser;
use Biz\User\Service\UserService;
use Biz\System\Service\LogService;
use Biz\CloudPlatform\CloudAPIFactory;
use Biz\System\Service\SettingService;
use Biz\Sms\SmsProcessor\SmsProcessorFactory;
use Biz\User\UserException;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder;
class EduCloudController extends BaseController
{
public function smsSendAction(Request $request)
{
$smsType = $request->request->get('sms_type');
return $this->createJsonResponse($this->sendSms($request, $smsType));
}
public function smsSendRegistrationAction(Request $request)
{
$smsType = 'sms_registration';
$status = $this->getUserService()->getSmsRegisterCaptchaStatus($request->getClientIp());
if ('captchaRequired' == $status) {
$captchaNum = $request->request->get('captcha_num');
if (empty($captchaNum)) {
return $this->createJsonResponse(array('ACK' => 'captchaRequired'));
} elseif (!$this->validateDragCaptcha($request)) {
return $this->createJsonResponse(array('error' => '验证码错误'));
}
} elseif ('smsUnsendable' == $status) {
return;
}
$result = $this->sendSms($request, $smsType);
if (!empty($result['ACK']) && 'ok' == $result['ACK']) {
$this->getUserService()->updateSmsRegisterCaptchaStatus($request->getClientIp());
}
return $this->createJsonResponse($result);
}
public function smsCheckAction(Request $request, $type)
{
$targetSession = $request->getSession()->get($type);
$targetMobile = $targetSession['to'] ? $targetSession['to'] : '';
$postSmsCode = $request->query->get('value', '');
$ratelimiterResult = SmsToolkit::smsCheckRatelimiter($request, $type, $postSmsCode);
if ($ratelimiterResult && false === $ratelimiterResult['success']) {
return $this->createJsonResponse($ratelimiterResult);
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。