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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。