From 1f5506dbc46f958029bcf14554d9058ce4a5c811 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Mon, 17 Feb 2025 23:09:12 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=ED=81=90=EB=A0=88=EC=9D=B4=EC=85=98=20?= =?UTF-8?q?=EC=95=84=EC=9D=B4=ED=85=9C=20-=20=EB=93=9C=EB=9E=98=EA=B7=B8?= =?UTF-8?q?=20=EC=95=A4=20=EB=93=9C=EB=A1=AD=EC=9C=BC=EB=A1=9C=20=EC=88=9C?= =?UTF-8?q?=EC=84=9C=EB=B3=80=EA=B2=BD=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/audio_content.js | 16 +++++++--- src/views/Content/ContentCurationDetail.vue | 34 ++++++++++++++++++--- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/api/audio_content.js b/src/api/audio_content.js index aeb8bc8..c5db580 100644 --- a/src/api/audio_content.js +++ b/src/api/audio_content.js @@ -7,7 +7,7 @@ async function getAudioContentList(status, page) { ) } -async function searchAudioContent(searchWord, page){ +async function searchAudioContent(searchWord, page) { return Vue.axios.get( "/admin/audio-content/search?search_word=" + searchWord + "&page=" + (page - 1) + @@ -79,20 +79,27 @@ async function searchSeriesItem(curationId, searchWord) { return Vue.axios.get("/admin/audio-content/curation/search/series?curationId=" + curationId + "&searchWord=" + searchWord) } -async function addItemToCuration(curationId, itemIdList){ +async function addItemToCuration(curationId, itemIdList) { return Vue.axios.post( "/admin/audio-content/curation/add/item", {curationId: curationId, itemIdList: itemIdList} ) } -async function removeItemInCuration(curationId, itemId){ +async function removeItemInCuration(curationId, itemId) { return Vue.axios.put( "/admin/audio-content/curation/remove/item", {curationId: curationId, itemId: itemId} ) } +async function updateItemInCurationOrders(curationId, itemIds) { + return Vue.axios.put( + "/admin/audio-content/curation/orders/item", + {curationId: curationId, itemIds: itemIds} + ) +} + export { getAudioContentList, searchAudioContent, @@ -111,5 +118,6 @@ export { searchSeriesItem, searchContentItem, addItemToCuration, - removeItemInCuration + removeItemInCuration, + updateItemInCurationOrders } diff --git a/src/views/Content/ContentCurationDetail.vue b/src/views/Content/ContentCurationDetail.vue index 1d89fcb..03275c5 100644 --- a/src/views/Content/ContentCurationDetail.vue +++ b/src/views/Content/ContentCurationDetail.vue @@ -94,7 +94,11 @@ - + @@ -137,7 +141,7 @@ - + @@ -402,13 +406,14 @@ From 81bd7a2e3f3dcece3cc5c38283299cb4deb82548 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Tue, 18 Feb 2025 17:02:50 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=ED=83=9C=EA=B7=B8=20=ED=81=90=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=EC=85=98=20=EC=83=81=EC=84=B8=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/audio_content.js | 36 +- src/router/index.js | 5 + .../Content/ContentHashTagCurationDetail.vue | 450 ++++++++++++++++++ 3 files changed, 490 insertions(+), 1 deletion(-) create mode 100644 src/views/Content/ContentHashTagCurationDetail.vue diff --git a/src/api/audio_content.js b/src/api/audio_content.js index fd968f3..adf292a 100644 --- a/src/api/audio_content.js +++ b/src/api/audio_content.js @@ -116,6 +116,35 @@ async function updateHashTagCurationOrders(ids) { return Vue.axios.put('/admin/audio-content/tag/curation/orders', {ids: ids}) } +async function getHashTagCurationItems(curationId) { + return Vue.axios.get('/admin/audio-content/tag/curation/items?curationId=' + curationId) +} + +async function addItemToHashTagCuration(curationId, itemIdList) { + return Vue.axios.post( + "/admin/audio-content/tag/curation/add/item", + {curationId: curationId, itemIdList: itemIdList} + ) +} + +async function removeItemInHashTagCuration(curationId, itemId) { + return Vue.axios.put( + "/admin/audio-content/tag/curation/remove/item", + {curationId: curationId, itemId: itemId} + ) +} + +async function searchHashTagContentItem(curationId, searchWord) { + return Vue.axios.get("/admin/audio-content/tag/curation/search/content?curationId=" + curationId + "&searchWord=" + searchWord) +} + +async function updateItemInHashTagCurationOrders(curationId, itemIds) { + return Vue.axios.put( + "/admin/audio-content/tag/curation/orders/item", + {curationId: curationId, itemIds: itemIds} + ) +} + export { getAudioContentList, searchAudioContent, @@ -139,5 +168,10 @@ export { getHashTagCurations, saveHashTagCuration, modifyHashTagCuration, - updateHashTagCurationOrders + updateHashTagCurationOrders, + getHashTagCurationItems, + addItemToHashTagCuration, + removeItemInHashTagCuration, + searchHashTagContentItem, + updateItemInHashTagCurationOrders } diff --git a/src/router/index.js b/src/router/index.js index 1cac859..b81877c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -90,6 +90,11 @@ const routes = [ name: 'ContentHashTagCuration', component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentHashTagCuration.vue') }, + { + path: '/content/tag/curation/detail', + name: 'ContentHashTagCurationDetail', + component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentHashTagCurationDetail.vue') + }, { path: '/content/series/list', name: 'ContentSeriesList', diff --git a/src/views/Content/ContentHashTagCurationDetail.vue b/src/views/Content/ContentHashTagCurationDetail.vue new file mode 100644 index 0000000..dac6820 --- /dev/null +++ b/src/views/Content/ContentHashTagCurationDetail.vue @@ -0,0 +1,450 @@ + + +