refactor(*): 稳定期治理 - 收敛核心架构、错误语义并修复跨项目数据竞态

This commit is contained in:
ddCat
2026-09-09 22:02:10 +08:00
parent bacd502f5c
commit b5f3413ded
298 changed files with 12681 additions and 26428 deletions

View File

@@ -1,4 +1,4 @@
import { apiClient, request } from "@/services/api/request";
import { http } from "@/services/api/request";
import type { SkinDefinition } from "@/lib/skin-themes";
export type PublicAppearance = {
@@ -68,12 +68,12 @@ export type AppearanceResource = {
};
export async function getPublicAppearance(signal?: AbortSignal) {
const result = await request<{ appearance: PublicAppearance }>(apiClient.get("/public/appearance", { signal }));
const result = await http.get<{ appearance: PublicAppearance }>("/public/appearance", { signal });
return result.appearance;
}
export async function getAdminAppearance(signal?: AbortSignal) {
const result = await request<{ setting: AdminAppearance }>(apiClient.get("/admin/settings/appearance", { signal }));
const result = await http.get<{ setting: AdminAppearance }>("/admin/settings/appearance", { signal });
return result.setting;
}
@@ -100,18 +100,18 @@ export async function updateAdminAppearance(
| "icpFilingNumber"
>,
) {
const result = await request<{ setting: AdminAppearance }>(apiClient.patch("/admin/settings/appearance", input));
const result = await http.patch<{ setting: AdminAppearance }>("/admin/settings/appearance", input);
return result.setting;
}
export async function resetAdminAppearance() {
const result = await request<{ setting: AdminAppearance }>(apiClient.delete("/admin/settings/appearance"));
const result = await http.delete<{ setting: AdminAppearance }>("/admin/settings/appearance");
return result.setting;
}
export async function uploadAppearanceAsset(slot: AppearanceAssetSlot, file: File) {
const body = new FormData();
body.append("file", file);
const result = await request<{ resource: AppearanceResource }>(apiClient.post(`/admin/settings/appearance/assets/${slot}`, body));
const result = await http.post<{ resource: AppearanceResource }>(`/admin/settings/appearance/assets/${slot}`, body);
return result.resource;
}