fix: 声明 Webterm 移动端终端比例

This commit is contained in:
pikastech
2026-07-21 15:16:23 +02:00
parent 718e7964cd
commit c336127864
2 changed files with 9 additions and 0 deletions
+1
View File
@@ -49,6 +49,7 @@ browserOutputPolicy:
browserPerformance:
animationsEnabled: true
defaultBackgroundMode: receive-only
defaultMobileTerminalPercent: 40
backgroundModes:
disconnect:
label: 断开后台连接
+8
View File
@@ -67,6 +67,7 @@ interface BrowserOutputPolicy {
interface BrowserPerformance {
animationsEnabled: boolean;
defaultBackgroundMode: "disconnect" | "receive-only" | "low-frequency" | "live";
defaultMobileTerminalPercent: number;
backgroundModes: Array<{ id: "disconnect" | "receive-only" | "low-frequency" | "live"; label: string }>;
deferredOutputMaxBytes: number;
lowFrequencyRenderIntervalMs: number;
@@ -898,6 +899,7 @@ function parseBrowserPerformance(record: Record<string, unknown>, path: string):
return {
animationsEnabled: booleanField(record, "animationsEnabled", path),
defaultBackgroundMode: defaultBackgroundMode as BrowserPerformance["defaultBackgroundMode"],
defaultMobileTerminalPercent: integerInRangeField(record, "defaultMobileTerminalPercent", path, 20, 70),
backgroundModes,
deferredOutputMaxBytes: positiveIntegerField(record, "deferredOutputMaxBytes", path),
lowFrequencyRenderIntervalMs: positiveIntegerField(record, "lowFrequencyRenderIntervalMs", path),
@@ -913,6 +915,12 @@ function positiveIntegerField(record: Record<string, unknown>, key: string, path
return value;
}
function integerInRangeField(record: Record<string, unknown>, key: string, path: string, min: number, max: number): number {
const value = integerField(record, key, path);
if (value < min || value > max) throw new Error(`${path}.${key} must be from ${min} to ${max}`);
return value;
}
function parseLiteral<T extends string>(value: string, expected: T, path: string): T {
if (value !== expected) throw new Error(`${path} must be ${expected}`);
return expected;