queue add danmaku content

This commit is contained in:
2024-07-30 20:25:05 +08:00
parent 1546d0a2bd
commit 6ab0c6dba5
5 changed files with 41 additions and 10 deletions

View File

@@ -543,6 +543,7 @@ export interface ResponseQueueModel {
status: QueueStatus
from: QueueFrom
giftPrice?: number
content?: string
user?: DanmakuUserInfo
createAt: number
finishAt?: number | null

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { FeedbackStatus, FeedbackType, ResponseFeedbackModel } from '@/api/api-models'
import { NCard, NTag, NEllipsis, NDivider, NSpin, NText, NSpace, NTooltip, NTime } from 'naive-ui'
import { NCard, NTag, NEllipsis, NDivider, NSpin, NText, NSpace, NTooltip, NTime, NFlex } from 'naive-ui'
import { computed } from 'vue'
defineProps<{
@@ -9,7 +9,7 @@ defineProps<{
</script>
<template>
<NCard v-bind:key="item.createAt" size="small" embedded style="min-width: 300px; max-width: 500px">
<NCard v-bind:key="item.createAt" size="small" embedded style="width: 400px; height: 150px">
<template #header>
<NTag v-if="item.status == FeedbackStatus.Padding" :bordered="false"> 等待 </NTag>
<NTag v-else-if="item.status == FeedbackStatus.Progressing" type="success">
@@ -77,14 +77,20 @@ defineProps<{
其他
</NTag>
</template>
<NFlex justify="space-between" align="center" style="height: 100%;">
<NEllipsis :line-clamp="item.replyMessage ? 1 : 3">
{{ item.message }}
</NEllipsis>
</NFlex>
<template v-if="item.replyMessage" #footer>
<NDivider style="margin: 0px 0 10px 0" />
<NSpace align="center" :wrap="false">
<div :style="`border-radius: 4px; background-color: #75c37f; width: 10px; height: 15px`"></div>
<NEllipsis :line-clamp="1">
<NText>
{{ item.replyMessage }}
</NText>
</NEllipsis>
</NSpace>
</template>
</NCard>

View File

@@ -30,6 +30,7 @@ import {
import { computed, h, onMounted, ref } from 'vue'
import PointUserDetailCard from './PointUserDetailCard.vue'
import { Info24Filled } from '@vicons/fluent'
import { objectsToCSV } from '@/Utils'
const props = defineProps<{
goods: ResponsePointGoodModel[]

View File

@@ -17,6 +17,7 @@ import { useRoute } from 'vue-router'
import { Vue3Marquee } from 'vue3-marquee'
import { NCard, NDivider, NEmpty, NSpace, NText, useMessage } from 'naive-ui'
import { List } from 'linqts'
import { isSameDay } from 'date-fns'
const props = defineProps<{
id?: number
@@ -63,7 +64,10 @@ const activeItems = computed(() => {
break
}
case QueueSortType.FansMedalFirst: {
list = list.OrderByDescending(q => q.user?.fans_medal_wearing_status ? 1 : 0).ThenByDescending((q) => q.user?.fans_medal_level ?? 0).ThenBy((q) => q.createAt)
list = list
.OrderByDescending((q) => (q.user?.fans_medal_wearing_status ? 1 : 0))
.ThenByDescending((q) => q.user?.fans_medal_level ?? 0)
.ThenBy((q) => q.createAt)
break
}
}

View File

@@ -173,7 +173,10 @@ const queue = computed(() => {
break
}
case QueueSortType.FansMedalFirst: {
list = list.OrderByDescending(q => q.user?.fans_medal_wearing_status ? 1 : 0).ThenByDescending((q) => q.user?.fans_medal_level ?? 0).ThenBy((q) => q.createAt)
list = list
.OrderByDescending((q) => (q.user?.fans_medal_wearing_status ? 1 : 0))
.ThenByDescending((q) => q.user?.fans_medal_level ?? 0)
.ThenBy((q) => q.createAt)
break
}
}
@@ -909,6 +912,22 @@ onUnmounted(() => {
</template>
<NTime :time="queueData.createAt" />
</NTooltip>
<NTooltip v-if="queueData.content" content-style="margin: 0">
<template #trigger>
<NText strong style="font-size: 18px">
<NIcon :component="Info24Filled" />
</NText>
</template>
<NCard size="small" :bordered="false">
<template #header>
<span style="font-size: small; color: gray;">
{{ '来自' + (queueData?.from == QueueFrom.Gift ? '礼物' : '弹幕') + ': ' }}
</span>
</template>
{{ queueData?.content }}
</NCard>
</NTooltip>
</NSpace>
<NSpace justify="end" align="center">
<NTooltip>