// ============================================================ // Storage — localStorage 封装 // 职责:会话配置持久化 // ============================================================ import type { SessionConfig } from "../types"; const CONFIG_KEY = "camtalk:config"; const DEFAULT_CONFIG: SessionConfig = { ttsEnabled: true, detailLevel: "low", language: "zh-CN", }; /** 加载配置,无存储时返回默认值 */ export function loadConfig(): SessionConfig { try { const raw = localStorage.getItem(CONFIG_KEY); if (!raw) return DEFAULT_CONFIG; const parsed = JSON.parse(raw) as Partial; return { ...DEFAULT_CONFIG, ...parsed }; } catch { return DEFAULT_CONFIG; } } /** 保存配置到 localStorage */ export function saveConfig(config: SessionConfig): void { try { localStorage.setItem(CONFIG_KEY, JSON.stringify(config)); } catch { // localStorage 不可用时静默失败 } }