This commit is contained in:
ylj20011123 2025-09-18 15:01:52 +08:00
parent 8f8b34763f
commit 0410fea3a1
6 changed files with 29 additions and 13 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "ant-design-pro", "name": "ant-design-pro",
"version": "4.5.54", "version": "4.5.57",
"private": true, "private": true,
"description": "An out-of-box UI solution for enterprise applications", "description": "An out-of-box UI solution for enterprise applications",
"scripts": { "scripts": {

View File

@ -5,9 +5,18 @@
// export default PageLoading; // export default PageLoading;
import React from 'react'; import React from 'react';
import SkeletonLoading from '../SkeletonLoading'; import SkeletonLoading from '../SkeletonLoading';
import { SimplePageTransition } from '../PageTransition';
const PageLoading: React.FC = () => { interface PageLoadingProps {
return <SkeletonLoading type="page" />; enableAnimation?: boolean;
}
const PageLoading: React.FC<PageLoadingProps> = ({ enableAnimation = false }) => {
return (
<SimplePageTransition enableAnimation={enableAnimation}>
<SkeletonLoading type="page" />
</SimplePageTransition>
);
}; };
export default PageLoading; export default PageLoading;

View File

@ -23,6 +23,8 @@ import type { ConnectState } from '@/models/connect';
import { getMatchMenu } from '@umijs/route-utils'; import { getMatchMenu } from '@umijs/route-utils';
import logo from '../assets/logo.png'; import logo from '../assets/logo.png';
import './BasicLayout.less' import './BasicLayout.less'
import PageLoading from '@/components/PageLoading';
import { SimplePageTransition } from '@/components/PageTransition';
import { DoubleRightOutlined } from '@ant-design/icons'; import { DoubleRightOutlined } from '@ant-design/icons';
import * as Icon from '@ant-design/icons' import * as Icon from '@ant-design/icons'
import IconFont from '@/components/IconFont'; import IconFont from '@/components/IconFont';
@ -92,6 +94,7 @@ const BasicLayout: React.FC<BasicLayoutProps> = (props) => {
const [activeKey, setActiveKey] = useState<string>(location?.pathname || '/') const [activeKey, setActiveKey] = useState<string>(location?.pathname || '/')
const [isFromMenu, setIsFromMenu] = useState<boolean>(true) // 默认为true首次加载显示动画
const menuDataRef = useRef<MenuDataItem[]>([]); const menuDataRef = useRef<MenuDataItem[]>([]);
const { formatMessage } = useIntl(); const { formatMessage } = useIntl();
@ -915,6 +918,7 @@ const BasicLayout: React.FC<BasicLayoutProps> = (props) => {
return defaultDom; return defaultDom;
} }
return <Link to={menuItemProps.path || '/'} onClick={() => { return <Link to={menuItemProps.path || '/'} onClick={() => {
setIsFromMenu(true) // 左侧菜单点击,启用动画
}}> }}>
{defaultDom} {defaultDom}
{/* {menuItemProps.name} */} {/* {menuItemProps.name} */}
@ -980,6 +984,7 @@ const BasicLayout: React.FC<BasicLayoutProps> = (props) => {
hideAdd hideAdd
type="editable-card" type="editable-card"
onChange={(value) => { onChange={(value) => {
setIsFromMenu(false) // tab切换禁用动画
history.push(value) history.push(value)
setActiveKey(value) setActiveKey(value)
}} }}
@ -1039,9 +1044,11 @@ const BasicLayout: React.FC<BasicLayoutProps> = (props) => {
<TabPane <TabPane
tab={item.title} key={item?.path} tab={item.title} key={item?.path}
style={{ padding: 24, paddingTop: 0 }}> style={{ padding: 24, paddingTop: 0 }}>
<Suspense fallback={<div>Loading...</div>}> <Suspense fallback={<PageLoading enableAnimation={isFromMenu} />}>
<Authorized authority={authorized!.authority} noMatch={noMatch}> <Authorized authority={authorized!.authority} noMatch={noMatch}>
{item.children} <SimplePageTransition enableAnimation={isFromMenu}>
{item.children}
</SimplePageTransition>
</Authorized> </Authorized>
</Suspense> </Suspense>
</TabPane>) </TabPane>)

View File

@ -56,18 +56,18 @@ const UserLayout: React.FC<UserLayoutProps> = (props) => {
<div className={styles.lang}> <div className={styles.lang}>
<Link to="/"> <Link to="/">
<img alt="logo" className={styles.logo} src={logo} /> <img alt="logo" className={styles.logo} src={logo} />
<span className={styles.headtitle}></span> <span className={styles.headtitle}>驿</span>
</Link> </Link>
</div> </div>
<div className={styles.content}> <div className={styles.content}>
{children} {children}
</div> </div>
{/* <DefaultFooter <DefaultFooter
copyright={`Copyright © 2013-${new Date().getFullYear()} Eshang Cloud. All Rights Reserved. 驿商云 版权所有 V${VERSION || ''}`} copyright={`Copyright © 2013-${new Date().getFullYear()} Eshang Cloud. All Rights Reserved. 驿商云 版权所有 V${VERSION || ''}`}
// copyright={`Copyright © 2013-${new Date().getFullYear()} Eshang Cloud. All Rights Reserved. 驿商云 版权所有 V6.6.6`} // copyright={`Copyright © 2013-${new Date().getFullYear()} Eshang Cloud. All Rights Reserved. 驿商云 版权所有 V6.6.6`}
links={[]} links={[]}
/> */} />
</div> </div>
</HelmetProvider> </HelmetProvider>
); );

View File

@ -1,4 +1,4 @@
// 由 scripts/writeVersion.js 自动生成 // 由 scripts/writeVersion.js 自动生成
export const VERSION = "4.5.54"; export const VERSION = "4.5.57";
export const GIT_HASH = "26ef480"; export const GIT_HASH = "8f8b347";
export const BUILD_TIME = "2025-09-10T08:05:17.397Z"; export const BUILD_TIME = "2025-09-18T01:29:44.333Z";