From 24ac681cb3c123ec53c22996af43c022a29af0d2 Mon Sep 17 00:00:00 2001 From: v-zhangjc9 Date: Wed, 2 Jul 2025 13:06:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(web):=20=E5=A2=9E=E5=8A=A0=E8=A3=85?= =?UTF-8?q?=E9=A5=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service-web/client/src/pages/App.tsx | 26 +++++++++++++++++++++++--- service-web/client/src/vite-env.d.ts | 2 ++ service-web/client/vite.config.ts | 4 ++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/service-web/client/src/pages/App.tsx b/service-web/client/src/pages/App.tsx index e92ead1..122198f 100644 --- a/service-web/client/src/pages/App.tsx +++ b/service-web/client/src/pages/App.tsx @@ -1,10 +1,11 @@ -import {ProLayout} from '@ant-design/pro-components' +import {type AppItemProps, ProLayout} from '@ant-design/pro-components' import {ConfigProvider} from 'antd' -import React from 'react' +import {dateFormat} from 'licia' +import React, {useMemo} from 'react' import {Outlet, useLocation, useNavigate} from 'react-router' import {menus} from '../route.tsx' -const apps: { title: string, desc: string, url: string, icon?: string }[] = [ +const apps: AppItemProps[] = [ { icon: 'http://132.126.207.124:8686/udal-manager/static/favicon.ico', title: 'CSV-HUDI处理平台', @@ -16,8 +17,10 @@ const apps: { title: string, desc: string, url: string, icon?: string }[] = [ const App: React.FC = () => { const navigate = useNavigate() const location = useLocation() + const currentYear = useMemo(() => dateFormat(new Date(), 'yyyy'), []) return ( { colorBgMenuItemSelected: '#22272b', colorTextRightActionsItem: '#dfdfdf', }, + pageContainer: { + paddingBlockPageContainerContent: 0, + paddingInlinePageContainerContent: 0, + marginBlockPageContainerContent: 0, + marginInlinePageContainerContent: 0, + }, }} appList={apps} + defaultCollapsed={false} + breakpoint={false} disableMobile={true} logo={logo} title="Hudi 服务总台" @@ -47,6 +58,15 @@ const App: React.FC = () => { splitMenus={true} style={{minHeight: '100vh'}} contentStyle={{backgroundColor: 'white', padding: '10px 10px 10px 20px'}} + menuFooterRender={props => { + return ( +
+ {props?.collapsed + ? undefined + :
© 2023-{currentYear} 汇聚平台
} +
+ ) + }} > + +declare const __APP_VERSION__: string diff --git a/service-web/client/vite.config.ts b/service-web/client/vite.config.ts index a37a9b0..7d9b145 100644 --- a/service-web/client/vite.config.ts +++ b/service-web/client/vite.config.ts @@ -1,10 +1,14 @@ import react from '@vitejs/plugin-react-swc' import {defineConfig, type UserConfig} from 'vite' import obfuscatorPlugin from 'vite-plugin-javascript-obfuscator' +import packageJson from './package.json' // https://vite.dev/config/ export default defineConfig(({mode}) => { let config: UserConfig = { + define: { + __APP_VERSION__: JSON.stringify(packageJson.version) ?? '0.0.0', + }, plugins: [ react(), obfuscatorPlugin({