mirror of
https://github.com/Megghy/vtsuru.live.git
synced 2025-12-07 02:46:55 +08:00
add active list to song list
This commit is contained in:
@@ -22,6 +22,7 @@ export interface UserInfo {
|
|||||||
createAt: number
|
createAt: number
|
||||||
biliId?: number
|
biliId?: number
|
||||||
biliRoomId?: number
|
biliRoomId?: number
|
||||||
|
canRequestSong: boolean
|
||||||
extra?: {
|
extra?: {
|
||||||
enableFunctions: FunctionTypes[]
|
enableFunctions: FunctionTypes[]
|
||||||
isInBlackList: boolean
|
isInBlackList: boolean
|
||||||
@@ -41,7 +42,6 @@ export interface AccountInfo extends UserInfo {
|
|||||||
|
|
||||||
eventFetcherOnline: boolean
|
eventFetcherOnline: boolean
|
||||||
eventFetcherStatus: string
|
eventFetcherStatus: string
|
||||||
canRequestSong: boolean
|
|
||||||
|
|
||||||
nextSendEmailTime?: number
|
nextSendEmailTime?: number
|
||||||
}
|
}
|
||||||
@@ -289,7 +289,7 @@ export interface SongRequestInfo {
|
|||||||
scPrice?: number
|
scPrice?: number
|
||||||
user?: SongRequestUserInfo
|
user?: SongRequestUserInfo
|
||||||
createAt: number
|
createAt: number
|
||||||
finishAt?:number
|
finishAt?: number
|
||||||
isInLocal?: boolean
|
isInLocal?: boolean
|
||||||
}
|
}
|
||||||
export interface SongRequestUserInfo {
|
export interface SongRequestUserInfo {
|
||||||
|
|||||||
@@ -661,6 +661,9 @@ async function updateActive() {
|
|||||||
if (song.status != item.status) song.status = item.status
|
if (song.status != item.status) song.status = item.status
|
||||||
} else {
|
} else {
|
||||||
originSongs.value.unshift(item)
|
originSongs.value.unshift(item)
|
||||||
|
if (item.from == SongRequestFrom.Web) {
|
||||||
|
message.success(`[${item.user?.name}] 直接从网页歌单点歌: ${item.songName}`)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -3,9 +3,10 @@ import { useAccount } from '@/api/account'
|
|||||||
import { SongsInfo, UserInfo } from '@/api/api-models'
|
import { SongsInfo, UserInfo } from '@/api/api-models'
|
||||||
import SongList from '@/components/SongList.vue'
|
import SongList from '@/components/SongList.vue'
|
||||||
import { CloudAdd20Filled } from '@vicons/fluent'
|
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 { h, ref } from 'vue'
|
||||||
import { Setting_SongRequest, SongRequestInfo } from '@/api/api-models'
|
import { Setting_SongRequest, SongRequestInfo } from '@/api/api-models'
|
||||||
|
import SongRequestOBS from '@/views/obs/SongRequestOBS.vue'
|
||||||
|
|
||||||
const accountInfo = useAccount()
|
const accountInfo = useAccount()
|
||||||
|
|
||||||
@@ -68,5 +69,14 @@ const buttoms = (song: SongsInfo) => [
|
|||||||
<template>
|
<template>
|
||||||
<NDivider style="margin-top: 10px" />
|
<NDivider style="margin-top: 10px" />
|
||||||
<SongList v-if="currentData" :songs="currentData ?? []" :is-self="accountInfo?.id == userInfo?.id" :extra-buttom="buttoms" v-bind="$attrs" />
|
<SongList v-if="currentData" :songs="currentData ?? []" :is-self="accountInfo?.id == userInfo?.id" :extra-buttom="buttoms" v-bind="$attrs" />
|
||||||
|
<NCollapse v-if="userInfo?.canRequestSong">
|
||||||
|
<NCollapseItem title="点歌列表">
|
||||||
|
<NCard size="small" embedded>
|
||||||
|
<div style="height: 400px; width: 700px; max-width: 100%; position: relative; margin: 0 auto">
|
||||||
|
<SongRequestOBS :id="userInfo?.id" />
|
||||||
|
</div>
|
||||||
|
</NCard>
|
||||||
|
</NCollapseItem>
|
||||||
|
</NCollapse>
|
||||||
<NDivider />
|
<NDivider />
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user