From edf59e2082decf004c98bcdca567dc8b8c37037b Mon Sep 17 00:00:00 2001 From: Megghy Date: Mon, 25 Nov 2024 09:57:12 +0800 Subject: [PATCH] improve add song function --- src/components/SongPlayer.vue | 1 + src/views/manage/SongListManageView.vue | 255 +++++++++--------------- src/views/open_live/LiveRequest.vue | 8 +- 3 files changed, 98 insertions(+), 166 deletions(-) diff --git a/src/components/SongPlayer.vue b/src/components/SongPlayer.vue index bf0edb8..3ad2992 100644 --- a/src/components/SongPlayer.vue +++ b/src/components/SongPlayer.vue @@ -4,6 +4,7 @@ import { QueryGetAPI } from '@/api/query' import { SONG_API_URL } from '@/data/constants' import { NEmpty } from 'naive-ui' import { computed, ref, watch } from 'vue' +// @ts-ignore import APlayer from 'vue3-aplayer' const props = defineProps<{ diff --git a/src/views/manage/SongListManageView.vue b/src/views/manage/SongListManageView.vue index f693e6e..8caae18 100644 --- a/src/views/manage/SongListManageView.vue +++ b/src/views/manage/SongListManageView.vue @@ -18,6 +18,7 @@ import { NButton, NCheckbox, NDivider, + NFlex, NForm, NFormItem, NIcon, @@ -57,6 +58,8 @@ const neteaseIdInput = ref() const fivesingSearchInput = ref() const isModalLoading = ref(false) +const onlyResetNameOnAdded = ref(true) + const neteaseSongListId = computed(() => { try { const url = new URL(neteaseIdInput.value) @@ -72,10 +75,10 @@ const neteaseSongListId = computed(() => { return Number(match[1]) } } - } catch (err) {} + } catch (err) { } try { return Number(neteaseIdInput.value) - } catch {} + } catch { } return null }) @@ -89,6 +92,7 @@ const fivesingTotalPageCount = ref(1) const fivesingCurrentPage = ref(1) const isGettingFivesingSongPlayUrl = ref(0) +const showModalRenderKey = ref(0) const authors = computed(() => { return new List(songs.value) @@ -140,6 +144,10 @@ const songSelectOption = [ label: '英语', value: '英语', }, + { + label: '韩语', + value: '韩语', + }, { label: '法语', value: '法语', @@ -191,7 +199,7 @@ async function addCustomSong() { if (data.data.length == 1) { message.success('成功添加歌曲: ' + addSongModel.value.name) songs.value.push(data.data[0]) - addSongModel.value = {} as SongsInfo + resetAddingSong(onlyResetNameOnAdded.value) } else { message.error('未能添加歌曲, 已存在相同名称的曲目') } @@ -302,6 +310,8 @@ async function addSongs(songsShoudAdd: SongsInfo[], from: SongFrom) { Cover: s.cover, Tags: s.tags, Language: s.language, + TranslateName: s.translateName, + Options: s.options, })), ) } @@ -337,7 +347,7 @@ async function getFivesingSearchList(isRestart = false) { isModalLoading.value = true await fetch( FETCH_API + - `http://search.5sing.kugou.com/home/json?keyword=${fivesingSearchInput.value}&sort=1&page=${fivesingCurrentPage.value}&filter=3`, + `http://search.5sing.kugou.com/home/json?keyword=${fivesingSearchInput.value}&sort=1&page=${fivesingCurrentPage.value}&filter=3`, ) .then(async (data) => { const json = await data.json() @@ -564,6 +574,15 @@ async function setFunctionEnable(enable: boolean) { message.error('无法' + (enable ? '启用' : '禁用')) } } +function resetAddingSong(onlyName = false) { + if (onlyName) { + addSongModel.value.name = '' + addSongModel.value.description = '' + } + addSongModel.value = {} as SongsInfo + showModalRenderKey.value++ + message.success('已重置') +} onMounted(async () => { await getSongs() @@ -572,16 +591,12 @@ onMounted(async () => {