From 8526231f386442347814ab77604e3e549ef37db8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Wed, 28 Oct 2026 12:01:31 +0800 Subject: [PATCH] fix: nav editor API calls use workspace api() signature (url, method, data) The api() helper takes positional args, not fetch-style options object. This caused 'not a valid HTTP method' error on save/publish. Co-Authored-By: Claude Code --- app/static/workspace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/static/workspace.js b/app/static/workspace.js index 005b64b..2fa814b 100644 --- a/app/static/workspace.js +++ b/app/static/workspace.js @@ -357,7 +357,7 @@ async function saveNavDraft(){ const s=state.site;if(!s||!navSiteDesign)return; try{ navSiteDesign.nav=navItems; - const r=await api(`/api/sites/${s.id}/site-design`,{method:'PUT',headers:{'Content-Type':'application/json'},body:JSON.stringify({config:navSiteDesign,expected_revision:navDesignRevision})}); + const r=await api(`/api/sites/${s.id}/site-design`,'PUT',{config:navSiteDesign,expected_revision:navDesignRevision}); navDesignRevision=r.revision||navDesignRevision+1; toast('导航草稿已保存,点击「发布导航」使其参与下一次构建'); }catch(e){toast('保存失败:'+e.message,true)} @@ -366,7 +366,7 @@ async function publishNav(){ const s=state.site;if(!s||!navSiteDesign)return; try{ await saveNavDraft(); - await api(`/api/sites/${s.id}/site-design/publish`,{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({expected_revision:navDesignRevision})}); + await api(`/api/sites/${s.id}/site-design/publish`,'POST',{expected_revision:navDesignRevision}); toast('导航已发布!重新构建网站后生效。'); $('#navModal').close(); }catch(e){toast('发布失败:'+e.message,true)}