Refactor Ena Planner to iframe settings and harden save ack flow

This commit is contained in:
2026-02-25 10:26:01 +08:00
parent 526054dac8
commit 287abff599
8 changed files with 1221 additions and 1213 deletions

View File

@@ -1079,15 +1079,17 @@ async function handleIframeMessage(ev) {
closeSettings();
break;
case 'xb-tts:save-config': {
const ok = await saveConfig(payload);
const requestId = payload?.requestId || '';
const patch = (payload && typeof payload.patch === 'object') ? payload.patch : payload;
const ok = await saveConfig(patch);
if (ok) {
const cacheStats = await getCacheStatsSafe();
postToIframe(iframe, { type: 'xb-tts:config-saved', payload: { ...config, cacheStats } });
postToIframe(iframe, { type: 'xb-tts:config-saved', payload: { ...config, cacheStats, requestId } });
updateAutoSpeakAll();
updateSpeedAll();
updateVoiceAll();
} else {
postToIframe(iframe, { type: 'xb-tts:config-save-error', payload: { message: '保存失败' } });
postToIframe(iframe, { type: 'xb-tts:config-save-error', payload: { message: '保存失败', requestId } });
}
break;
}