From 3bbc9acc8603c6727fb979fddbbd0a7ff474b8ed Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 23 五月 2025 17:39:17 +0800 Subject: [PATCH] 添加盘点功能 --- rsf-admin/src/App.jsx | 46 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 35 insertions(+), 11 deletions(-) diff --git a/rsf-admin/src/App.jsx b/rsf-admin/src/App.jsx index 12d5306..c8601b9 100644 --- a/rsf-admin/src/App.jsx +++ b/rsf-admin/src/App.jsx @@ -11,6 +11,7 @@ } from "react-admin"; import polyglotI18nProvider from "ra-i18n-polyglot"; import englishMessages from "./i18n/en"; +import zhMessages from "./i18n/zh"; import { Layout } from "./layout"; import AuthProvider from "./config/authProvider"; import DataProvider from "./config/dataProvider"; @@ -27,22 +28,39 @@ DATA_PROVIDER_SPRING, } from "./config/setting"; import ResourceContent from "./page/ResourceContent"; -import { getSystemInfo } from "@/api/auth"; +import { getSystemInfo, getSystemDicts, tenants } from "@/api/auth"; +import chineseMessages from 'ra-language-chinese'; +import { createTheme, ThemeProvider } from '@mui/material/styles'; +import { zhCN, frFR, enUS } from '@mui/material/locale'; + + +const getMaterialUILocale = (locale) => { + switch (locale) { + case 'en': + return enUS; + case 'fr': + return frFR; + default: + return zhCN; + } +}; const i18nProvider = polyglotI18nProvider( (locale) => { - if (locale === "zh") { - return import("./i18n/zh").then((messages) => messages.default); + if (locale === "en") { + return import("./i18n/en").then((messages) => messages.default); } - // fallback - return englishMessages; + return { ...chineseMessages, ...zhMessages }; }, - // default - // 'en', - resolveBrowserLocale("en", { fullLocale: true }), + "zh", [ { locale: "en", name: "English" }, { locale: "zh", name: "绠�浣撲腑鏂�" }, + { locale: "jp", name: "鏃ユ湰瑾�" }, + { locale: "kr", name: "頃滉淡鞚�" }, + { locale: "ru", name: "Russian" }, + { locale: "lk", name: "袪褍褋褋泻懈泄" }, + { locale: "es", name: "Espa帽ola" }, ], { // msg in console @@ -50,17 +68,22 @@ }, ); + const store = localStorageStore(SPA_VERSION, SPA_NAME); const App = () => { const [themeName] = useStore("themeName", DEFAULT_THEME_NAME); const lightTheme = themes.find((theme) => theme.name === themeName)?.light; const darkTheme = themes.find((theme) => theme.name === themeName)?.dark; - + const [locale, setLocale] = useState('zh'); + const theme = createTheme( + { + ...lightTheme + }, getMaterialUILocale(locale)) useEffect(() => { getSystemInfo().then((data) => { localStorage.setItem("system", JSON.stringify(data)); - }); + }) }, []); return ( @@ -73,6 +96,7 @@ lightTheme={lightTheme} darkTheme={darkTheme} defaultTheme={DEFAULT_THEME_MODE} + theme={theme} i18nProvider={i18nProvider} dataProvider={DataProvider(DATA_PROVIDER_SPRING)} loginPage={Login} @@ -107,4 +131,4 @@ </StoreContextProvider> ); -export default AppWrapper; +export default AppWrapper; \ No newline at end of file -- Gitblit v1.9.1