diff --git a/CHANGELOG.md b/CHANGELOG.md index e058e7df..e293105a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +### [v1.4.0](https://gitee.com/koogua/course-tencent-cloud/releases/v1.4.0)(2021-08-03) + +### 更新 + +- 单页增加自定义别名访问 +- 回答增加评论功能 +- 顶部导航微聊增加开关控制 +- 更新默认的ICP备案链接指向 +- 更正部分model定义中字段的类型申明 +- 优化章节过多导致页面过长问题 +- 优化评论前端部分相关逻辑和交互 +- 优化403错误页面,使用forward代替redirect +- 优化播放地址中带queryString的扩展名检查 +- 修正解除第三登录绑定500错误问题 +- 修正教师教授课程未过滤已删除课程问题 +- 修正咨询编辑500错误问题 +- 修正后台列表中restore_url未定义问题 + ### [v1.3.9](https://gitee.com/koogua/course-tencent-cloud/releases/v1.3.9)(2021-07-24) ### 更新 diff --git a/app/Builders/CourseUserList.php b/app/Builders/CourseUserList.php index 9c4d5bca..07c1fada 100644 --- a/app/Builders/CourseUserList.php +++ b/app/Builders/CourseUserList.php @@ -44,7 +44,7 @@ class CourseUserList extends Builder $columns = [ 'id', 'title', 'cover', 'market_price', 'vip_price', - 'rating', 'model', 'level', 'attrs', + 'rating', 'model', 'level', 'attrs', 'published', 'deleted', 'user_count', 'lesson_count', 'review_count', 'favorite_count', ]; @@ -55,9 +55,11 @@ class CourseUserList extends Builder $result = []; foreach ($courses->toArray() as $course) { - $course['cover'] = $baseUrl . $course['cover']; - $course['attrs'] = json_decode($course['attrs'], true); - $result[$course['id']] = $course; + if ($course['deleted'] == 0) { + $course['cover'] = $baseUrl . $course['cover']; + $course['attrs'] = json_decode($course['attrs'], true); + $result[$course['id']] = $course; + } } return $result; diff --git a/app/Http/Admin/Services/Page.php b/app/Http/Admin/Services/Page.php index a9e56b44..e48767a1 100644 --- a/app/Http/Admin/Services/Page.php +++ b/app/Http/Admin/Services/Page.php @@ -72,6 +72,16 @@ class Page extends Service $data['title'] = $validator->checkTitle($post['title']); } + if (isset($post['alias'])) { + $data['alias'] = ''; + if (!empty($post['alias'])) { + $data['alias'] = $validator->checkAlias($post['alias']); + if ($data['alias'] != $page->alias) { + $validator->checkIfAliasTaken($data['alias']); + } + } + } + if (isset($post['content'])) { $data['content'] = $validator->checkContent($post['content']); } diff --git a/app/Http/Admin/Views/page/edit.volt b/app/Http/Admin/Views/page/edit.volt index d7eaca4e..532b3b3f 100644 --- a/app/Http/Admin/Views/page/edit.volt +++ b/app/Http/Admin/Views/page/edit.volt @@ -12,6 +12,12 @@ +
+ +
+ +
+
diff --git a/app/Http/Admin/Views/page/list.volt b/app/Http/Admin/Views/page/list.volt index 52403d25..4f6ecf2c 100644 --- a/app/Http/Admin/Views/page/list.volt +++ b/app/Http/Admin/Views/page/list.volt @@ -2,6 +2,14 @@ {% block content %} + {%- macro alias_tips(alias) %} + {% if alias %} + {{ alias }} + {% else %} + N/A + {% endif %} + {%- endmacro %} + {% set add_url = url({'for':'admin.page.add'}) %}
@@ -24,12 +32,14 @@ + 编号 标题 + 别名 创建时间 更新时间 发布 @@ -42,9 +52,11 @@ {% set edit_url = url({'for':'admin.page.edit','id':item.id}) %} {% set update_url = url({'for':'admin.page.update','id':item.id}) %} {% set delete_url = url({'for':'admin.page.delete','id':item.id}) %} + {% set restore_url = url({'for':'admin.page.restore','id':item.id}) %} {{ item.id }} {{ item.title }} + {{ alias_tips(item.alias) }} {{ date('Y-m-d H:i:s',item.create_time) }} {{ date('Y-m-d H:i:s',item.update_time) }} diff --git a/app/Http/Admin/Views/tag/list.volt b/app/Http/Admin/Views/tag/list.volt index ec21bb5a..4ca7498e 100644 --- a/app/Http/Admin/Views/tag/list.volt +++ b/app/Http/Admin/Views/tag/list.volt @@ -51,6 +51,7 @@ {% set edit_url = url({'for':'admin.tag.edit','id':item.id}) %} {% set update_url = url({'for':'admin.tag.update','id':item.id}) %} {% set delete_url = url({'for':'admin.tag.delete','id':item.id}) %} + {% set restore_url = url({'for':'admin.tag.restore','id':item.id}) %} {{ item.id }} {{ item.name }} diff --git a/app/Http/Home/Controllers/AnswerController.php b/app/Http/Home/Controllers/AnswerController.php index 6ab193be..920d5a83 100644 --- a/app/Http/Home/Controllers/AnswerController.php +++ b/app/Http/Home/Controllers/AnswerController.php @@ -61,7 +61,7 @@ class AnswerController extends Controller } if ($answer['me']['owned'] == 0) { - $this->response->redirect(['for' => 'home.error.403']); + return $this->forbidden(); } $questionId = $answer['question']['id']; diff --git a/app/Http/Home/Controllers/ArticleController.php b/app/Http/Home/Controllers/ArticleController.php index c6b37996..aafe936f 100644 --- a/app/Http/Home/Controllers/ArticleController.php +++ b/app/Http/Home/Controllers/ArticleController.php @@ -107,7 +107,7 @@ class ArticleController extends Controller } if ($article['me']['owned'] == 0) { - $this->response->redirect(['for' => 'home.error.403']); + return $this->forbidden(); } $this->seo->prependTitle(['专栏', $article['title']]); diff --git a/app/Http/Home/Controllers/PageController.php b/app/Http/Home/Controllers/PageController.php index 7d566bcb..20307353 100644 --- a/app/Http/Home/Controllers/PageController.php +++ b/app/Http/Home/Controllers/PageController.php @@ -17,7 +17,7 @@ class PageController extends Controller { /** - * @Get("/{id:[0-9]+}", name="home.page.show") + * @Get("/{id}", name="home.page.show") */ public function showAction($id) { @@ -29,10 +29,6 @@ class PageController extends Controller return $this->notFound(); } - if ($page['me']['owned'] == 0) { - $this->response->redirect(['for' => 'home.error.403']); - } - $featuredCourses = $this->getFeaturedCourses(); $this->seo->prependTitle(['单页', $page['title']]); diff --git a/app/Http/Home/Controllers/QuestionController.php b/app/Http/Home/Controllers/QuestionController.php index 0547fb97..db56dc8f 100644 --- a/app/Http/Home/Controllers/QuestionController.php +++ b/app/Http/Home/Controllers/QuestionController.php @@ -106,7 +106,7 @@ class QuestionController extends Controller } if ($question['me']['owned'] == 0) { - $this->response->redirect(['for' => 'home.error.403']); + return $this->forbidden(); } $this->seo->prependTitle(['问答', $question['title']]); diff --git a/app/Http/Home/Controllers/TopicController.php b/app/Http/Home/Controllers/TopicController.php index 975b1b79..62ed22e5 100644 --- a/app/Http/Home/Controllers/TopicController.php +++ b/app/Http/Home/Controllers/TopicController.php @@ -26,6 +26,10 @@ class TopicController extends Controller $topic = $service->handle($id); + if ($topic['deleted'] == 1) { + return $this->notFound(); + } + $this->seo->prependTitle(['专题', $topic['title']]); $this->seo->setDescription($topic['summary']); diff --git a/app/Http/Home/Views/article/comment.volt b/app/Http/Home/Views/article/comment.volt index 908f74f5..797fb5fb 100644 --- a/app/Http/Home/Views/article/comment.volt +++ b/app/Http/Home/Views/article/comment.volt @@ -10,7 +10,7 @@
- +
diff --git a/app/Http/Home/Views/chapter/comment.volt b/app/Http/Home/Views/chapter/comment.volt index acbe7f76..586d8a66 100644 --- a/app/Http/Home/Views/chapter/comment.volt +++ b/app/Http/Home/Views/chapter/comment.volt @@ -9,7 +9,7 @@
- +
diff --git a/app/Http/Home/Views/comment/list.volt b/app/Http/Home/Views/comment/list.volt index 3fb357d8..fb1e8e06 100644 --- a/app/Http/Home/Views/comment/list.volt +++ b/app/Http/Home/Views/comment/list.volt @@ -20,9 +20,6 @@
{{ item.content }}
{% endfor %} {{ partial('partials/pager_ajax') }} diff --git a/app/Http/Home/Views/comment/replies.volt b/app/Http/Home/Views/comment/replies.volt index c0a3526b..53273376 100644 --- a/app/Http/Home/Views/comment/replies.volt +++ b/app/Http/Home/Views/comment/replies.volt @@ -24,9 +24,6 @@
{{ item.content }}