diff --git a/react-ui/src/app.tsx b/react-ui/src/app.tsx index abef6873..32dbf930 100644 --- a/react-ui/src/app.tsx +++ b/react-ui/src/app.tsx @@ -34,9 +34,7 @@ export async function getInitialState(): Promise<{ // console.log('getInitialState'); const fetchUserInfo = async () => { try { - const response = await getUserInfo({ - skipErrorHandler: true, - }); + const response = await getUserInfo(); return { ...response.user, avatar: response.user.avatar || require('@/assets/img/avatar-default.png'), diff --git a/react-ui/src/pages/Experiment/Info/index.jsx b/react-ui/src/pages/Experiment/Info/index.jsx index 61a7c56f..b088ee4f 100644 --- a/react-ui/src/pages/Experiment/Info/index.jsx +++ b/react-ui/src/pages/Experiment/Info/index.jsx @@ -97,15 +97,15 @@ function ExperimentText() { // 绘制图 getGraphData(workflowData, true); - // 如果状态是 Pending, 打开第一个节点 - // 如果状态是 Running,打开第一个运行中的节点,如果没有运行中的节点,打开第一个节点 if (status === ExperimentStatus.Pending) { + // 如果状态是 Pending, 打开第一个节点 const node = workflowData.nodes[0]; if (node) { setExperimentNodeData(node); openPropsDrawer(); } } else if (status === ExperimentStatus.Running) { + // 如果状态是 Running,打开第一个运行中的节点,如果没有运行中的节点,则打开第一个节点 const node = workflowData.nodes.find((item) => item.experimentStatus === ExperimentStatus.Running) ?? workflowData.nodes[0]; @@ -452,8 +452,10 @@ function ExperimentText() { graph.setItemState(e.item, 'hover', false); }); graph.on('canvas:click', (e) => { - setExperimentNodeData(null); closePropsDrawer(); + setTimeout(() => { + setExperimentNodeData(null); + }, 200); }); }; diff --git a/react-ui/src/requestConfig.ts b/react-ui/src/requestConfig.ts index 9529922d..7ea1bf26 100644 --- a/react-ui/src/requestConfig.ts +++ b/react-ui/src/requestConfig.ts @@ -3,14 +3,17 @@ * @Date: 2024-03-25 13:52:54 * @Description: 网络请求配置,详情请参考 https://umijs.org/docs/max/request */ -import type { AxiosRequestConfig, AxiosResponse, RequestConfig } from '@umijs/max'; +import type { AxiosRequestConfig, AxiosResponse, RequestConfig, RequestOptions } from '@umijs/max'; import { message } from 'antd'; import { clearSessionToken, getAccessToken } from './access'; import { setRemoteMenu } from './services/session'; import { gotoLoginPage } from './utils/ui'; // [antd: Notification] You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead. -const popupError = (error: string) => { +const popupError = (error: string, skipErrorHandler?: boolean = false) => { + if (skipErrorHandler) { + return; + } // 直接调用 message.error 有时候不弹出来 setTimeout(() => { message.error(error); @@ -39,8 +42,8 @@ export const requestConfig: RequestConfig = { responseInterceptors: [ [ (response: AxiosResponse) => { - const { status, data } = response || {}; - // console.log(message, data); + const { status, data, config } = response || {}; + const skipErrorHandler = (config as RequestOptions)?.skipErrorHandler; if (status >= 200 && status < 300) { if (data && (data instanceof Blob || data.code === 200)) { return response; @@ -51,11 +54,11 @@ export const requestConfig: RequestConfig = { popupError('请重新登录'); return Promise.reject(response); } else { - popupError(data?.msg ?? '请求失败'); + popupError(data?.msg ?? '请求失败', skipErrorHandler); return Promise.reject(response); } } else { - popupError('请求失败'); + popupError('请求失败', skipErrorHandler); return Promise.reject(response); } }, diff --git a/react-ui/src/services/experiment/index.js b/react-ui/src/services/experiment/index.js index 0789dad3..c21034bb 100644 --- a/react-ui/src/services/experiment/index.js +++ b/react-ui/src/services/experiment/index.js @@ -51,6 +51,7 @@ export function getQueryByExperimentLog(data) { return request('/api/mmp/experimentIns/realTimeLog/', { method: 'POST', data, + skipErrorHandler: true, }); } // 查询实例节点结果