From db17cffa302a41ebf492067fc85afafa309135be Mon Sep 17 00:00:00 2001 From: Megghy Date: Sat, 16 Dec 2023 22:27:10 +0800 Subject: [PATCH] fix reverse in obs --- src/api/api-models.ts | 2 ++ src/views/obs/QueueOBS.vue | 3 +++ src/views/obs/SongRequestOBS.vue | 24 ++++++++++++++++++------ src/views/open_live/MusicRequest.vue | 6 ++++-- src/views/open_live/OpenQueue.vue | 8 +++++--- 5 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/api/api-models.ts b/src/api/api-models.ts index 261d935..7062461 100644 --- a/src/api/api-models.ts +++ b/src/api/api-models.ts @@ -114,6 +114,7 @@ export interface Setting_SongRequest { jianzhangCooldownSecond: number showRequireInfo: boolean + isReverse: boolean } export interface Setting_Queue { keyword: string @@ -143,6 +144,7 @@ export interface Setting_Queue { jianzhangCooldownSecond: number showRequireInfo: boolean + isReverse: boolean } export enum KeywordMatchType { diff --git a/src/views/obs/QueueOBS.vue b/src/views/obs/QueueOBS.vue index 6c9c104..95d6844 100644 --- a/src/views/obs/QueueOBS.vue +++ b/src/views/obs/QueueOBS.vue @@ -49,6 +49,9 @@ const activeItems = computed(() => { list = list.OrderByDescending((q) => q.giftPrice ?? 0).ThenByDescending((q) => q.createAt) } } + if(settings.value.isReverse){ + list = list.Reverse() + } return list.ToArray() }) diff --git a/src/views/obs/SongRequestOBS.vue b/src/views/obs/SongRequestOBS.vue index c4acec0..e41b869 100644 --- a/src/views/obs/SongRequestOBS.vue +++ b/src/views/obs/SongRequestOBS.vue @@ -28,13 +28,20 @@ const itemHeight = 40 const key = ref(Date.now()) -const songs = ref([]) +const originSongs = ref([]) +const songs = computed(() => { + if (settings.value.isReverse) { + return originSongs.value.reverse() + } else { + return originSongs.value + } +}) const settings = ref({} as Setting_SongRequest) const singing = computed(() => { - return songs.value.find((s) => s.status == SongRequestStatus.Singing) + return originSongs.value.find((s) => s.status == SongRequestStatus.Singing) }) const activeSongs = computed(() => { - return songs.value.filter((s) => s.status == SongRequestStatus.Waiting) + return originSongs.value.filter((s) => s.status == SongRequestStatus.Waiting) }) async function get() { @@ -49,7 +56,7 @@ async function get() { return {} as { songs: SongRequestInfo[]; setting: Setting_SongRequest } } const isMoreThanContainer = computed(() => { - return songs.value.length * itemHeight > height.value + return originSongs.value.length * itemHeight > height.value }) const allowGuardTypes = computed(() => { const types = [] @@ -67,7 +74,7 @@ const allowGuardTypes = computed(() => { async function update() { const r = await get() if (r) { - songs.value = r.songs.sort((a, b) => { + originSongs.value = r.songs.sort((a, b) => { return b.createAt - a.createAt }) settings.value = r.setting @@ -90,7 +97,12 @@ onUnmounted(() => {

已有 {{ activeSongs.length ?? 0 }} 首

-
+