add options in obs queue component

This commit is contained in:
2024-01-27 20:53:08 +08:00
parent da813d1fbb
commit 8de805de9c
4 changed files with 48 additions and 38 deletions

View File

@@ -52,23 +52,23 @@ export interface AccountInfo extends UserInfo {
biliBlackList: { [key: number]: string } biliBlackList: { [key: number]: string }
streamerInfo?: StreamerModel streamerInfo?: StreamerModel
} }
export interface StreamerModel{ export interface StreamerModel {
name: string; name: string
uId: number; uId: number
roomId: number; roomId: number
faceUrl: string; faceUrl: string
title: string; title: string
coverUrl: string; coverUrl: string
frameUrl: string; frameUrl: string
area: string; area: string
parentArea: string; parentArea: string
lastStreamAt: number; lastStreamAt: number
totalDanmakuCount: number; totalDanmakuCount: number
totalIncome: number; totalIncome: number
totalStreamCount: number; totalStreamCount: number
totalStreamTime: number; totalStreamTime: number
lastDanmakuCount: number; lastDanmakuCount: number
isStreaming: boolean; isStreaming: boolean
} }
export enum BiliAuthCodeStatusType { export enum BiliAuthCodeStatusType {
NotBind, NotBind,
@@ -150,6 +150,9 @@ export interface Setting_Queue {
jianzhangCooldownSecond: number jianzhangCooldownSecond: number
showRequireInfo: boolean showRequireInfo: boolean
showPayment: boolean
showFanMadelInfo: boolean
isReverse: boolean isReverse: boolean
} }
@@ -175,7 +178,7 @@ export enum FunctionTypes {
Schedule, Schedule,
SongRequest, SongRequest,
Queue, Queue,
Point Point,
} }
export interface SongAuthorInfo { export interface SongAuthorInfo {
name: string name: string
@@ -185,7 +188,7 @@ export enum SongFrom {
Custom, Custom,
Netease, Netease,
FiveSing, FiveSing,
Kugou Kugou,
} }
export interface SongsInfo { export interface SongsInfo {
id: number id: number
@@ -441,7 +444,7 @@ export enum EventDataTypes {
Message, Message,
Like, Like,
SCDel, SCDel,
Enter Enter,
} }
export interface ResponseQueueModel { export interface ResponseQueueModel {
id: number id: number
@@ -502,16 +505,14 @@ export enum FeedbackStatus {
Reject, Reject,
Developing, Developing,
} }
export interface TagInfo export interface TagInfo {
{
name: string name: string
color: string color: string
} }
export enum GoodsStatus export enum GoodsStatus {
{
Normal, // 商品正常 Normal, // 商品正常
//OutOfStock, // 商品无货 //OutOfStock, // 商品无货
Discontinued // 商品下架 Discontinued, // 商品下架
} }
export enum GoodsTypes { export enum GoodsTypes {
Physical, Physical,
@@ -530,7 +531,7 @@ export interface ResponsePointGoodModel {
status: GoodsStatus status: GoodsStatus
type: GoodsTypes type: GoodsTypes
} }
export interface ImageUploadModel{ export interface ImageUploadModel {
existImages: string[] existImages: string[]
newImagesBase64: string[] newImagesBase64: string[]
} }

View File

@@ -31,6 +31,7 @@ import { NButton, NCard, NDivider, NLayoutContent, NSpace, NText, NTimeline, NTi
</NSpace> </NSpace>
<NDivider title-placement="left"> 更新日志 </NDivider> <NDivider title-placement="left"> 更新日志 </NDivider>
<NTimeline> <NTimeline>
<NTimelineItem type="info" title="功能更新" content="排队的OBS组件添加设置项" time="2024-1-27" />
<NTimelineItem type="warning" title="Bug修复" content="修复点歌会直接跳到下一首的问题 (怎么没人跟我说" time="2024-1-22" /> <NTimelineItem type="warning" title="Bug修复" content="修复点歌会直接跳到下一首的问题 (怎么没人跟我说" time="2024-1-22" />
<NTimelineItem type="info" title="功能更新" content="读弹幕支持自定义API" time="2023-12-25" /> <NTimelineItem type="info" title="功能更新" content="读弹幕支持自定义API" time="2023-12-25" />
<NTimelineItem type="success" title="功能添加" content="弹幕点歌 (点播)" time="2023-12-24" /> <NTimelineItem type="success" title="功能添加" content="弹幕点歌 (点播)" time="2023-12-24" />

View File

@@ -49,7 +49,7 @@ const activeItems = computed(() => {
list = list.OrderByDescending((q) => q.giftPrice ?? 0).ThenBy((q) => q.createAt) list = list.OrderByDescending((q) => q.giftPrice ?? 0).ThenBy((q) => q.createAt)
} }
} }
if(settings.value.isReverse){ if (settings.value.isReverse) {
list = list.Reverse() list = list.Reverse()
} }
return list.ToArray() return list.ToArray()
@@ -108,7 +108,7 @@ onUnmounted(() => {
<NDivider class="queue-divider"> <NDivider class="queue-divider">
<p class="queue-header-count">已有 {{ activeItems.length ?? 0 }} </p> <p class="queue-header-count">已有 {{ activeItems.length ?? 0 }} </p>
</NDivider> </NDivider>
<div class="queue-singing-container" :singing="queue.findIndex((s) => s.status == QueueStatus.Progressing) > -1" :from="(progressing?.from as number)" :status="(progressing?.status as number)"> <div class="queue-singing-container" :singing="queue.findIndex((s) => s.status == QueueStatus.Progressing) > -1" :from="progressing?.from as number" :status="progressing?.status as number">
<div class="queue-singing-prefix"></div> <div class="queue-singing-prefix"></div>
<template v-if="progressing"> <template v-if="progressing">
<img class="queue-singing-avatar" :src="AVATAR_URL + progressing?.user?.uid" referrerpolicy="no-referrer" /> <img class="queue-singing-avatar" :src="AVATAR_URL + progressing?.user?.uid" referrerpolicy="no-referrer" />
@@ -122,8 +122,8 @@ onUnmounted(() => {
<Vue3Marquee class="queue-list" :key="key" vertical :pause="!isMoreThanContainer" :duration="20" :style="`height: ${height}px;width: ${width}px;`"> <Vue3Marquee class="queue-list" :key="key" vertical :pause="!isMoreThanContainer" :duration="20" :style="`height: ${height}px;width: ${width}px;`">
<span <span
class="queue-list-item" class="queue-list-item"
:from="(item.from as number)" :from="item.from as number"
:status="(item.status as number)" :status="item.status as number"
:payment="item.giftPrice ?? 0" :payment="item.giftPrice ?? 0"
v-for="(item, index) in activeItems" v-for="(item, index) in activeItems"
:key="item.id" :key="item.id"
@@ -132,13 +132,13 @@ onUnmounted(() => {
<div class="queue-list-item-index" :index="index + 1"> <div class="queue-list-item-index" :index="index + 1">
{{ index + 1 }} {{ index + 1 }}
</div> </div>
<div class="queue-list-item-level" :has-level="(item.user?.fans_medal_level ?? 0) > 0"> <div v-if="settings.showFanMadelInfo" class="queue-list-item-level" :has-level="(item.user?.fans_medal_level ?? 0) > 0">
{{ `${item.user?.fans_medal_name} ${item.user?.fans_medal_level}` }} {{ `${item.user?.fans_medal_name} ${item.user?.fans_medal_level}` }}
</div> </div>
<div class="queue-list-item-user-name"> <div class="queue-list-item-user-name">
{{ item.user?.name }} {{ item.user?.name }}
</div> </div>
<p class="queue-list-item-payment">{{ item.from == QueueFrom.Manual ? '主播添加' : item.giftPrice == undefined ? '无' : '¥ ' + item.giftPrice }}</p> <p v-if="settings.showPayment" class="queue-list-item-payment">{{ item.from == QueueFrom.Manual ? '主播添加' : item.giftPrice == undefined ? '' : '¥ ' + item.giftPrice }}</p>
</span> </span>
</Vue3Marquee> </Vue3Marquee>
</template> </template>
@@ -207,7 +207,11 @@ onUnmounted(() => {
text-align: center; text-align: center;
font-size: 20px; font-size: 20px;
font-weight: bold; font-weight: bold;
text-shadow: 0 0 10px #ca7b7b6e, 0 0 20px #ffffff8e, 0 0 30px #61606086, 0 0 40px rgba(64, 156, 179, 0.555); text-shadow:
0 0 10px #ca7b7b6e,
0 0 20px #ffffff8e,
0 0 30px #61606086,
0 0 40px rgba(64, 156, 179, 0.555);
} }
.queue-header-count { .queue-header-count {
color: #ffffff; color: #ffffff;

View File

@@ -88,6 +88,8 @@ const defaultSettings = {
giftFilterType: QueueGiftFilterType.Or, giftFilterType: QueueGiftFilterType.Or,
showRequireInfo: true, showRequireInfo: true,
isReverse: false, isReverse: false,
showFanMadelInfo: true,
showPayment: true,
} as Setting_Queue } as Setting_Queue
const STATUS_MAP = { const STATUS_MAP = {
[QueueStatus.Waiting]: '等待中', [QueueStatus.Waiting]: '等待中',
@@ -1049,6 +1051,8 @@ onUnmounted(() => {
</NSpace> </NSpace>
<NDivider> OBS </NDivider> <NDivider> OBS </NDivider>
<NCheckbox v-model:checked="settings.showRequireInfo" :disabled="!configCanEdit" @update:checked="updateSettings"> 显示底部的需求信息 </NCheckbox> <NCheckbox v-model:checked="settings.showRequireInfo" :disabled="!configCanEdit" @update:checked="updateSettings"> 显示底部的需求信息 </NCheckbox>
<NCheckbox v-model:checked="settings.showPayment" :disabled="!configCanEdit" @update:checked="updateSettings"> 显示付费信息 </NCheckbox>
<NCheckbox v-model:checked="settings.showFanMadelInfo" :disabled="!configCanEdit" @update:checked="updateSettings"> 显示用户粉丝牌 </NCheckbox>
<NDivider> 其他 </NDivider> <NDivider> 其他 </NDivider>
<NCheckbox v-model:checked="isWarnMessageAutoClose"> 自动关闭加入队列失败时的提示消息 </NCheckbox> <NCheckbox v-model:checked="isWarnMessageAutoClose"> 自动关闭加入队列失败时的提示消息 </NCheckbox>
</NSpace> </NSpace>