import { useEffect } from 'react'; import { useModel } from 'umi'; import { Space, ConfigProvider } from 'antd'; import { HomeOutlined, ReadOutlined, ProfileOutlined } from '@ant-design/icons'; import useRequest from '@/utils/useRequest'; import { queryDeploymentInfoByTaskStatusType } from '@/services/ob-deploy-web/Deployments'; import Welcome from './components/Welcome'; import InstallConfig from './components/InstallConfig'; import NodeConfig from './components/NodeConfig'; import ClusterConfig from './components/ClusterConfig'; import PreCheck from './components/PreCheck'; import InstallProcess from './components/InstallProcess'; import InstallFinished from './components/InstallFinished'; import ExitPage from './components/ExitPage'; import Steps from './components/Steps'; import theme from './theme'; import styles from './index.less'; export default function IndexPage() { const { setCurrentStep, setConfigData, currentStep } = useModel('global'); const { run: fetchDeploymentInfo } = useRequest( queryDeploymentInfoByTaskStatusType, ); const contentConfig = { 1: , 2: , 3: , 4: , 5: , 6: , 7: , }; useEffect(() => { fetchDeploymentInfo({ task_status: 'INSTALLING' }).then( ({ success, data }: API.OBResponse) => { if (success && data?.items?.length) { setCurrentStep(5); setConfigData({ components: { oceanbase: { appname: data?.items[0]?.name } }, }); } }, ); }, []); const containerStyle = { minHeight: `${ currentStep < 6 ? 'calc(100% - 220px)' : 'calc(100% - 50px)' }`, paddingTop: `${currentStep < 6 ? '170px' : '50px'}`, }; return ( 部署 访问官网 访问论坛 帮助中心 {currentStep === 0 ? ( ) : ( {contentConfig[currentStep]} )} ); }