From fde8e622731e11708e0a1b3a5d2ea91defb6d300 Mon Sep 17 00:00:00 2001 From: zhengsongbo Date: Sat, 2 Aug 2025 13:19:48 +0800 Subject: [PATCH] =?UTF-8?q?zhengsongbo:=E6=A0=87=E7=AD=BE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=8F=90=E6=B5=8B=20on=202?= =?UTF-8?q?025-08-02?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/courseTag.js | 64 +++++ src/components/Course/courseForm.vue | 6 +- src/components/Course/courseTag.vue | 158 ++++++++++++ src/data/pages.js | 3 +- src/views/portal/course/Index.vue | 104 +++++++- src/views/tag/TagManageList.vue | 372 +++++++++++++++++++++++++++ 6 files changed, 698 insertions(+), 9 deletions(-) create mode 100644 src/api/modules/courseTag.js create mode 100644 src/components/Course/courseTag.vue create mode 100644 src/views/tag/TagManageList.vue diff --git a/src/api/modules/courseTag.js b/src/api/modules/courseTag.js new file mode 100644 index 00000000..0368c0d9 --- /dev/null +++ b/src/api/modules/courseTag.js @@ -0,0 +1,64 @@ +/**课程标签模块的相关处理*/ +import ajax from '@/utils/xajax.js' + +/** + * 分页查询:标签列表 + * @param {Object} query + */ +const portalPageList = function(query) { + return ajax.post('/xboe/m/coursetag/page', query); +} + +//改变标签的公共属性 +const changeTagPublic = function (row){ + // 返回 Promise 的 API 调用 + return ajax.post('/xboe/m/coursetag/changePublicStatus', { + id: row.id, + isPublic: row.isPublic + }); +} + +//改变标签的热点属性 +const changeTagHot = function (row){ + // 返回 Promise 的 API 调用 + return ajax.post('/xboe/m/coursetag/changeHotStatus', { + id: row.id, + isHot: row.isHot + }); +} + +//查询指定id的标签关联的所有课程 +const showCourseByTag = function (query){ + return ajax.post('/xboe/m/coursetag/showCourseByTag', query); +} + +//解除指定id的课程和某个标签之间的关联关系 +const unbindCourseTagRelation = function (params){ + return ajax.post('/xboe/m/coursetag/unbind', params); +} + +//编辑课程:标签模糊查询 +const searchTags = function (params){ + return ajax.post('/xboe/m/coursetag/searchTags', params); +} + +//编辑课程:创建标签(与当前课程关联) +const createTag = function (params){ + return ajax.post('/xboe/m/coursetag/createTag', params); +} + +//获取最新前10个热点标签 +const getHotTagList = function (params){ + return ajax.post('/xboe/m/coursetag/getHotTagList', params); +} + +export default { + portalPageList, + changeTagPublic, + changeTagHot, + showCourseByTag, + unbindCourseTagRelation, + searchTags, + createTag, + getHotTagList +} diff --git a/src/components/Course/courseForm.vue b/src/components/Course/courseForm.vue index 8163331c..13ddd9a8 100644 --- a/src/components/Course/courseForm.vue +++ b/src/components/Course/courseForm.vue @@ -253,6 +253,9 @@ --> + + + @@ -402,6 +405,7 @@ + + diff --git a/src/data/pages.js b/src/data/pages.js index fa49ae36..5ec52049 100644 --- a/src/data/pages.js +++ b/src/data/pages.js @@ -128,7 +128,8 @@ export const iframes=[ {title:'查看受众', path:'/iframe/ugroup/view',hidden:false,component:'manage/AudienceView'}, {title:'问答管理', path:'/iframe/qa/manages',hidden:false,component:'qa/ManageList'}, {title:'待审核课程', path:'/iframe/course/noapproved',hidden:false,component:'examine/NotApproved'}, - {title:'已审核课程', path:'/iframe/course/reviewed',hidden:false,component:'examine/Reviewed'} + {title:'已审核课程', path:'/iframe/course/reviewed',hidden:false,component:'examine/Reviewed'}, + {title:'标签管理', path:'/iframe/tag/manages',hidden:false,component:'tag/TagManageList'}, ] diff --git a/src/views/portal/course/Index.vue b/src/views/portal/course/Index.vue index fef6ab57..2084430d 100644 --- a/src/views/portal/course/Index.vue +++ b/src/views/portal/course/Index.vue @@ -284,32 +284,40 @@