Browse Source

Merge pull request '合并dev' (#104) from dev into master

dev-lhz
cp3hnu 1 year ago
parent
commit
a3d09658f7
17 changed files with 37 additions and 45 deletions
  1. +0
    -2
      react-ui/jest.config.ts
  2. +2
    -4
      react-ui/src/app.tsx
  3. +2
    -2
      react-ui/src/components/DictTag/index.tsx
  4. +1
    -1
      react-ui/src/global.tsx
  5. +1
    -1
      react-ui/src/pages/Experiment/Comparison/index.tsx
  6. +8
    -6
      react-ui/src/pages/Experiment/Info/index.jsx
  7. +3
    -4
      react-ui/src/pages/Experiment/components/LogGroup/index.tsx
  8. +1
    -1
      react-ui/src/pages/Experiment/index.jsx
  9. +1
    -1
      react-ui/src/pages/Pipeline/editPipeline/index.jsx
  10. +4
    -4
      react-ui/src/pages/Pipeline/editPipeline/props.tsx
  11. +1
    -7
      react-ui/src/pages/Pipeline/index.jsx
  12. +1
    -1
      react-ui/src/pages/System/Operlog/detail.tsx
  13. +1
    -1
      react-ui/src/pages/System/Role/components/DataScope.tsx
  14. +0
    -2
      react-ui/src/pages/User/Login/index.tsx
  15. +9
    -6
      react-ui/src/requestConfig.ts
  16. +1
    -0
      react-ui/src/services/experiment/index.js
  17. +1
    -2
      react-ui/src/services/session.ts

+ 0
- 2
react-ui/jest.config.ts View File

@@ -6,8 +6,6 @@ export default async () => {
target: 'browser', target: 'browser',
}), }),
}); });

console.log();
return { return {
...config, ...config,
testEnvironmentOptions: { testEnvironmentOptions: {


+ 2
- 4
react-ui/src/app.tsx View File

@@ -34,9 +34,7 @@ export async function getInitialState(): Promise<{
// console.log('getInitialState'); // console.log('getInitialState');
const fetchUserInfo = async () => { const fetchUserInfo = async () => {
try { try {
const response = await getUserInfo({
skipErrorHandler: true,
});
const response = await getUserInfo();
return { return {
...response.user, ...response.user,
avatar: response.user.avatar || require('@/assets/img/avatar-default.png'), avatar: response.user.avatar || require('@/assets/img/avatar-default.png'),
@@ -45,7 +43,7 @@ export async function getInitialState(): Promise<{
roleNames: response.user.roles, roleNames: response.user.roles,
} as API.CurrentUser; } as API.CurrentUser;
} catch (error) { } catch (error) {
console.log(error);
console.error(error);
gotoLoginPage(); gotoLoginPage();
} }
return undefined; return undefined;


+ 2
- 2
react-ui/src/components/DictTag/index.tsx View File

@@ -63,7 +63,7 @@ const DictTag: React.FC<DictTagProps> = (props) => {
} }
if (props.options) { if (props.options) {
if (!Array.isArray(props.options)) { if (!Array.isArray(props.options)) {
console.log('DictTag options is no array!');
// console.log('DictTag options is no array!');
return ''; return '';
} }
for (const item of props.options) { for (const item of props.options) {
@@ -85,7 +85,7 @@ const DictTag: React.FC<DictTagProps> = (props) => {
} }
if (props.options) { if (props.options) {
if (!Array.isArray(props.options)) { if (!Array.isArray(props.options)) {
console.log('DictTag options is no array!');
// console.log('DictTag options is no array!');
return 'default'; return 'default';
} }
for (const item of props.options) { for (const item of props.options) {


+ 1
- 1
react-ui/src/global.tsx View File

@@ -15,7 +15,7 @@ const clearCache = () => {
caches.delete(key); caches.delete(key);
}); });
}) })
.catch((e) => console.log(e));
.catch((e) => console.error(e));
} }
}; };




+ 1
- 1
react-ui/src/pages/Experiment/Comparison/index.tsx View File

@@ -94,7 +94,7 @@ function ExperimentComparison() {
fixed: 'left', fixed: 'left',
selectedRowKeys, selectedRowKeys,
onChange: (selectedRowKeys: React.Key[], selectedRows: any[]) => { onChange: (selectedRowKeys: React.Key[], selectedRows: any[]) => {
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
// console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
setSelectedRowKeys(selectedRowKeys); setSelectedRowKeys(selectedRowKeys);
}, },
}; };


+ 8
- 6
react-ui/src/pages/Experiment/Info/index.jsx View File

@@ -76,7 +76,7 @@ function ExperimentText() {
getExperimentInstance(); getExperimentInstance();
} catch (error) { } catch (error) {
// JSON.parse 错误 // JSON.parse 错误
console.log(error);
console.error('JSON.parse error: ', error);
} }
} }
}; };
@@ -97,15 +97,15 @@ function ExperimentText() {
// 绘制图 // 绘制图
getGraphData(workflowData, true); getGraphData(workflowData, true);


// 如果状态是 Pending, 打开第一个节点
// 如果状态是 Running,打开第一个运行中的节点,如果没有运行中的节点,打开第一个节点
if (status === ExperimentStatus.Pending) { if (status === ExperimentStatus.Pending) {
// 如果状态是 Pending, 打开第一个节点
const node = workflowData.nodes[0]; const node = workflowData.nodes[0];
if (node) { if (node) {
setExperimentNodeData(node); setExperimentNodeData(node);
openPropsDrawer(); openPropsDrawer();
} }
} else if (status === ExperimentStatus.Running) { } else if (status === ExperimentStatus.Running) {
// 如果状态是 Running,打开第一个运行中的节点,如果没有运行中的节点,则打开第一个节点
const node = const node =
workflowData.nodes.find((item) => item.experimentStatus === ExperimentStatus.Running) ?? workflowData.nodes.find((item) => item.experimentStatus === ExperimentStatus.Running) ??
workflowData.nodes[0]; workflowData.nodes[0];
@@ -167,11 +167,11 @@ function ExperimentText() {
evtSourceRef.current = null; evtSourceRef.current = null;
} }
} catch (error) { } catch (error) {
console.log(error);
console.error('JSON.parse error: ', error);
} }
}; };
evtSource.onerror = (error) => { evtSource.onerror = (error) => {
console.log('sse error', error);
console.error('SSE error: ', error);
}; };


evtSourceRef.current = evtSource; evtSourceRef.current = evtSource;
@@ -452,8 +452,10 @@ function ExperimentText() {
graph.setItemState(e.item, 'hover', false); graph.setItemState(e.item, 'hover', false);
}); });
graph.on('canvas:click', (e) => { graph.on('canvas:click', (e) => {
setExperimentNodeData(null);
closePropsDrawer(); closePropsDrawer();
setTimeout(() => {
setExperimentNodeData(null);
}, 200);
}); });
}; };




+ 3
- 4
react-ui/src/pages/Experiment/components/LogGroup/index.tsx View File

@@ -134,7 +134,6 @@ function LogGroup({
// 建立 socket 连接 // 建立 socket 连接
const setupSockect = () => { const setupSockect = () => {
let { host } = location; let { host } = location;
console.log('setupSockect');


if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
host = '172.20.32.181:31213'; host = '172.20.32.181:31213';
@@ -144,11 +143,11 @@ function LogGroup({
); );


socket.addEventListener('open', () => { socket.addEventListener('open', () => {
console.log('WebSocket is open now.');
// console.log('WebSocket is open now.');
}); });


socket.addEventListener('close', (event) => { socket.addEventListener('close', (event) => {
console.log('WebSocket is closed:', event);
// console.log('WebSocket is closed:', event);
if (event.code !== 1000 && retryRef.current > 0) { if (event.code !== 1000 && retryRef.current > 0) {
retryRef.current -= 1; retryRef.current -= 1;
setTimeout(() => { setTimeout(() => {
@@ -196,7 +195,7 @@ function LogGroup({
}, 100); }, 100);
} }
} catch (error) { } catch (error) {
console.log(error);
console.error('JSON parse error: ', error);
} }
}); });




+ 1
- 1
react-ui/src/pages/Experiment/index.jsx View File

@@ -127,7 +127,7 @@ function Experiment() {
} }
}); });
} catch (error) { } catch (error) {
console.log(error);
console.error('JSON parse error: ', error);
} }
} }
}; };


+ 1
- 1
react-ui/src/pages/Pipeline/editPipeline/index.jsx View File

@@ -103,7 +103,7 @@ const EditPipeline = () => {


setTimeout(() => { setTimeout(() => {
const data = graph.save(); const data = graph.save();
console.log(data);
// console.log(data);
const errorNode = data.nodes.find((item) => item.formError === true); const errorNode = data.nodes.find((item) => item.formError === true);
if (errorNode) { if (errorNode) {
message.error(`【${errorNode.label}】节点必填项必须配置`); message.error(`【${errorNode.label}】节点必填项必须配置`);


+ 4
- 4
react-ui/src/pages/Pipeline/editPipeline/props.tsx View File

@@ -46,7 +46,7 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete
const control_strategy = JSON.stringify(fields.control_strategy); const control_strategy = JSON.stringify(fields.control_strategy);
const in_parameters = JSON.stringify(fields.in_parameters); const in_parameters = JSON.stringify(fields.in_parameters);
const out_parameters = JSON.stringify(fields.out_parameters); const out_parameters = JSON.stringify(fields.out_parameters);
console.log('getFieldsValue', fields);
// console.log('getFieldsValue', fields);


const res = { const res = {
...stagingItem, ...stagingItem,
@@ -57,7 +57,7 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete
formError: !!error, formError: !!error,
}; };


console.log('res', res);
// console.log('res', res);
onFormChange(res); onFormChange(res);
} }
}; };
@@ -79,7 +79,7 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete
out_parameters: JSON.parse(model.out_parameters), out_parameters: JSON.parse(model.out_parameters),
control_strategy: JSON.parse(model.control_strategy), control_strategy: JSON.parse(model.control_strategy),
}; };
console.log('model', nodeData);
// console.log('model', nodeData);
setStagingItem({ setStagingItem({
...nodeData, ...nodeData,
}); });
@@ -91,7 +91,7 @@ const PipelineNodeParameter = forwardRef(({ onFormChange }: PipelineNodeParamete
form.validateFields(); form.validateFields();
} }
} catch (error) { } catch (error) {
console.log(error);
console.error('JSON.parse error: ', error);
} }
setOpen(true); setOpen(true);




+ 1
- 7
react-ui/src/pages/Pipeline/index.jsx View File

@@ -71,9 +71,6 @@ const Pipeline = () => {
}); });
} }
}; };
const onFinishFailed = (errorInfo) => {
console.log('Failed:', errorInfo);
};
const pageOption = useRef({ page: 1, size: 10 }); const pageOption = useRef({ page: 1, size: 10 });
const paginationProps = { const paginationProps = {
showSizeChanger: true, showSizeChanger: true,
@@ -86,7 +83,7 @@ const Pipeline = () => {
}; };
// 当前页面切换 // 当前页面切换
const paginationChange = async (current, size) => { const paginationChange = async (current, size) => {
console.log('page', current, size);
// console.log('page', current, size);
pageOption.current = { pageOption.current = {
page: current, page: current,
size: size, size: size,
@@ -176,7 +173,6 @@ const Pipeline = () => {
okText: '确认', okText: '确认',
cancelText: '取消', cancelText: '取消',
onOk: () => { onOk: () => {
console.log(record);
cloneWorkflow(record.id).then((ret) => { cloneWorkflow(record.id).then((ret) => {
if (ret.code === 200) { if (ret.code === 200) {
message.success('复制成功'); message.success('复制成功');
@@ -214,7 +210,6 @@ const Pipeline = () => {
title: '删除后,该流水线将不可恢复', title: '删除后,该流水线将不可恢复',
content: '是否确认删除?', content: '是否确认删除?',
onOk: () => { onOk: () => {
console.log(record);
removeWorkflow(record.id).then((ret) => { removeWorkflow(record.id).then((ret) => {
if (ret.code === 200) { if (ret.code === 200) {
message.success('删除成功'); message.success('删除成功');
@@ -276,7 +271,6 @@ const Pipeline = () => {
remember: true, remember: true,
}} }}
onFinish={onFinish} onFinish={onFinish}
onFinishFailed={onFinishFailed}
autoComplete="off" autoComplete="off"
> >
<Form.Item <Form.Item


+ 1
- 1
react-ui/src/pages/System/Operlog/detail.tsx View File

@@ -21,7 +21,7 @@ const OperlogDetailForm: React.FC<OperlogFormProps> = (props) => {


const intl = useIntl(); const intl = useIntl();
const handleOk = () => { const handleOk = () => {
console.log('handle ok');
// console.log('handle ok');
}; };
const handleCancel = () => { const handleCancel = () => {
props.onCancel(); props.onCancel();


+ 1
- 1
react-ui/src/pages/System/Role/components/DataScope.tsx View File

@@ -216,7 +216,7 @@ const DataScopeForm: React.FC<DataScopeFormProps> = (props) => {
checkedKeys={deptIds} checkedKeys={deptIds}
defaultCheckedKeys={deptCheckedKeys} defaultCheckedKeys={deptCheckedKeys}
onCheck={(checkedKeys: any, checkInfo: any) => { onCheck={(checkedKeys: any, checkInfo: any) => {
console.log(checkedKeys, checkInfo);
// console.log(checkedKeys, checkInfo);
if (checkStrictly) { if (checkStrictly) {
return setDeptIds(checkedKeys.checked); return setDeptIds(checkedKeys.checked);
} else { } else {


+ 0
- 2
react-ui/src/pages/User/Login/index.tsx View File

@@ -210,12 +210,10 @@ const Login: React.FC = () => {
setSessionToken(response.data?.access_token, response.data?.access_token, expireTime); setSessionToken(response.data?.access_token, response.data?.access_token, expireTime);
message.success(defaultLoginSuccessMessage); message.success(defaultLoginSuccessMessage);
await fetchUserInfo(); await fetchUserInfo();
console.log('login ok');
const urlParams = new URL(window.location.href).searchParams; const urlParams = new URL(window.location.href).searchParams;
history.push(urlParams.get('redirect') || '/'); history.push(urlParams.get('redirect') || '/');
return; return;
} else { } else {
console.log(response.msg);
clearSessionToken(); clearSessionToken();
// 如果失败去设置用户错误信息 // 如果失败去设置用户错误信息
setUserLoginState({ ...response, type }); setUserLoginState({ ...response, type });


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

@@ -3,14 +3,17 @@
* @Date: 2024-03-25 13:52:54 * @Date: 2024-03-25 13:52:54
* @Description: 网络请求配置,详情请参考 https://umijs.org/docs/max/request * @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 { message } from 'antd';
import { clearSessionToken, getAccessToken } from './access'; import { clearSessionToken, getAccessToken } from './access';
import { setRemoteMenu } from './services/session'; import { setRemoteMenu } from './services/session';
import { gotoLoginPage } from './utils/ui'; 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. // [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 有时候不弹出来 // 直接调用 message.error 有时候不弹出来
setTimeout(() => { setTimeout(() => {
message.error(error); message.error(error);
@@ -39,8 +42,8 @@ export const requestConfig: RequestConfig = {
responseInterceptors: [ responseInterceptors: [
[ [
(response: AxiosResponse) => { (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 (status >= 200 && status < 300) {
if (data && (data instanceof Blob || data.code === 200)) { if (data && (data instanceof Blob || data.code === 200)) {
return response; return response;
@@ -51,11 +54,11 @@ export const requestConfig: RequestConfig = {
popupError('请重新登录'); popupError('请重新登录');
return Promise.reject(response); return Promise.reject(response);
} else { } else {
popupError(data?.msg ?? '请求失败');
popupError(data?.msg ?? '请求失败', skipErrorHandler);
return Promise.reject(response); return Promise.reject(response);
} }
} else { } else {
popupError('请求失败');
popupError('请求失败', skipErrorHandler);
return Promise.reject(response); 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/', { return request('/api/mmp/experimentIns/realTimeLog/', {
method: 'POST', method: 'POST',
data, data,
skipErrorHandler: true,
}); });
} }
// 查询实例节点结果 // 查询实例节点结果


+ 1
- 2
react-ui/src/services/session.ts View File

@@ -148,8 +148,7 @@ export function getMatchMenuItem(
} else { } else {
const paths = path.split('/'); const paths = path.split('/');
if (paths.length >= 2 && paths[0] === item.path && paths[1] === 'index') { if (paths.length >= 2 && paths[0] === item.path && paths[1] === 'index') {
console.log(item);

// console.log(item);
items.push(item); items.push(item);
} }
} }


Loading…
Cancel
Save