diff --git a/app/Caches/UserDailyCounter.php b/app/Caches/UserDailyCounter.php index fd9627fc..6eb45a68 100644 --- a/app/Caches/UserDailyCounter.php +++ b/app/Caches/UserDailyCounter.php @@ -24,6 +24,7 @@ class UserDailyCounter extends Counter return [ 'favorite_count' => 0, 'comment_count' => 0, + 'danmu_count' => 0, 'consult_count' => 0, 'order_count' => 0, 'chapter_vote_count' => 0, diff --git a/app/Http/Web/Controllers/ChapterController.php b/app/Http/Web/Controllers/ChapterController.php index b8c065fd..30e405bb 100644 --- a/app/Http/Web/Controllers/ChapterController.php +++ b/app/Http/Web/Controllers/ChapterController.php @@ -24,10 +24,23 @@ class ChapterController extends Controller $chapter = $service->handle($id); + $owned = $chapter['me']['owned'] ?? false; + + if (!$owned) { + $this->response->redirect([ + 'for' => 'web.course.show', + 'id' => $chapter['course']['id'], + ]); + } + $service = new CourseChapterListService(); $chapters = $service->handle($chapter['course']['id']); + $this->siteSeo->prependTitle([$chapter['title'], $chapter['course']['title']]); + $this->siteSeo->setKeywords($chapter['title']); + $this->siteSeo->setDescription($chapter['summary']); + if ($chapter['model'] == 'vod') { $this->view->pick('chapter/show_vod'); } elseif ($chapter['model'] == 'live') { diff --git a/app/Http/Web/Controllers/CourseController.php b/app/Http/Web/Controllers/CourseController.php index af8c94ba..3b428930 100644 --- a/app/Http/Web/Controllers/CourseController.php +++ b/app/Http/Web/Controllers/CourseController.php @@ -87,6 +87,10 @@ class CourseController extends Controller $rewardOptions = $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('teachers', $teachers); diff --git a/app/Http/Web/Controllers/DanmuController.php b/app/Http/Web/Controllers/DanmuController.php new file mode 100644 index 00000000..1bad1354 --- /dev/null +++ b/app/Http/Web/Controllers/DanmuController.php @@ -0,0 +1,30 @@ +handle(); + + $service = new DanmuInfoService(); + + $danmu = $service->handle($danmu->id); + + return $this->jsonSuccess(['danmu' => $danmu]); + } + +} diff --git a/app/Http/Web/Controllers/ImController.php b/app/Http/Web/Controllers/ImController.php index 895970ec..b5d0db46 100644 --- a/app/Http/Web/Controllers/ImController.php +++ b/app/Http/Web/Controllers/ImController.php @@ -51,9 +51,9 @@ class ImController extends LayerController } /** - * @Get("/msg/sys/unread/count", name="web.im.unread_sys_msg_count") + * @Get("/msg/sys/unread", name="web.im.unread_sys_msg") */ - public function unreadSystemMessagesCountAction() + public function unreadSystemMessagesAction() { $service = new ImService(); diff --git a/app/Http/Web/Services/Im.php b/app/Http/Web/Services/Im.php index 826e5c0c..fb76c40a 100644 --- a/app/Http/Web/Services/Im.php +++ b/app/Http/Web/Services/Im.php @@ -498,7 +498,7 @@ class Im extends Service /** * 避免频繁推送消息 */ - if ($onlinePushTime && time() - $onlinePushTime > 600) { + if ($onlinePushTime && time() - $onlinePushTime < 600) { return; } diff --git a/app/Http/Web/Views/chapter/show_live.volt b/app/Http/Web/Views/chapter/show_live.volt index 0a5a42f2..ce6b8f77 100644 --- a/app/Http/Web/Views/chapter/show_live.volt +++ b/app/Http/Web/Views/chapter/show_live.volt @@ -17,7 +17,9 @@