fix: harden recording recovery and dashboard metrics

This commit is contained in:
2026-08-14 19:20:24 +08:00
parent 506dca898e
commit 90a67bdf72
24 changed files with 607 additions and 46 deletions
@@ -5,6 +5,7 @@ interface StorageCapacityStatus {
isEnabled: boolean;
isAvailable: boolean;
checkedPath: string;
volumeRoot: string;
totalBytes: number;
usedBytes: number;
availableBytes: number;
@@ -83,6 +84,9 @@ function formatBytes(bytes: number) {
<el-tag v-else :type="tagType" effect="light">{{ statusLabel }}</el-tag>
</div>
<p class="storage-capacity__path" :title="status.checkedPath">{{ status.checkedPath || "未配置输出路径" }}</p>
<p class="storage-capacity__volume" :title="status.volumeRoot">
检测卷{{ status.volumeRoot || "--" }}
</p>
<dl class="storage-capacity__metrics">
<div><dt>已使用</dt><dd>{{ status.isAvailable ? formatBytes(status.usedBytes) : "--" }}</dd></div>
@@ -103,6 +107,7 @@ function formatBytes(bytes: number) {
.storage-capacity__summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.storage-capacity__summary > strong { min-width: 0; color: var(--text-primary); font-size: 13px; font-variant-numeric: tabular-nums; }
.storage-capacity__path { margin: 7px 0 0; overflow: hidden; color: var(--text-secondary); font-family: var(--font-mono); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.storage-capacity__volume { margin: 3px 0 0; overflow: hidden; color: var(--text-muted); font-family: var(--font-mono); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.storage-capacity__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 13px 0 0; }
.storage-capacity__metrics > div { min-width: 0; padding: 9px; border-radius: var(--radius-sm); background: var(--surface-muted); }
.storage-capacity__metrics dt { color: var(--text-muted); font-size: 9px; }
+2
View File
@@ -703,6 +703,7 @@ export interface StorageGuardStatus {
isAvailable: boolean;
hasEnoughSpace: boolean;
checkedPath: string;
volumeRoot: string;
totalBytes: number;
usedBytes: number;
availableBytes: number;
@@ -1011,6 +1012,7 @@ export interface DashboardStorageStatus {
hasEnoughSpace: boolean;
message: string;
checkedPath: string;
volumeRoot: string;
totalBytes: number;
usedBytes: number;
availableBytes: number;