Browse Source

feat: 添加 skipErrorHandler 处理

pull/103/head
cp3hnu 1 year ago
parent
commit
397a5223d3
4 changed files with 16 additions and 12 deletions
  1. +1
    -3
      react-ui/src/app.tsx
  2. +5
    -3
      react-ui/src/pages/Experiment/Info/index.jsx
  3. +9
    -6
      react-ui/src/requestConfig.ts
  4. +1
    -0
      react-ui/src/services/experiment/index.js

+ 1
- 3
react-ui/src/app.tsx View File

@@ -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'),


+ 5
- 3
react-ui/src/pages/Experiment/Info/index.jsx View File

@@ -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);
});
};



+ 9
- 6
react-ui/src/requestConfig.ts View File

@@ -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);
}
},


+ 1
- 0
react-ui/src/services/experiment/index.js View File

@@ -51,6 +51,7 @@ export function getQueryByExperimentLog(data) {
return request('/api/mmp/experimentIns/realTimeLog/', {
method: 'POST',
data,
skipErrorHandler: true,
});
}
// 查询实例节点结果


Loading…
Cancel
Save