mirror of
https://github.com/Megghy/vtsuru.live.git
synced 2025-12-06 18:36:55 +08:00
update doc address
This commit is contained in:
@@ -35,13 +35,7 @@ const status = computed(() => {
|
||||
<br />
|
||||
事件上传到本站后允许按照自定义范围进行查询, 并导出为 CSV 之类的表格
|
||||
<br />
|
||||
<NButton
|
||||
type="info"
|
||||
size="small"
|
||||
tag="a"
|
||||
href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p"
|
||||
target="_blank"
|
||||
>
|
||||
<NButton type="info" size="small" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank">
|
||||
关于 EVENT-FETCHER
|
||||
</NButton>
|
||||
</NTooltip>
|
||||
@@ -88,13 +82,7 @@ const status = computed(() => {
|
||||
</NTag>
|
||||
<template v-if="!state.online">
|
||||
<NDivider vertical />
|
||||
<NButton
|
||||
type="info"
|
||||
size="tiny"
|
||||
tag="a"
|
||||
href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p"
|
||||
target="_blank"
|
||||
>
|
||||
<NButton type="info" size="tiny" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank">
|
||||
关于 EVENT-FETCHER
|
||||
</NButton>
|
||||
</template>
|
||||
|
||||
@@ -271,7 +271,7 @@ const menuOptions = [
|
||||
text: true,
|
||||
size: 'small',
|
||||
tag: 'a',
|
||||
href: 'https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p',
|
||||
href: 'https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs',
|
||||
target: '_blank',
|
||||
},
|
||||
() => 'VtsuruEventFetcher',
|
||||
|
||||
@@ -147,8 +147,7 @@ function exportData() {
|
||||
}
|
||||
saveAs(
|
||||
new Blob([text], { type: 'text/plain;charset=utf-8' }),
|
||||
`${format(Date.now(), 'yyyy-MM-dd HH:mm:ss')}_${format(selectedDate.value[0], 'yyyy-MM-dd HH:mm:ss')}_${format(selectedDate.value[1], 'yyyy-MM-dd HH:mm:ss')}}_${
|
||||
accountInfo.value?.id
|
||||
`${format(Date.now(), 'yyyy-MM-dd HH:mm:ss')}_${format(selectedDate.value[0], 'yyyy-MM-dd HH:mm:ss')}_${format(selectedDate.value[1], 'yyyy-MM-dd HH:mm:ss')}}_${accountInfo.value?.id
|
||||
}_${accountInfo.value?.name}_${selectedType.value}.${exportType.value}`,
|
||||
)
|
||||
}
|
||||
@@ -169,19 +168,17 @@ function objectsToCSV(arr: any[]) {
|
||||
<template>
|
||||
<NSpace vertical>
|
||||
<NAlert v-if="!accountInfo?.isBiliVerified" type="warning">
|
||||
使用此功能前你需要先<NButton type="info" text @click="$router.push({ name: 'manage-biliVerify' })"
|
||||
>认证Bilibili账号</NButton
|
||||
>
|
||||
使用此功能前你需要先<NButton type="info" text @click="$router.push({ name: 'manage-biliVerify' })">认证Bilibili账号</NButton>
|
||||
</NAlert>
|
||||
<NAlert type="error" title="2024.2.26">
|
||||
近期逸站对开放平台直播弹幕流进行了极为严格的限制, 目前本站服务器只能连接个位数的直播间, 这使得在不使用
|
||||
<NButton tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank" type="primary" text>
|
||||
<NButton tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank" type="primary" text>
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
的情况下获取弹幕数据几乎不可能实现.
|
||||
<br />
|
||||
在这种情况下如果你还需要记录上舰, SC等事件请跟随链接里的教程部署
|
||||
<NButton tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank" type="primary" text>
|
||||
<NButton tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank" type="primary" text>
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
</NAlert>
|
||||
@@ -191,14 +188,8 @@ function objectsToCSV(arr: any[]) {
|
||||
<NCard size="small" style="witdh: 100%">
|
||||
<template v-if="accountInfo?.isBiliVerified">
|
||||
<NSpace justify="center" align="center">
|
||||
<NDatePicker
|
||||
v-model:value="selectedDate"
|
||||
@update:value="onDateChange"
|
||||
type="datetimerange"
|
||||
:shortcuts="rangeShortcuts"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
/>
|
||||
<NDatePicker v-model:value="selectedDate" @update:value="onDateChange" type="datetimerange"
|
||||
:shortcuts="rangeShortcuts" start-placeholder="开始时间" end-placeholder="结束时间" />
|
||||
<NRadioGroup v-model:value="selectedType">
|
||||
<NRadioButton :value="EventType.Guard">舰长</NRadioButton>
|
||||
<NRadioButton :value="EventType.SC">Superchat</NRadioButton>
|
||||
@@ -230,40 +221,27 @@ function objectsToCSV(arr: any[]) {
|
||||
<div v-if="displayMode == 'grid'">
|
||||
<NGrid cols="1 500:2 800:3 1000:4" :x-gap="12" :y-gap="8">
|
||||
<NGridItem v-for="item in selectedEvents" v-bind:key="item.time">
|
||||
<NCard
|
||||
size="small"
|
||||
:style="`height: ${selectedType == EventType.Guard ? '175px' : '220'}px`"
|
||||
embedded
|
||||
hoverable
|
||||
>
|
||||
<NCard size="small" :style="`height: ${selectedType == EventType.Guard ? '175px' : '220'}px`" embedded
|
||||
hoverable>
|
||||
<NSpace align="center" vertical :size="5">
|
||||
<NAvatar
|
||||
round
|
||||
lazy
|
||||
borderd
|
||||
:size="64"
|
||||
:src="item.uid ? AVATAR_URL + item.uid : item.uface"
|
||||
:img-props="{ referrerpolicy: 'no-referrer' }"
|
||||
style="box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2)"
|
||||
/>
|
||||
<NAvatar round lazy borderd :size="64" :src="item.uid ? AVATAR_URL + item.uid : item.uface"
|
||||
:img-props="{ referrerpolicy: 'no-referrer' }" style="box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2)" />
|
||||
<NSpace>
|
||||
<NTag size="tiny" v-if="selectedType == EventType.Guard" :bordered="false"> {{ item.msg }} </NTag>
|
||||
<NTag
|
||||
size="tiny"
|
||||
round
|
||||
:color="{
|
||||
color: selectedType == EventType.Guard ? GetGuardColor(item.price) : GetSCColor(item.price),
|
||||
textColor: 'white',
|
||||
borderColor: isDarkMode ? 'white' : '#00000000',
|
||||
}"
|
||||
>
|
||||
<NTag size="tiny" round :color="{
|
||||
color: selectedType == EventType.Guard ? GetGuardColor(item.price) : GetSCColor(item.price),
|
||||
textColor: 'white',
|
||||
borderColor: isDarkMode ? 'white' : '#00000000',
|
||||
}">
|
||||
{{ item.price }}
|
||||
</NTag>
|
||||
</NSpace>
|
||||
<NText>
|
||||
{{ item.name }}
|
||||
</NText>
|
||||
<NText depth="3" style="font-size: small"> <NTime :time="item.time" /> </NText>
|
||||
<NText depth="3" style="font-size: small">
|
||||
<NTime :time="item.time" />
|
||||
</NText>
|
||||
<NEllipsis v-if="selectedType == EventType.SC">
|
||||
{{ item.msg }}
|
||||
</NEllipsis>
|
||||
@@ -287,16 +265,16 @@ function objectsToCSV(arr: any[]) {
|
||||
<tr>
|
||||
<td>{{ item.name }}</td>
|
||||
<td>{{ item.uid }}</td>
|
||||
<td><NTime :time="item.time" /></td>
|
||||
<td>
|
||||
<NTime :time="item.time" />
|
||||
</td>
|
||||
<td v-if="selectedType == EventType.Guard">{{ item.msg }}</td>
|
||||
<td>
|
||||
<NTag
|
||||
:color="{
|
||||
color: selectedType == EventType.Guard ? GetGuardColor(item.price) : GetSCColor(item.price),
|
||||
textColor: 'white',
|
||||
borderColor: 'white',
|
||||
}"
|
||||
>
|
||||
<NTag :color="{
|
||||
color: selectedType == EventType.Guard ? GetGuardColor(item.price) : GetSCColor(item.price),
|
||||
textColor: 'white',
|
||||
borderColor: 'white',
|
||||
}">
|
||||
{{ item.price }}
|
||||
</NTag>
|
||||
</td>
|
||||
@@ -338,7 +316,7 @@ function objectsToCSV(arr: any[]) {
|
||||
</NCollapse>
|
||||
<NDivider style="margin-bottom: 10px" />
|
||||
<NSpace justify="center">
|
||||
<NButton tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank" type="primary">
|
||||
<NButton tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank" type="primary">
|
||||
部署指南
|
||||
</NButton>
|
||||
</NSpace>
|
||||
|
||||
@@ -587,7 +587,7 @@ onMounted(async () => {
|
||||
<NCard v-else size="small">
|
||||
<NAlert type="warning">
|
||||
由于B站继续收紧风控策略, 本站已无法再爬取相关数据, 请需要使用此功能的用户下载并安装1.0.6.4及以上版本的
|
||||
<NButton text type="info" tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank">
|
||||
<NButton text type="info" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank">
|
||||
VTsuruEventFetcher </NButton>
|
||||
来帮助本站获取你的数据记录
|
||||
</NAlert>
|
||||
|
||||
@@ -46,13 +46,13 @@ function OnClickCover(live: ResponseLiveInfoModel) {
|
||||
<NSpace vertical>
|
||||
<NAlert type="error" title="2024.2.26">
|
||||
近期逸站对开放平台直播弹幕流进行了极为严格的限制, 目前本站服务器只能连接个位数的直播间, 这使得在不使用
|
||||
<NButton tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank" type="primary" text>
|
||||
<NButton tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank" type="primary" text>
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
的情况下获取弹幕数据几乎不可能实现.
|
||||
<br />
|
||||
在这种情况下如果你还需要记录直播弹幕请跟随上面链接里的教程部署
|
||||
<NButton tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank" type="primary" text>
|
||||
<NButton tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank" type="primary" text>
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
, 否则只能记录直播的时间而不包含弹幕
|
||||
@@ -64,22 +64,13 @@ function OnClickCover(live: ResponseLiveInfoModel) {
|
||||
<NAlert v-if="accountInfo?.isBiliVerified != true" type="info"> 尚未进行Bilibili认证 </NAlert>
|
||||
<template v-else>
|
||||
<NSpace vertical justify="center" align="center">
|
||||
<NPagination
|
||||
v-model:page="page"
|
||||
v-model:page-size="pageSize"
|
||||
show-quick-jumper
|
||||
show-size-picker
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:item-count="lives.length"
|
||||
/>
|
||||
<NPagination v-model:page="page" v-model:page-size="pageSize" show-quick-jumper show-size-picker
|
||||
:page-sizes="[10, 20, 30, 40]" :item-count="lives.length" />
|
||||
</NSpace>
|
||||
<NDivider />
|
||||
<NList bordered hoverable clickable>
|
||||
<NListItem
|
||||
@click="OnClickCover(live)"
|
||||
v-for="live in lives.slice((page - 1) * pageSize, page * pageSize)"
|
||||
v-bind:key="live.liveId"
|
||||
>
|
||||
<NListItem @click="OnClickCover(live)" v-for="live in lives.slice((page - 1) * pageSize, page * pageSize)"
|
||||
v-bind:key="live.liveId">
|
||||
<LiveInfoContainer :live="live" :key="live.liveId" />
|
||||
</NListItem>
|
||||
</NList>
|
||||
|
||||
@@ -793,7 +793,7 @@ onMounted(async () => {
|
||||
<NTabPane name="file" tab="从文件导入">
|
||||
<NAlert type="info">
|
||||
Excel 文件格式详见:
|
||||
<NButton type="info" tag="a" href="https://www.yuque.com/megghy/dez70g/ngrqwkiegrh593w5" target="_blank"
|
||||
<NButton type="info" tag="a" href="https://www.wolai.com/hZWizjCnAdc6hDdntuWgcU" target="_blank"
|
||||
size="tiny">
|
||||
此页面
|
||||
</NButton>
|
||||
|
||||
@@ -262,13 +262,13 @@ function onUpdateClick(item: ResponsePointGoodModel) {
|
||||
},
|
||||
fileList: item.cover
|
||||
? [
|
||||
{
|
||||
id: item.cover ?? 'cover',
|
||||
thumbnailUrl: FILE_BASE_URL + item.cover,
|
||||
name: '封面',
|
||||
status: 'finished',
|
||||
},
|
||||
]
|
||||
{
|
||||
id: item.cover ?? 'cover',
|
||||
thumbnailUrl: FILE_BASE_URL + item.cover,
|
||||
name: '封面',
|
||||
status: 'finished',
|
||||
},
|
||||
]
|
||||
: [],
|
||||
}
|
||||
isAllowedPrivacyPolicy.value = true
|
||||
@@ -348,20 +348,19 @@ function onModalOpen() {
|
||||
function resetGoods() {
|
||||
currentGoodsModel.value = JSON.parse(JSON.stringify(defaultGoodsModel))
|
||||
}
|
||||
function responseGoodsToModel(goods: ResponsePointGoodModel) {}
|
||||
function responseGoodsToModel(goods: ResponsePointGoodModel) { }
|
||||
|
||||
onMounted(() => {})
|
||||
onMounted(() => { })
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<NFlex>
|
||||
<NAlert :type="
|
||||
accountInfo.settings.enableFunctions.includes(FunctionTypes.Point) && accountInfo.eventFetcherState.online
|
||||
? 'success'
|
||||
: 'warning'
|
||||
<NAlert :type="accountInfo.settings.enableFunctions.includes(FunctionTypes.Point) && accountInfo.eventFetcherState.online
|
||||
? 'success'
|
||||
: 'warning'
|
||||
" style="min-width: 400px">
|
||||
启用
|
||||
<NButton text type="primary" tag="a" href="https://www.yuque.com/megghy/dez70g/ohulp2torghlqqn8" target="_blank">
|
||||
<NButton text type="primary" tag="a" href="https://www.wolai.com/ueENtfAm9gPEqHrAVSB2Co" target="_blank">
|
||||
积分系统
|
||||
</NButton>
|
||||
<NDivider vertical />
|
||||
@@ -370,8 +369,7 @@ onMounted(() => {})
|
||||
<br />
|
||||
<NText depth="3">
|
||||
此功能需要部署
|
||||
<NButton text type="primary" tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p"
|
||||
target="_blank">
|
||||
<NButton text type="primary" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank">
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
, 否则将无法记录各种事件
|
||||
@@ -481,11 +479,11 @@ onMounted(() => {})
|
||||
<NFormItem path="goods.guardFree" label="兑换规则">
|
||||
<NFlex vertical>
|
||||
<NCheckbox :checked="currentGoodsModel.goods.setting?.guardFree != undefined" @update:checked="
|
||||
(v) => {
|
||||
// @ts-ignore
|
||||
currentGoodsModel.goods.setting.guardFree = v ? { year: undefined, month: undefined } : undefined
|
||||
}
|
||||
">
|
||||
(v) => {
|
||||
// @ts-ignore
|
||||
currentGoodsModel.goods.setting.guardFree = v ? { year: undefined, month: undefined } : undefined
|
||||
}
|
||||
">
|
||||
允许舰长免费兑换
|
||||
<NTooltip>
|
||||
<template #trigger>
|
||||
|
||||
@@ -113,7 +113,7 @@ async function updateGift() {
|
||||
<template>
|
||||
<NAlert v-if="!accountInfo.eventFetcherState.online" type="warning">
|
||||
由于你尚未部署
|
||||
<NButton text type="primary" tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank">
|
||||
<NButton text type="primary" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank">
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
, 以下选项设置了也没用
|
||||
@@ -160,8 +160,7 @@ async function updateGift() {
|
||||
<NInputGroup style="width: 280px" :disabled="!canEdit">
|
||||
<NInputGroupLabel> SC转换倍率 </NInputGroupLabel>
|
||||
<NInputNumber v-model:value="setting.scPointPercent" :disabled="!canEdit" min="0" step="0.01" max="1" />
|
||||
<NButton @click="updateSettings" type="info" :disabled="!canEdit"
|
||||
>确定
|
||||
<NButton @click="updateSettings" type="info" :disabled="!canEdit">确定
|
||||
<NTooltip>
|
||||
<template #trigger>
|
||||
<NIcon :component="Info24Filled" />
|
||||
@@ -204,12 +203,9 @@ async function updateGift() {
|
||||
<NFlex align="center">
|
||||
<NTag :bordered="false" size="small" type="success"> {{ item[0] }} </NTag>
|
||||
<NInputGroup style="width: 200px" :disabled="!canEdit">
|
||||
<NInputNumber
|
||||
:value="setting.giftPercentMap[item[0]]"
|
||||
@update:value="(v) => (setting.giftPercentMap[item[0]] = v ?? 0)"
|
||||
:disabled="!canEdit"
|
||||
min="0"
|
||||
/>
|
||||
<NInputNumber :value="setting.giftPercentMap[item[0]]"
|
||||
@update:value="(v) => (setting.giftPercentMap[item[0]] = v ?? 0)" :disabled="!canEdit"
|
||||
min="0" />
|
||||
<NButton @click="updateSettings" type="info" :disabled="!canEdit">确定</NButton>
|
||||
</NInputGroup>
|
||||
<NPopconfirm @positive-click="deleteGift(item[0])">
|
||||
|
||||
@@ -806,7 +806,7 @@ onUnmounted(() => {
|
||||
<br />
|
||||
<NText depth="3">
|
||||
如果没有部署
|
||||
<NButton text type="primary" tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank">
|
||||
<NButton text type="primary" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank">
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
则其需要保持此页面开启才能点播, 也不要同时开多个页面, 会导致点播重复 !(部署了则不影响)
|
||||
@@ -837,7 +837,7 @@ onUnmounted(() => {
|
||||
<template #icon>
|
||||
<NIcon :component="PeopleQueue24Filled" />
|
||||
</template>
|
||||
队列 | {{ activeSongs.filter((s) => s.status == SongRequestStatus.Waiting).length }}
|
||||
队列 | {{activeSongs.filter((s) => s.status == SongRequestStatus.Waiting).length}}
|
||||
</NTag>
|
||||
<NTag type="success" :bordered="false">
|
||||
<template #icon>
|
||||
|
||||
@@ -49,28 +49,16 @@ const accountInfo = useAccount()
|
||||
</NCard>
|
||||
</NSpace>
|
||||
<br />
|
||||
<NAlert
|
||||
v-if="accountInfo?.eventFetcherState?.online != true"
|
||||
type="warning"
|
||||
title="可用性警告"
|
||||
style="max-width: 600px; margin: 0 auto"
|
||||
>
|
||||
<NAlert v-if="accountInfo?.eventFetcherState?.online != true" type="warning" title="可用性警告"
|
||||
style="max-width: 600px; margin: 0 auto">
|
||||
当浏览器在后台运行时, 定时器和 Websocket 连接将受到严格限制, 这会导致弹幕接收功能无法正常工作 (详见
|
||||
<NButton text tag="a" href="https://developer.chrome.com/blog/background_tabs/" target="_blank" type="info"
|
||||
>此文章</NButton
|
||||
>), 虽然本站已经针对此问题做出了处理, 一般情况下即使掉线了也会重连, 不过还是有可能会遗漏事件
|
||||
<NButton text tag="a" href="https://developer.chrome.com/blog/background_tabs/" target="_blank" type="info">此文章
|
||||
</NButton>), 虽然本站已经针对此问题做出了处理, 一般情况下即使掉线了也会重连, 不过还是有可能会遗漏事件
|
||||
<br />
|
||||
为避免这种情况, 建议注册本站账后使用
|
||||
<NButton
|
||||
type="primary"
|
||||
text
|
||||
size="tiny"
|
||||
tag="a"
|
||||
href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p"
|
||||
target="_blank"
|
||||
>
|
||||
VtsuruEventFetcher </NButton
|
||||
>, 否则请在使用功能时尽量保持网页在前台运行
|
||||
<NButton type="primary" text size="tiny" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs"
|
||||
target="_blank">
|
||||
VtsuruEventFetcher </NButton>, 否则请在使用功能时尽量保持网页在前台运行
|
||||
</NAlert>
|
||||
<NDivider> 还有更多 </NDivider>
|
||||
<NSpace justify="center" align="center" vertical>
|
||||
|
||||
@@ -771,7 +771,7 @@ onUnmounted(() => {
|
||||
<br />
|
||||
<NText depth="3">
|
||||
如果没有部署
|
||||
<NButton text type="primary" tag="a" href="https://www.yuque.com/megghy/dez70g/vfvcyv3024xvaa1p" target="_blank">
|
||||
<NButton text type="primary" tag="a" href="https://www.wolai.com/fje5wLtcrDoZcb9rk2zrFs" target="_blank">
|
||||
VtsuruEventFetcher
|
||||
</NButton>
|
||||
则其需要保持此页面开启才能使用, 也不要同时开多个页面, 会导致重复 !(部署了则不影响)
|
||||
@@ -802,14 +802,14 @@ onUnmounted(() => {
|
||||
<template #icon>
|
||||
<NIcon :component="PeopleQueue24Filled" />
|
||||
</template>
|
||||
队列 | {{ queue.filter((s) => s.status == QueueStatus.Waiting).length }}
|
||||
队列 | {{queue.filter((s) => s.status == QueueStatus.Waiting).length}}
|
||||
</NTag>
|
||||
<NTag type="success" :bordered="false">
|
||||
<template #icon>
|
||||
<NIcon :component="Checkmark12Regular" />
|
||||
</template>
|
||||
今日已处理 |
|
||||
{{ queue.filter((s) => s.status == QueueStatus.Finish && isSameDay(s.finishAt ?? 0, Date.now())).length }}
|
||||
{{queue.filter((s) => s.status == QueueStatus.Finish && isSameDay(s.finishAt ?? 0, Date.now())).length}}
|
||||
位
|
||||
</NTag>
|
||||
<NInputGroup>
|
||||
|
||||
Reference in New Issue
Block a user