src/Topxia/MobileBundleV2/Processor/Impl/LessonProcessorImpl.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Topxia\MobileBundleV2\Processor\Impl;
use AppBundle\Common\FileToolkit;
use AppBundle\Common\ArrayToolkit;
use AppBundle\Component\MediaParser\ParserProxy;
use Symfony\Component\HttpFoundation\Response;
use Topxia\MobileBundleV2\Processor\BaseProcessor;
use Topxia\MobileBundleV2\Processor\LessonProcessor;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
class LessonProcessorImpl extends BaseProcessor implements LessonProcessor
{
public function getVideoMediaUrl()
{
$courseId = $this->request->get('courseId');
$lessonId = $this->request->get('lessonId');
if (empty($courseId)) {
return $this->createErrorResponse('not_courseId', '课程信息不存在!');
}
$user = $this->controller->getUserByToken($this->request);
$lesson = $this->controller->getCourseService()->getCourseLesson($courseId, $lessonId);
if (empty($lesson)) {
return $this->createErrorResponse('not_courseId', '课时信息不存在!');
}
if (1 == $lesson['free']) {
if ($user->isLogin()) {
if ($this->controller->getCourseMemberService()->isCourseStudent($courseId, $user['id'])) {
$this->controller->getCourseService()->startLearnLesson($courseId, $lessonId);
}
}
$lesson = $this->coverLesson($lesson);
if ('self' == $lesson['mediaSource']) {
$response = $this->curlRequest('GET', $lesson['mediaUri'], null);
return new Response($response);
}
return $lesson['mediaUri'];
}
if (!$user->isLogin()) {
return $this->createErrorResponse('not_login', '您尚未登录,不能查看该课时');
}
$this->controller->getCourseService()->startLearnLesson($courseId, $lessonId);
$member = $this->controller->getCourseMemberService()->getCourseMember($courseId, $user['id']);
$member = $this->previewAsMember($member, $courseId, $user);
if ($member && in_array($member['role'], array('teacher', 'student'))) {
$lesson = $this->coverLesson($lesson);
if ('self' == $lesson['mediaSource']) {
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。