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