0.6 rust重构01

This commit is contained in:
lix-2026
2026-04-14 13:22:29 +08:00
parent 71fb1aee7e
commit 84a8454fa9
401 changed files with 5841 additions and 1512 deletions
File diff suppressed because it is too large Load Diff
@@ -232,11 +232,14 @@ export function DocumentContent({
}, CONTENT_LOADING_DELAY_MS);
try {
const response = await fetch(`/api/documents/content?documentId=${encodeURIComponent(documentId)}`, {
const response = await fetch(
`/api/documents/content?documentId=${encodeURIComponent(documentId)}&workspaceId=${encodeURIComponent(workspaceId)}`,
{
method: "GET",
credentials: "include",
signal: controller.signal,
});
},
);
if (!response.ok) {
const payload = await response.json().catch(() => ({}));
throw new Error(payload?.error ?? "加载页面内容失败");
@@ -270,7 +273,7 @@ export function DocumentContent({
contentLoadingTimerRef.current = null;
}
};
}, [documentId, initialContent, contentReloadKey]);
}, [documentId, initialContent, contentReloadKey, workspaceId]);
const persistTitle = useCallback(
async (nextTitle: string) => {
@@ -279,10 +282,10 @@ export function DocumentContent({
await fetch("/api/documents/title", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ documentId, title: payload }),
body: JSON.stringify({ documentId, workspaceId, title: payload }),
});
},
[documentId, readOnly],
[documentId, readOnly, workspaceId],
);
const debouncedPersistTitle = useDebouncedCallback((value: string) => {
@@ -315,7 +318,7 @@ export function DocumentContent({
const response = await fetch("/api/documents/options", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ documentId, options: patch }),
body: JSON.stringify({ documentId, workspaceId, options: patch }),
});
if (!response.ok) {
const payload = await response.json().catch(() => null);
@@ -325,7 +328,7 @@ export function DocumentContent({
console.error(error);
}
},
[documentId, readOnly],
[documentId, readOnly, workspaceId],
);
const toggleOption = useCallback(
@@ -600,9 +603,9 @@ export function DocumentContent({
void fetch("/api/documents/stats", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ documentId, stats: next }),
body: JSON.stringify({ documentId, workspaceId, stats: next }),
}).catch((error) => console.error(error));
}, [documentId]);
}, [documentId, workspaceId]);
const persistStats = useDebouncedCallback(persistStatsRequest, 1500);