Commit 13311e18 by Liu

fix:欢迎语更换时机

parent 8537a077
......@@ -538,6 +538,8 @@ export const TacticsChat: React.FC = () => {
/** 获取qa记录 */
const getUserQaRecordPage = useCallback(async (conversationId: string) => {
setIsLoading(true)
// 在异步操作开始前保存 createdFromClearRef 的值,避免在异步过程中被其他逻辑修改
const wasCreatedFromClear = createdFromClearRef.current
try {
const res = await fetchTacticsQaRecordPage(conversationId)
const qaRecords = res.data || []
......@@ -574,8 +576,11 @@ export const TacticsChat: React.FC = () => {
}
return processedMessages
})
// 如果是清除记录创建的新会话且没有历史记录,保持 hasCleared 为 true
setHasCleared(createdFromClearRef.current && !hasHistoryFlag)
// 统一管理 hasCleared 状态:
// 1. 如果是清除记录创建的新会话且没有历史记录,保持 hasCleared 为 true
// 2. 其他情况都设置为 false
// 使用保存的值而不是 ref.current,避免异步过程中的时序问题
setHasCleared(wasCreatedFromClear && !hasHistoryFlag)
setHistoryDividers([])
setHasHistory(hasHistoryFlag)
}
......@@ -593,7 +598,8 @@ export const TacticsChat: React.FC = () => {
return [{ role: 'system' } as ChatRecord]
})
// 如果是清除记录创建的新会话,保持 hasCleared 为 true
setHasCleared(createdFromClearRef.current)
// 使用保存的值而不是 ref.current,避免异步过程中的时序问题
setHasCleared(wasCreatedFromClear)
setHistoryDividers([])
// 拉取失败时视为无历史记录,后续可按需触发自动提问
setHasHistory(false)
......@@ -707,6 +713,7 @@ export const TacticsChat: React.FC = () => {
// 每次切换会话时重置历史标记,等待新会话的历史查询结果
setHasHistory(null)
setHistoryDividers([])
// hasCleared 状态由 getUserQaRecordPage 统一管理,避免时序问题
getUserQaRecordPage(id)
}
else {
......@@ -715,6 +722,7 @@ export const TacticsChat: React.FC = () => {
setHistoryDividers([])
setIsLoading(false)
setHasHistory(false)
setHasCleared(false)
}
}, [id, getUserQaRecordPage, dispatch])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment