/** * # 应用入口 * Providers:TanStack Query + antd ConfigProvider + Router */ import { createRoot } from "react-dom/client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ConfigProvider, App as AntApp, theme as antdTheme } from "antd"; import zhCN from "antd/locale/zh_CN"; import dayjs from "dayjs"; import "dayjs/locale/zh-cn"; import { BrowserRouter } from "react-router-dom"; import App from "./app"; import { useThemeStore } from "./stores/theme"; dayjs.locale("zh-cn"); /** # 全局 QueryClient(服务端状态缓存) **/ const queryClient = new QueryClient({ defaultOptions: { queries: { retry: 1, refetchOnWindowFocus: false, staleTime: 10_000 }, }, }); /** # 主题根组件:跟随全局主题切换 antd algorithm 与背景色 */ function ThemedRoot({ children }: { children: React.ReactNode }) { const mode = useThemeStore((s) => s.mode); const dark = mode === "dark"; if (typeof document !== "undefined") { document.body.style.background = dark ? "#141619" : "#f5f5f5"; document.body.style.color = dark ? "rgba(255,255,255,0.85)" : "rgba(0,0,0,0.88)"; } return ( {children} ); } createRoot(document.getElementById("root")!).render( , );