From 1d960c4927d2cceae71f0e80bf7547ebee032d47 Mon Sep 17 00:00:00 2001 From: Megghy Date: Mon, 20 Nov 2023 14:47:38 +0800 Subject: [PATCH] add active list to song list --- src/api/api-models.ts | 4 ++-- src/views/open_live/MusicRequest.vue | 3 +++ .../songListTemplate/DefaultSongListTemplate.vue | 12 +++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/api/api-models.ts b/src/api/api-models.ts index 0e14689..9368b8b 100644 --- a/src/api/api-models.ts +++ b/src/api/api-models.ts @@ -22,6 +22,7 @@ export interface UserInfo { createAt: number biliId?: number biliRoomId?: number + canRequestSong: boolean extra?: { enableFunctions: FunctionTypes[] isInBlackList: boolean @@ -41,7 +42,6 @@ export interface AccountInfo extends UserInfo { eventFetcherOnline: boolean eventFetcherStatus: string - canRequestSong: boolean nextSendEmailTime?: number } @@ -289,7 +289,7 @@ export interface SongRequestInfo { scPrice?: number user?: SongRequestUserInfo createAt: number - finishAt?:number + finishAt?: number isInLocal?: boolean } export interface SongRequestUserInfo { diff --git a/src/views/open_live/MusicRequest.vue b/src/views/open_live/MusicRequest.vue index 95e5987..ab3e6e0 100644 --- a/src/views/open_live/MusicRequest.vue +++ b/src/views/open_live/MusicRequest.vue @@ -661,6 +661,9 @@ async function updateActive() { if (song.status != item.status) song.status = item.status } else { originSongs.value.unshift(item) + if (item.from == SongRequestFrom.Web) { + message.success(`[${item.user?.name}] 直接从网页歌单点歌: ${item.songName}`) + } } }) } else { diff --git a/src/views/view/songListTemplate/DefaultSongListTemplate.vue b/src/views/view/songListTemplate/DefaultSongListTemplate.vue index 1a04f32..ee85255 100644 --- a/src/views/view/songListTemplate/DefaultSongListTemplate.vue +++ b/src/views/view/songListTemplate/DefaultSongListTemplate.vue @@ -3,9 +3,10 @@ import { useAccount } from '@/api/account' import { SongsInfo, UserInfo } from '@/api/api-models' import SongList from '@/components/SongList.vue' import { CloudAdd20Filled } from '@vicons/fluent' -import { NButton, NDivider, NIcon, NTooltip, useMessage } from 'naive-ui' +import { NButton, NCard, NCollapse, NCollapseItem, NDivider, NIcon, NTooltip, useMessage } from 'naive-ui' import { h, ref } from 'vue' import { Setting_SongRequest, SongRequestInfo } from '@/api/api-models' +import SongRequestOBS from '@/views/obs/SongRequestOBS.vue' const accountInfo = useAccount() @@ -68,5 +69,14 @@ const buttoms = (song: SongsInfo) => [