src/AppBundle/Controller/LiveroomController.php

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace AppBundle\Controller;

use Biz\Accessor\AccessorInterface;
use Biz\Activity\Service\ActivityService;
use Biz\Course\LiveReplayException;
use Biz\Task\Service\TaskService;
use Biz\Course\Service\CourseService;
use Biz\CloudPlatform\CloudAPIFactory;
use Biz\Course\Service\LiveReplayService;
use Biz\OpenCourse\Service\OpenCourseService;
use Biz\Task\TaskException;
use Symfony\Component\HttpFoundation\Request;

class LiveroomController extends BaseController
{
    const LIVE_OPEN_COURSE_TYPE = 'open_course';
    const LIVE_COURSE_TYPE = 'course';

    public function _entryAction(Request $request, $roomId, $params = array())
    {
        $user = $request->query->all();
        $user['device'] = $this->getDevice($request);

        if ($request->isSecure()) {
            $user['protocol'] = 'https';
        }

        $systemUser = $this->getUserService()->getUser($user['id']);
        $avatar = !empty($systemUser['smallAvatar']) ? $systemUser['smallAvatar'] : '';
        $avatar = $this->getWebExtension()->getFurl($avatar, 'avatar.png');
        $user['avatar'] = $avatar;

        $biz = $this->getBiz();
        $user['hostname'] = $biz['env']['base_url'];

        if (in_array($user['role'], array('speaker', 'teacher'))) {
            $schemeAndHost = $request->getSchemeAndHttpHost();
            $user['callbackUrl'] = $this->generateCallbackUrl($schemeAndHost, $params);
        }

        $ticket = CloudAPIFactory::create('leaf')->post("/liverooms/{$roomId}/tickets", $user);

        return $this->render('liveroom/entry.html.twig', array(
            'roomId' => $roomId,
            'params' => $params,
            'ticket' => $ticket,
            'liveRole' => !empty($user['role']) ? $user['role'] : 'student',
        ));
    }

    protected function generateCallbackUrl($host, $params)
    {
        $callbackArgs = array(
            'sources' => array('course', 'my', 'public'), //支持课程资料读取,公共资料读取,还有我的资料库读取
            'userId' => $this->getCurrentUser()->getId(),
        );

        if (!empty($params['courseId'])) {

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

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