|
|
|
@ -20,6 +20,7 @@ interface IDEContainerState {
|
|
|
|
nodeStatusMap: Record<string, string>;
|
|
|
|
nodeStatusMap: Record<string, string>;
|
|
|
|
isRunning: boolean;
|
|
|
|
isRunning: boolean;
|
|
|
|
logs: any[];
|
|
|
|
logs: any[];
|
|
|
|
|
|
|
|
runId: string;
|
|
|
|
}>;
|
|
|
|
}>;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -38,7 +39,7 @@ const initialState: IDEContainerState = {
|
|
|
|
socketId: '', // 工程的socketId
|
|
|
|
socketId: '', // 工程的socketId
|
|
|
|
nodeStatusMap: {}, // 初始化节点状态映射
|
|
|
|
nodeStatusMap: {}, // 初始化节点状态映射
|
|
|
|
isRunning: false, // 默认未运行
|
|
|
|
isRunning: false, // 默认未运行
|
|
|
|
appRuntimeData: {}, // 按应用ID隔离的应用运行状态和日志数据
|
|
|
|
appRuntimeData: {} // 按应用ID隔离的应用运行状态和日志数据
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// 创建切片
|
|
|
|
// 创建切片
|
|
|
|
@ -85,7 +86,8 @@ const ideContainerSlice = createSlice({
|
|
|
|
// 如果是运行时更新,不记录到历史记录中
|
|
|
|
// 如果是运行时更新,不记录到历史记录中
|
|
|
|
if (actionType !== 'RUNTIME_UPDATE') {
|
|
|
|
if (actionType !== 'RUNTIME_UPDATE') {
|
|
|
|
state.nodeStatusMap[nodeId] = status;
|
|
|
|
state.nodeStatusMap[nodeId] = status;
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
// 对于运行时更新,我们仍然更新状态但标记为运行时状态
|
|
|
|
// 对于运行时更新,我们仍然更新状态但标记为运行时状态
|
|
|
|
state.nodeStatusMap[nodeId] = status;
|
|
|
|
state.nodeStatusMap[nodeId] = status;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -97,7 +99,8 @@ const ideContainerSlice = createSlice({
|
|
|
|
state.appRuntimeData[appId] = {
|
|
|
|
state.appRuntimeData[appId] = {
|
|
|
|
nodeStatusMap: {},
|
|
|
|
nodeStatusMap: {},
|
|
|
|
isRunning: false,
|
|
|
|
isRunning: false,
|
|
|
|
logs: []
|
|
|
|
logs: [],
|
|
|
|
|
|
|
|
runId: ''
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
state.appRuntimeData[appId].nodeStatusMap[nodeId] = status;
|
|
|
|
state.appRuntimeData[appId].nodeStatusMap[nodeId] = status;
|
|
|
|
@ -124,12 +127,26 @@ const ideContainerSlice = createSlice({
|
|
|
|
state.appRuntimeData[appId] = {
|
|
|
|
state.appRuntimeData[appId] = {
|
|
|
|
nodeStatusMap: {},
|
|
|
|
nodeStatusMap: {},
|
|
|
|
isRunning: false,
|
|
|
|
isRunning: false,
|
|
|
|
logs: []
|
|
|
|
logs: [],
|
|
|
|
|
|
|
|
runId: ''
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
state.appRuntimeData[appId].isRunning = payload;
|
|
|
|
state.appRuntimeData[appId].isRunning = payload;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
// 添加运行id
|
|
|
|
|
|
|
|
updateRuntimeId: (state, { payload }) => {
|
|
|
|
|
|
|
|
const appId = state.currentAppData?.id;
|
|
|
|
|
|
|
|
if (!state.appRuntimeData[appId]) {
|
|
|
|
|
|
|
|
state.appRuntimeData[appId] = {
|
|
|
|
|
|
|
|
nodeStatusMap: {},
|
|
|
|
|
|
|
|
isRunning: false,
|
|
|
|
|
|
|
|
logs: [],
|
|
|
|
|
|
|
|
runId: ''
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
state.appRuntimeData[appId].runId = payload;
|
|
|
|
|
|
|
|
},
|
|
|
|
// 添加运行日志
|
|
|
|
// 添加运行日志
|
|
|
|
addRuntimeLog: (state, { payload }) => {
|
|
|
|
addRuntimeLog: (state, { payload }) => {
|
|
|
|
const { log, appId } = payload;
|
|
|
|
const { log, appId } = payload;
|
|
|
|
@ -137,7 +154,8 @@ const ideContainerSlice = createSlice({
|
|
|
|
state.appRuntimeData[appId] = {
|
|
|
|
state.appRuntimeData[appId] = {
|
|
|
|
nodeStatusMap: {},
|
|
|
|
nodeStatusMap: {},
|
|
|
|
isRunning: false,
|
|
|
|
isRunning: false,
|
|
|
|
logs: []
|
|
|
|
logs: [],
|
|
|
|
|
|
|
|
runId: ''
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
state.appRuntimeData[appId].logs.push(log);
|
|
|
|
state.appRuntimeData[appId].logs.push(log);
|
|
|
|
@ -168,6 +186,7 @@ export const {
|
|
|
|
updateNodeStatus,
|
|
|
|
updateNodeStatus,
|
|
|
|
resetNodeStatus,
|
|
|
|
resetNodeStatus,
|
|
|
|
updateIsRunning,
|
|
|
|
updateIsRunning,
|
|
|
|
|
|
|
|
updateRuntimeId,
|
|
|
|
addRuntimeLog,
|
|
|
|
addRuntimeLog,
|
|
|
|
clearRuntimeLogs
|
|
|
|
clearRuntimeLogs
|
|
|
|
} = ideContainerSlice.actions;
|
|
|
|
} = ideContainerSlice.actions;
|
|
|
|
|