diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b08b97c..60ec1de8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +### [v1.7.8](https://gitee.com/koogua/course-tencent-cloud/releases/v1.7.8)(2025-06-20) + +- 移除ThrottleLimit +- 增加CloseLiveTask +- 增加搜索页图片alt属性striptags过滤 +- 后台增加返回顶部快捷方式 +- 前台fixbar增加联系电话 +- 优化安装脚本 +- 优化课时列表直播提示 +- 优化后台返回链接 +- 优化统计分析代码位置 +- 直播回调后更新课时缓存 +- 后台清空头像->上传头像 +- sitemap.xml直接写入网站根目录 + ### [v1.7.7](https://gitee.com/koogua/course-tencent-cloud/releases/v1.7.7)(2025-04-20) - 优化索引管理工具 diff --git a/app/Console/Migrations/Migration.php b/app/Console/Migrations/Migration.php index dab29370..061db96c 100644 --- a/app/Console/Migrations/Migration.php +++ b/app/Console/Migrations/Migration.php @@ -18,6 +18,13 @@ abstract class Migration abstract public function run(); + protected function saveSettings(array $settings) + { + foreach ($settings as $setting) { + $this->saveSetting($setting); + } + } + protected function saveSetting(array $setting) { $settingRepo = new SettingRepo(); @@ -32,4 +39,4 @@ abstract class Migration } } -} \ No newline at end of file +} diff --git a/app/Console/Tasks/CloseLiveTask.php b/app/Console/Tasks/CloseLiveTask.php new file mode 100644 index 00000000..8cfd3d86 --- /dev/null +++ b/app/Console/Tasks/CloseLiveTask.php @@ -0,0 +1,72 @@ +findChapterLives(); + + echo sprintf('pending lives: %s', $chapterLives->count()) . PHP_EOL; + + if ($chapterLives->count() == 0) return; + + echo '------ start close live task ------' . PHP_EOL; + + foreach ($chapterLives as $chapterLive) { + + $chapterLive->status = ChapterLiveModel::STATUS_INACTIVE; + + $chapterLive->update(); + + $chapterRepo = new ChapterRepo(); + + $chapter = $chapterRepo->findById($chapterLive->chapter_id); + + $attrs = $chapter->attrs; + $attrs['stream']['status'] = ChapterModel::SS_INACTIVE; + $chapter->attrs = $attrs; + + $chapter->update(); + + $cache = new CourseChapterListCache(); + + $cache->rebuild($chapterLive->course_id); + } + + echo '------ end close live task ------' . PHP_EOL; + } + + /** + * 查找待关闭直播 + * + * @param int $limit + * @return ResultsetInterface|Resultset|ChapterLiveModel[] + */ + protected function findChapterLives(int $limit = 100) + { + $status = ChapterLiveModel::STATUS_ACTIVE; + $endTime = time() - 3600; + + return ChapterLiveModel::query() + ->where('status = :status:', ['status' => $status]) + ->andWhere('end_time < :end_time:', ['end_time' => $endTime]) + ->limit($limit) + ->execute(); + } + +} diff --git a/app/Console/Tasks/SitemapTask.php b/app/Console/Tasks/SitemapTask.php index a9e3324e..f617f8be 100644 --- a/app/Console/Tasks/SitemapTask.php +++ b/app/Console/Tasks/SitemapTask.php @@ -37,7 +37,7 @@ class SitemapTask extends Task $this->sitemap = new Sitemap(); - $filename = tmp_path('sitemap.xml'); + $filename = public_path('sitemap.xml'); echo '------ start sitemap task ------' . PHP_EOL; diff --git a/app/Http/Admin/Views/category/list.volt b/app/Http/Admin/Views/category/list.volt index 7e2efff7..837e4f26 100644 --- a/app/Http/Admin/Views/category/list.volt +++ b/app/Http/Admin/Views/category/list.volt @@ -9,7 +9,7 @@