首页删除以真实接口为准:会话/工作空间删除成功才移除并刷新,删除接口改 DELETE
- deleteSessionV2 请求方式 post → delete(/ai-agent/session/delete) - 工作空间删除:缺少删除信息提示不可删;接口失败保留数据;成功才移除本地并刷新工作空间树 - 会话记录删除:已认领后端号的会话接口失败保留数据且不打断连接;成功才 teardown/关闭并刷新列表; 未认领的本地虚拟会话直接本地删除 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -48,7 +48,7 @@ export function getSessionResults(sessionId: string, params?: Record<string, any
|
||||
export function deleteSessionV2(sessionId: string, requestOptions?: RequestOptions) {
|
||||
return request({
|
||||
url: '/ai-agent/session/delete',
|
||||
method: 'post',
|
||||
method: 'delete',
|
||||
data: { sessionId },
|
||||
requestOptions,
|
||||
});
|
||||
|
||||
+21
-12
@@ -273,16 +273,21 @@ const handleDeleteNode = async (data: TreeNode) => {
|
||||
} catch {
|
||||
return;
|
||||
}
|
||||
// 调后端接口删除(工作空间结果:走 session 域独立接口)
|
||||
if (data.backendId && data.fileUrl) {
|
||||
try {
|
||||
await deleteWorkspaceResult({ id: data.backendId, content: data.fileUrl });
|
||||
} catch {
|
||||
// 后端已提示错误,继续本地删除
|
||||
}
|
||||
// 删除以真实接口为准:成功才移除本地并刷新;失败保留数据(后端已提示错误),不本地删
|
||||
if (!data.backendId || !data.fileUrl) {
|
||||
ElMessage.warning('缺少删除信息,无法删除');
|
||||
return;
|
||||
}
|
||||
try {
|
||||
await deleteWorkspaceResult({ id: data.backendId, content: data.fileUrl });
|
||||
} catch {
|
||||
// 后端已提示错误,保留本地数据,不刷新
|
||||
return;
|
||||
}
|
||||
removeNode(treeNodes.value, data.id);
|
||||
ElMessage.success('已删除');
|
||||
// 删除后重新拉取工作空间树,确保与后端一致(后端按流程记录删除,粒度可能大于单个文件)
|
||||
loadWorkspaceTree();
|
||||
};
|
||||
|
||||
const removeNode = (nodes: TreeNode[], targetId: string): boolean => {
|
||||
@@ -1681,17 +1686,19 @@ const handleDeleteHistory = async (id: string) => {
|
||||
} catch {
|
||||
return;
|
||||
}
|
||||
// 删除会话:终止其进行中的轮(若有)并关闭其连接(后台执行一并放弃)
|
||||
teardownRound(id);
|
||||
closeSocket(id);
|
||||
// 已认领后端正式号的会话才调后端删除接口;未认领的本地临时会话后端无记录,跳过删除
|
||||
// 删除以真实接口为准:已认领后端正式号的会话先调后端删除,失败保留数据(后端已提示错误),不本地删;
|
||||
// 未认领的本地临时会话(virtual_ 开头)后端无记录,直接本地删除
|
||||
if (hasBackendSessionId(id)) {
|
||||
try {
|
||||
await deleteSessionV2(id);
|
||||
} catch {
|
||||
// 后端已提示错误,继续本地删除
|
||||
// 后端已提示错误,保留本地数据,不刷新
|
||||
return;
|
||||
}
|
||||
}
|
||||
// 删除会话:终止其进行中的轮(若有)并关闭其连接(后台执行一并放弃)
|
||||
teardownRound(id);
|
||||
closeSocket(id);
|
||||
const idx = historyList.value.findIndex((item) => item.id === id);
|
||||
if (idx < 0) return;
|
||||
historyList.value.splice(idx, 1);
|
||||
@@ -1708,6 +1715,8 @@ const handleDeleteHistory = async (id: string) => {
|
||||
}
|
||||
}
|
||||
ElMessage.success('已删除会话');
|
||||
// 删除后重新拉取会话记录列表,确保与后端一致
|
||||
loadSessionHistory();
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
Reference in New Issue
Block a user