feat: add live room metadata, uploads, proxies and backups
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<script setup lang="ts">
|
||||
<script setup lang="ts">
|
||||
import { computed, onMounted, ref } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useViewport } from "@/composables/useViewport";
|
||||
@@ -86,10 +86,9 @@ onMounted(loadReport);
|
||||
<div class="page-stack">
|
||||
<div class="page-header">
|
||||
<div>
|
||||
<h1 class="page-title">回顾日报</h1>
|
||||
<h1 class="page-title">鍥為【鏃ユ姤</h1>
|
||||
<p class="page-subtitle">
|
||||
按天聚合录制时长、异常和弹幕热度。日报只做页面内查看,不会主动推送。
|
||||
</p>
|
||||
鎸夊ぉ鑱氬悎褰曞埗鏃堕暱銆佸紓甯稿拰寮瑰箷鐑害銆傛棩鎶ュ彧鍋氶〉闈㈠唴鏌ョ湅锛屼笉浼氫富鍔ㄦ帹閫併€? </p>
|
||||
</div>
|
||||
|
||||
<el-space wrap class="header-actions">
|
||||
@@ -102,7 +101,7 @@ onMounted(loadReport);
|
||||
:disabled-date="disableFutureDates"
|
||||
@change="loadReport"
|
||||
/>
|
||||
<el-button @click="loadReport">刷新日报</el-button>
|
||||
<el-button @click="loadReport">鍒锋柊鏃ユ姤</el-button>
|
||||
</el-space>
|
||||
</div>
|
||||
|
||||
@@ -135,7 +134,7 @@ onMounted(loadReport);
|
||||
<div class="stat-card">
|
||||
<div class="stat-card__label">警告 / 错误</div>
|
||||
<div class="stat-card__value">{{ report.summary.warningCount }} / {{ report.summary.errorCount }}</div>
|
||||
<div class="stat-card__hint">来自当天 Warning / Error 系统日志</div>
|
||||
<div class="stat-card__hint">来自当天警告 / 错误系统日志</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="stat-card__label">弹幕事件</div>
|
||||
@@ -148,7 +147,7 @@ onMounted(loadReport);
|
||||
<div class="section-header">
|
||||
<div>
|
||||
<h3 class="section-title">直播间汇总</h3>
|
||||
<p class="section-subtitle">每个房间当天的录制规模、异常和弹幕数量。</p>
|
||||
<p class="section-subtitle">每个房间当天的录制规模、异常数量和弹幕活跃度都会聚合在这里。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -184,7 +183,7 @@ onMounted(loadReport);
|
||||
<div class="section-header">
|
||||
<div>
|
||||
<h3 class="section-title">重点会话</h3>
|
||||
<p class="section-subtitle">最长、最热和异常最多的会话会出现在这里。</p>
|
||||
<p class="section-subtitle">最长、最热和异常最多的会话会集中展示在这里。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -204,15 +203,15 @@ onMounted(loadReport);
|
||||
<span>{{ formatDuration(item.durationSeconds) }}</span>
|
||||
</div>
|
||||
<div class="highlight-item__stats">
|
||||
<span>分片 {{ item.segmentCount }}</span>
|
||||
<span>弹幕 {{ item.danmakuCount }}</span>
|
||||
<span>警告 {{ item.warningCount }}</span>
|
||||
<span>错误 {{ item.errorCount }}</span>
|
||||
<span>鍒嗙墖 {{ item.segmentCount }}</span>
|
||||
<span>寮瑰箷 {{ item.danmakuCount }}</span>
|
||||
<span>璀﹀憡 {{ item.warningCount }}</span>
|
||||
<span>閿欒 {{ item.errorCount }}</span>
|
||||
</div>
|
||||
<div class="highlight-item__summary">{{ item.summary || "-" }}</div>
|
||||
<div class="highlight-item__footer">
|
||||
<span>{{ formatDate(item.startedAt || item.endedAt) }}</span>
|
||||
<el-button size="small" @click="openSession(item.recordSessionId)">查看会话</el-button>
|
||||
<el-button size="small" @click="openSession(item.recordSessionId)">鏌ョ湅浼氳瘽</el-button>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@@ -222,7 +221,7 @@ onMounted(loadReport);
|
||||
<div class="section-header">
|
||||
<div>
|
||||
<h3 class="section-title">热点时刻</h3>
|
||||
<p class="section-subtitle">基于弹幕 XML 的分钟级活跃度,帮助快速定位当天最热的时间窗。</p>
|
||||
<p class="section-subtitle">基于弹幕 XML 的分钟级活跃度,帮助快速定位当天最热的时间窗口。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -385,3 +384,4 @@ onMounted(loadReport);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user