u
This commit is contained in:
@@ -1,11 +1,42 @@
|
|||||||
import { createRoot } from 'react-dom/client'
|
import { createRoot } from 'react-dom/client'
|
||||||
import Web_app from './web_app'
|
import { RouterProvider } from 'react-router';
|
||||||
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
||||||
|
import { App as AntdApp } from 'antd'
|
||||||
|
import dayjs from 'dayjs';
|
||||||
|
import weekday from 'dayjs/plugin/weekday';
|
||||||
|
import localeData from 'dayjs/plugin/localeData';
|
||||||
|
import 'dayjs/locale/zh-cn';
|
||||||
|
|
||||||
|
import { AuthProvider } from './hooks/AuthProvider';
|
||||||
|
import { router } from './routes';
|
||||||
|
|
||||||
|
// 配置 dayjs 插件
|
||||||
|
dayjs.extend(weekday);
|
||||||
|
dayjs.extend(localeData);
|
||||||
|
|
||||||
|
// 设置 dayjs 语言
|
||||||
|
dayjs.locale('zh-cn');
|
||||||
|
|
||||||
|
// 创建QueryClient实例
|
||||||
|
const queryClient = new QueryClient();
|
||||||
|
|
||||||
|
// 应用入口组件
|
||||||
|
const App = () => {
|
||||||
|
return (
|
||||||
|
<QueryClientProvider client={queryClient}>
|
||||||
|
<AntdApp>
|
||||||
|
<AuthProvider>
|
||||||
|
<RouterProvider router={router} />
|
||||||
|
</AuthProvider>
|
||||||
|
</AntdApp>
|
||||||
|
</QueryClientProvider>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
const rootElement = document.getElementById('root')
|
const rootElement = document.getElementById('root')
|
||||||
if (rootElement) {
|
if (rootElement) {
|
||||||
const root = createRoot(rootElement)
|
const root = createRoot(rootElement)
|
||||||
root.render(
|
root.render(
|
||||||
<Web_app />
|
<App />
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -14,8 +14,8 @@ import {
|
|||||||
UserOutlined
|
UserOutlined
|
||||||
} from '@ant-design/icons';
|
} from '@ant-design/icons';
|
||||||
import { useAuth } from '../hooks/AuthProvider';
|
import { useAuth } from '../hooks/AuthProvider';
|
||||||
import { useTheme } from '../hooks/ThemeProvider';
|
|
||||||
import { useMenu, useMenuSearch, type MenuItem } from '../menu';
|
import { useMenu, useMenuSearch, type MenuItem } from '../menu';
|
||||||
|
import { getGlobalConfig } from '@/client/utils/utils';
|
||||||
|
|
||||||
const { Header, Sider, Content } = Layout;
|
const { Header, Sider, Content } = Layout;
|
||||||
|
|
||||||
@@ -25,7 +25,6 @@ const { Header, Sider, Content } = Layout;
|
|||||||
*/
|
*/
|
||||||
export const MainLayout = () => {
|
export const MainLayout = () => {
|
||||||
const { user } = useAuth();
|
const { user } = useAuth();
|
||||||
const { isDark } = useTheme();
|
|
||||||
const [showBackTop, setShowBackTop] = useState(false);
|
const [showBackTop, setShowBackTop] = useState(false);
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
|
|
||||||
@@ -105,7 +104,7 @@ export const MainLayout = () => {
|
|||||||
|
|
||||||
|
|
||||||
// 应用名称 - 从CONFIG中获取或使用默认值
|
// 应用名称 - 从CONFIG中获取或使用默认值
|
||||||
const appName = window.CONFIG?.APP_NAME || '应用Starter';
|
const appName = getGlobalConfig('APP_NAME') || '应用Starter';
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout style={{ minHeight: '100vh' }}>
|
<Layout style={{ minHeight: '100vh' }}>
|
||||||
@@ -145,7 +144,7 @@ export const MainLayout = () => {
|
|||||||
|
|
||||||
{/* 菜单列表 */}
|
{/* 菜单列表 */}
|
||||||
<Menu
|
<Menu
|
||||||
theme={isDark ? 'dark' : 'light'}
|
theme='light'
|
||||||
mode="inline"
|
mode="inline"
|
||||||
items={filteredMenuItems}
|
items={filteredMenuItems}
|
||||||
openKeys={openKeys}
|
openKeys={openKeys}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { createBrowserRouter, Navigate } from 'react-router';
|
import { createBrowserRouter, Navigate } from 'react-router';
|
||||||
import { ProtectedRoute } from './components/components_protected_route';
|
import { ProtectedRoute } from './components/ProtectedRoute';
|
||||||
import { MainLayout } from './layouts/MainLayout';
|
import { MainLayout } from './layouts/MainLayout';
|
||||||
import { ErrorPage } from './components/ErrorPage';
|
import { ErrorPage } from './components/ErrorPage';
|
||||||
import { NotFoundPage } from './components/NotFoundPage';
|
import { NotFoundPage } from './components/NotFoundPage';
|
||||||
import { DashboardPage } from './pages/pages_dashboard';
|
import { DashboardPage } from './pages/Dashboard';
|
||||||
import { UsersPage } from './pages/pages_users';
|
import { UsersPage } from './pages/Users';
|
||||||
import { LoginPage } from './pages/pages_login_reg';
|
import { LoginPage } from './pages/Login';
|
||||||
|
|
||||||
export const router = createBrowserRouter([
|
export const router = createBrowserRouter([
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
|
|
||||||
.marker-label {
|
|
||||||
color: #333;
|
|
||||||
font-size: 12px;
|
|
||||||
background: #fff;
|
|
||||||
padding: 2px 6px;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
border-radius: 2px;
|
|
||||||
white-space: nowrap;
|
|
||||||
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.amap-marker-label {
|
|
||||||
border: none !important;
|
|
||||||
background: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-dot {
|
|
||||||
display: inline-block;
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
border-radius: 50%;
|
|
||||||
margin-left: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-dot.online {
|
|
||||||
background-color: #4CAF50;
|
|
||||||
}
|
|
||||||
|
|
||||||
.status-dot.offline {
|
|
||||||
background-color: #FF5252;
|
|
||||||
}
|
|
||||||
@@ -21,17 +21,13 @@ const queryClient = new QueryClient();
|
|||||||
|
|
||||||
// 应用入口组件
|
// 应用入口组件
|
||||||
const App = () => {
|
const App = () => {
|
||||||
return <RouterProvider router={router} />
|
|
||||||
};
|
|
||||||
|
|
||||||
export default () => {
|
|
||||||
return (
|
return (
|
||||||
<QueryClientProvider client={queryClient}>
|
<QueryClientProvider client={queryClient}>
|
||||||
<AntdApp>
|
<AntdApp>
|
||||||
<AuthProvider>
|
<AuthProvider>
|
||||||
<App />
|
<RouterProvider router={router} />
|
||||||
</AuthProvider>
|
</AuthProvider>
|
||||||
</AntdApp>
|
</AntdApp>
|
||||||
</QueryClientProvider>
|
</QueryClientProvider>
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
Reference in New Issue
Block a user