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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。