feat: 把 A 端的 Session/KCP/视频/控制 都收口到一个本地 daemon 进程里,Django 和输入发送端都改成通过本机 UDS HTTP 去访问它,同时补齐了观测、性能和可用性上的几个关键问题。

This commit is contained in:
2026-04-01 15:48:13 +08:00
parent b6105450a1
commit aca23e91d7
12 changed files with 242 additions and 325 deletions

View File

@@ -35,8 +35,8 @@ const updatedAt = computed(() => {
<strong>{{ network?.jitter_ms ?? '--' }} ms</strong>
</div>
<div class="stat-card">
<span>丢包率</span>
<strong>{{ network?.packet_loss_pct ?? '--' }} %</strong>
<span>Retrans</span>
<strong>{{ network?.retrans_pct ?? network?.packet_loss_pct ?? '--' }} %</strong>
</div>
<div class="stat-card">
<span>信号强度</span>
@@ -148,4 +148,3 @@ h2 {
}
}
</style>

View File

@@ -13,7 +13,7 @@ export function useMonitoringData(options: UseMonitoringDataOptions = {}) {
const video = ref<VideoStatus | null>(null)
const loading = ref(true)
const errorMessage = ref('')
const refreshIntervalMs = Math.max(200, options.refreshIntervalMs ?? 2000)
const refreshIntervalMs = Math.max(200, options.refreshIntervalMs ?? 500)
let refreshTimer: number | null = null

View File

@@ -16,10 +16,11 @@ export interface NetworkTelemetry {
peer_status: string
latency_ms: number
jitter_ms: number
packet_loss_pct: number
retrans_pct: number
packet_loss_pct?: number
tx_kbps: number
rx_kbps: number
signal_dbm: number
signal_dbm: number | null
transport: string
source_mode: string
updated_at: string