diff --git a/app/Builders/ChapterTreeList.php b/app/Builders/ChapterTreeList.php index 1b6a48ab..34da6b6a 100644 --- a/app/Builders/ChapterTreeList.php +++ b/app/Builders/ChapterTreeList.php @@ -28,7 +28,7 @@ class ChapterTreeList extends Builder $list[] = [ 'id' => $chapter->id, 'title' => $chapter->title, - 'priority' => $chapter->priority, + 'model' => $chapter->model, 'children' => $this->handleChildren($chapter), ]; } @@ -64,6 +64,7 @@ class ChapterTreeList extends Builder $list[] = [ 'id' => $lesson->id, 'title' => $lesson->title, + 'model' => $lesson->model, 'free' => $lesson->free, 'attrs' => $attrs, ]; diff --git a/app/Caches/ImChatGroup.php b/app/Caches/ImGroup.php similarity index 100% rename from app/Caches/ImChatGroup.php rename to app/Caches/ImGroup.php diff --git a/app/Http/Web/Controllers/CourseController.php b/app/Http/Web/Controllers/CourseController.php index f6bd897c..cdbc4066 100644 --- a/app/Http/Web/Controllers/CourseController.php +++ b/app/Http/Web/Controllers/CourseController.php @@ -5,6 +5,7 @@ namespace App\Http\Web\Controllers; use App\Http\Web\Services\CourseQuery as CourseQueryService; use App\Services\Frontend\Course\ChapterList as CourseChapterListService; use App\Services\Frontend\Course\ConsultList as CourseConsultListService; +use App\Services\Frontend\Course\CourseBasic as CourseBasicService; use App\Services\Frontend\Course\CourseInfo as CourseInfoService; use App\Services\Frontend\Course\CourseList as CourseListService; use App\Services\Frontend\Course\Favorite as CourseFavoriteService; @@ -58,7 +59,7 @@ class CourseController extends Controller $pager->target = 'course-list'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('course/list_pager'); + $this->view->pick('course/ajax_pager'); $this->view->setVar('pager', $pager); } @@ -75,26 +76,44 @@ class CourseController extends Controller $course['category_paths'] = $service->handleCategoryPaths($course['category_id']); - $service = new CourseChapterListService(); - - $chapters = $service->handle($id); - - $service = new CourseTeacherListService(); - - $teachers = $service->handle($id); - $service = new RewardOptionList(); - $rewardOptions = $service->handle(); + $rewards = $service->handle(); $this->siteSeo->prependTitle($course['title']); $this->siteSeo->setKeywords($course['keywords']); $this->siteSeo->setDescription($course['summary']); $this->view->setVar('course', $course); - $this->view->setVar('chapters', $chapters); + $this->view->setVar('rewards', $rewards); + } + + /** + * @Get("/{id:[0-9]+}/teachers", name="web.course.teachers") + */ + public function teachersAction($id) + { + $service = new CourseTeacherListService(); + + $teachers = $service->handle($id); + + $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); + $this->view->pick('course/ajax_teachers'); $this->view->setVar('teachers', $teachers); - $this->view->setVar('reward_options', $rewardOptions); + } + + /** + * @Get("/{id:[0-9]+}/chapters", name="web.course.chapters") + */ + public function chaptersAction($id) + { + $service = new CourseChapterListService(); + + $chapters = $service->handle($id); + + $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); + $this->view->pick('course/ajax_chapters'); + $this->view->setVar('chapters', $chapters); } /** @@ -107,7 +126,7 @@ class CourseController extends Controller $packages = $service->handle($id); $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('course/show_packages'); + $this->view->pick('course/ajax_packages'); $this->view->setVar('packages', $packages); } @@ -123,7 +142,7 @@ class CourseController extends Controller $pager->target = 'tab-consults'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('course/show_consults'); + $this->view->pick('course/ajax_consults'); $this->view->setVar('pager', $pager); } @@ -139,7 +158,7 @@ class CourseController extends Controller $pager->target = 'tab-reviews'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('course/show_reviews'); + $this->view->pick('course/ajax_reviews'); $this->view->setVar('pager', $pager); } @@ -153,7 +172,7 @@ class CourseController extends Controller $courses = $service->handle($id); $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('course/show_recommended'); + $this->view->pick('course/ajax_recommended'); $this->view->setVar('courses', $courses); } @@ -167,7 +186,7 @@ class CourseController extends Controller $courses = $service->handle($id); $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('course/show_related'); + $this->view->pick('course/ajax_related'); $this->view->setVar('courses', $courses); } @@ -181,7 +200,7 @@ class CourseController extends Controller $topics = $service->handle($id); $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('course/show_topics'); + $this->view->pick('course/ajax_topics'); $this->view->setVar('topics', $topics); } @@ -190,7 +209,7 @@ class CourseController extends Controller */ public function ratingAction($id) { - $service = new CourseInfoService(); + $service = new CourseBasicService(); $course = $service->handle($id); diff --git a/app/Http/Web/Controllers/ImController.php b/app/Http/Web/Controllers/ImController.php index b5d0db46..c48ea999 100644 --- a/app/Http/Web/Controllers/ImController.php +++ b/app/Http/Web/Controllers/ImController.php @@ -38,6 +38,33 @@ class ImController extends LayerController return $this->jsonSuccess(['data' => ['list' => $list]]); } + /** + * @Get("/msgbox", name="web.im.msgbox") + */ + public function msgboxAction() + { + $service = new ImService(); + + $pager = $service->getSystemMessages(); + + $this->view->pick('im/msgbox'); + $this->view->setVar('pager', $pager); + } + + /** + * @Get("/chatlog", name="web.im.chatlog") + */ + public function chatlogAction() + { + $service = new ImService(); + + $pager = $service->getChatMessages(); + + $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); + $this->view->pick('im/chatlog'); + $this->view->setVar('pager', $pager); + } + /** * @Get("/msg/friend/unread", name="web.im.unread_friend_msg") */ @@ -62,19 +89,6 @@ class ImController extends LayerController return $this->jsonSuccess(['count' => $count]); } - /** - * @Get("/msg/box", name="web.im.msg_box") - */ - public function messageBoxAction() - { - $service = new ImService(); - - $pager = $service->getSystemMessages(); - - $this->view->pick('im/msg_box'); - $this->view->setVar('pager', $pager); - } - /** * @Get("/msg/sys", name="web.im.sys_msg") */ @@ -114,20 +128,6 @@ class ImController extends LayerController return $this->jsonSuccess(['status' => $status]); } - /** - * @Get("/chat/log", name="web.im.chat_log") - */ - public function chatLogAction() - { - $service = new ImService(); - - $pager = $service->getChatMessages(); - - $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('im/chat_log'); - $this->view->setVar('pager', $pager); - } - /** * @Get("/chat/history", name="web.im.chat_history") */ diff --git a/app/Http/Web/Controllers/TeacherController.php b/app/Http/Web/Controllers/TeacherController.php index bb008d6e..153cc44f 100644 --- a/app/Http/Web/Controllers/TeacherController.php +++ b/app/Http/Web/Controllers/TeacherController.php @@ -31,7 +31,7 @@ class TeacherController extends Controller $pager->target = 'teacher-list'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); - $this->view->pick('teacher/list_pager'); + $this->view->pick('teacher/ajax_pager'); $this->view->setVar('pager', $pager); } diff --git a/app/Http/Web/Controllers/TopicController.php b/app/Http/Web/Controllers/TopicController.php index 5555ec71..413488e9 100644 --- a/app/Http/Web/Controllers/TopicController.php +++ b/app/Http/Web/Controllers/TopicController.php @@ -29,15 +29,14 @@ class TopicController extends Controller */ public function coursesAction($id) { - $target = $this->request->get('target', 'trim', 'course-list'); - $service = new TopicCourseListService(); $pager = $service->handle($id); $pager->items = kg_array_object($pager->items); - $pager->target = $target; + $pager->target = 'course-list'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); + $this->view->pick('topic/ajax_courses'); $this->view->setVar('pager', $pager); } diff --git a/app/Http/Web/Controllers/UserController.php b/app/Http/Web/Controllers/UserController.php index b7ed5300..c1eb0ac4 100644 --- a/app/Http/Web/Controllers/UserController.php +++ b/app/Http/Web/Controllers/UserController.php @@ -38,6 +38,7 @@ class UserController extends Controller $pager->target = 'tab-courses'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); + $this->view->pick('user/ajax_courses'); $this->view->setVar('pager', $pager); } @@ -53,6 +54,7 @@ class UserController extends Controller $pager->target = 'tab-favorites'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); + $this->view->pick('user/ajax_favorites'); $this->view->setVar('pager', $pager); } @@ -68,6 +70,7 @@ class UserController extends Controller $pager->target = 'tab-friends'; $this->view->setRenderLevel(View::LEVEL_ACTION_VIEW); + $this->view->pick('user/ajax_friends'); $this->view->setVar('pager', $pager); } diff --git a/app/Http/Web/Services/Im.php b/app/Http/Web/Services/Im.php index fb76c40a..0ef21dae 100644 --- a/app/Http/Web/Services/Im.php +++ b/app/Http/Web/Services/Im.php @@ -135,7 +135,7 @@ class Im extends Service $groupRepo = new ImGroupRepo(); - $users = $groupRepo->findGroupUsers($group->id); + $users = $groupRepo->findUsers($group->id); if ($users->count() == 0) { return []; @@ -170,7 +170,7 @@ class Im extends Service $userRepo = new ImUserRepo(); - $messages = $userRepo->findUnreadImFriendMessages($friend->id, $user->id); + $messages = $userRepo->findUnreadFriendMessages($friend->id, $user->id); if ($messages->count() == 0) { return; @@ -212,7 +212,7 @@ class Im extends Service $userRepo = new ImUserRepo(); - return $userRepo->countUnreadImSystemMessages($user->id); + return $userRepo->countUnreadSystemMessages($user->id); } public function getSystemMessages() @@ -306,7 +306,7 @@ class Im extends Service $userRepo = new ImUserRepo(); - $chatGroups = $userRepo->findImGroups($user->id); + $chatGroups = $userRepo->findGroups($user->id); if ($chatGroups->count() > 0) { foreach ($chatGroups as $group) { @@ -385,7 +385,7 @@ class Im extends Service $validator = new ImGroupUserValidator(); - $relation = $validator->checkGroupUser($user->id, $to['id']); + $relation = $validator->checkGroupUser($to['id'], $user->id); /** * 被对方屏蔽,忽略消息 @@ -423,7 +423,7 @@ class Im extends Service $userRepo = new ImUserRepo(); - $messages = $userRepo->findUnreadImSystemMessages($user->id); + $messages = $userRepo->findUnreadSystemMessages($user->id); if ($messages->count() > 0) { foreach ($messages as $message) { @@ -506,7 +506,7 @@ class Im extends Service $userRepo = new ImUserRepo(); - $friendUsers = $userRepo->findImFriendUsers($user->id); + $friendUsers = $userRepo->findFriendUsers($user->id); if ($friendUsers->count() == 0) { return; @@ -534,8 +534,8 @@ class Im extends Service { $userRepo = new ImUserRepo(); - $friendGroups = $userRepo->findImFriendGroups($user->id); - $friendUsers = $userRepo->findImFriendUsers($user->id); + $friendGroups = $userRepo->findFriendGroups($user->id); + $friendUsers = $userRepo->findFriendUsers($user->id); $items = []; @@ -600,7 +600,7 @@ class Im extends Service { $userRepo = new ImUserRepo(); - $groups = $userRepo->findImGroups($user->id); + $groups = $userRepo->findGroups($user->id); if ($groups->count() == 0) { return []; diff --git a/app/Http/Web/Services/ImFriendTrait.php b/app/Http/Web/Services/ImFriendTrait.php index 3ceb4bc9..5edce6c7 100644 --- a/app/Http/Web/Services/ImFriendTrait.php +++ b/app/Http/Web/Services/ImFriendTrait.php @@ -127,7 +127,7 @@ Trait ImFriendTrait $itemType = ImSystemMessageModel::TYPE_FRIEND_REQUEST; - $message = $userRepo->findImSystemMessage($receiver->id, $itemType); + $message = $userRepo->findSystemMessage($receiver->id, $itemType); if ($message) { $expired = time() - $message->create_time > 7 * 86400; diff --git a/app/Http/Web/Services/ImGroupTrait.php b/app/Http/Web/Services/ImGroupTrait.php index 00600206..a55a3b4d 100644 --- a/app/Http/Web/Services/ImGroupTrait.php +++ b/app/Http/Web/Services/ImGroupTrait.php @@ -30,8 +30,8 @@ Trait ImGroupTrait $group = $validator->checkGroup($post['group_id']); $remark = $validator->checkRemark($post['remark']); - $validator->checkIfJoined($user->id, $group->id); - $validator->checkIfBlocked($user->id, $group->id); + $validator->checkIfJoined($group->id, $user->id); + $validator->checkIfBlocked($group->id, $user->id); $this->handleApplyGroupNotice($user, $group, $remark); } @@ -64,7 +64,7 @@ Trait ImGroupTrait $groupUserRepo = new ImGroupUserRepo(); - $groupUser = $groupUserRepo->findGroupUser($applicant->id, $group->id); + $groupUser = $groupUserRepo->findGroupUser($group->id, $applicant->id); if (!$groupUser) { $groupUserModel = new ImGroupUserModel(); @@ -130,7 +130,7 @@ Trait ImGroupTrait $itemType = ImSystemMessageModel::TYPE_GROUP_REQUEST; - $message = $userRepo->findImSystemMessage($receiver->id, $itemType); + $message = $userRepo->findSystemMessage($receiver->id, $itemType); if ($message) { $expired = time() - $message->create_time > 7 * 86400; @@ -236,7 +236,7 @@ Trait ImGroupTrait { $groupRepo = new ImGroupRepo(); - $users = $groupRepo->findGroupUsers($group->id); + $users = $groupRepo->findUsers($group->id); if ($users->count() == 0) { return; diff --git a/app/Http/Web/Views/chapter/live.volt b/app/Http/Web/Views/chapter/live.volt index bebf89cf..a40ee419 100644 --- a/app/Http/Web/Views/chapter/live.volt +++ b/app/Http/Web/Views/chapter/live.volt @@ -72,6 +72,7 @@ {{ js_include('web/js/chapter.live.player.js') }} {{ js_include('web/js/chapter.live.im.js') }} + {{ js_include('web/js/chapter.like.js') }} {{ js_include('web/js/course.share.js') }} {% endblock %} \ No newline at end of file diff --git a/app/Http/Web/Views/chapter/read.volt b/app/Http/Web/Views/chapter/read.volt index 7f42e8a9..207882dd 100644 --- a/app/Http/Web/Views/chapter/read.volt +++ b/app/Http/Web/Views/chapter/read.volt @@ -48,6 +48,7 @@ {% block include_js %} {{ js_include('web/js/chapter.read.js') }} + {{ js_include('web/js/chapter.like.js') }} {{ js_include('web/js/course.share.js') }} {% endblock %} \ No newline at end of file diff --git a/app/Http/Web/Views/chapter/vod.volt b/app/Http/Web/Views/chapter/vod.volt index 3d5b9d07..c866f18b 100644 --- a/app/Http/Web/Views/chapter/vod.volt +++ b/app/Http/Web/Views/chapter/vod.volt @@ -114,6 +114,7 @@ {{ js_include('lib/jquery.min.js') }} {{ js_include('lib/jquery.danmu.min.js') }} {{ js_include('web/js/course.share.js') }} + {{ js_include('web/js/chapter.like.js') }} {{ js_include('web/js/chapter.vod.player.js') }} {% endblock %} \ No newline at end of file diff --git a/app/Http/Web/Views/course/show_chapters.volt b/app/Http/Web/Views/course/ajax_chapters.volt similarity index 94% rename from app/Http/Web/Views/course/show_chapters.volt rename to app/Http/Web/Views/course/ajax_chapters.volt index 6b618202..6b517fe3 100644 --- a/app/Http/Web/Views/course/show_chapters.volt +++ b/app/Http/Web/Views/course/ajax_chapters.volt @@ -53,11 +53,11 @@