修复无法保存配置的问题

This commit is contained in:
CN-JS-HuiBai
2026-04-06 17:44:58 +08:00
parent 94ed27199a
commit 15f4b610af
3 changed files with 109 additions and 95 deletions

View File

@@ -1813,22 +1813,17 @@
const settings = {
page_name: dom.pageNameInput.value.trim(),
title: dom.siteTitleInput.value.trim(),
logo_url: dom.logoUrlInput.value.trim(),
default_theme: dom.defaultThemeInput.value,
show_95_bandwidth: dom.show95BandwidthInput.value === "1" ? 1 : 0,
p95_type: dom.p95TypeSelect.value,
ps_filing: dom.psFilingInput ? dom.psFilingInput.value : '',
icp_filing: dom.icpFilingInput ? dom.icpFilingInput.value : '',
title: dom.siteTitleInput ? dom.siteTitleInput.value.trim() : dom.pageNameInput.value.trim(),
logo_url: dom.logoUrlInput ? dom.logoUrlInput.value.trim() : '',
logo_url_dark: dom.logoUrlDarkInput ? dom.logoUrlDarkInput.value.trim() : '',
favicon_url: dom.faviconUrlInput ? dom.faviconUrlInput.value.trim() : ''
favicon_url: dom.faviconUrlInput ? dom.faviconUrlInput.value.trim() : '',
default_theme: dom.defaultThemeInput ? dom.defaultThemeInput.value : 'dark',
show_95_bandwidth: dom.show95BandwidthInput ? (dom.show95BandwidthInput.value === "1") : false,
p95_type: dom.p95TypeSelect ? dom.p95TypeSelect.value : 'tx',
ps_filing: dom.psFilingInput ? dom.psFilingInput.value.trim() : '',
icp_filing: dom.icpFilingInput ? dom.icpFilingInput.value.trim() : ''
};
// If user sets default to auto, we should clear their manual override or set it to auto
if (settings.default_theme === 'auto') {
localStorage.setItem('theme', 'auto');
}
dom.btnSaveSiteSettings.disabled = true;
dom.btnSaveSiteSettings.textContent = '保存中...';
@@ -1841,17 +1836,20 @@
if (response.ok) {
showSiteMessage('设置保存成功', 'success');
applySiteSettings(settings);
// Update global object and UI immediately
window.SITE_SETTINGS = { ...window.SITE_SETTINGS, ...settings };
applySiteSettings(window.SITE_SETTINGS);
} else {
const err = await response.json();
showSiteMessage(`保存失败: ${err.error}`, 'error');
showSiteMessage(`保存失败: ${err.error || '未知错误'}`, 'error');
if (response.status === 401) openLoginModal();
}
} catch (err) {
showSiteMessage(`保存失败: ${err.message}`, 'error');
console.error('Save settings error:', err);
} finally {
dom.btnSaveSiteSettings.disabled = false;
dom.btnSaveSiteSettings.textContent = '保存基础设置';
dom.btnSaveSiteSettings.textContent = '保存设置';
}
}