Commit 4a0bef4a by Liu

fix:工单创建会话参数值

parent 0a39d2a1
...@@ -12,7 +12,7 @@ export function fetchTacticsConversationPage<T>(data: T) { ...@@ -12,7 +12,7 @@ export function fetchTacticsConversationPage<T>(data: T) {
* 创建问答功能会话 * 创建问答功能会话
*/ */
export function fetchCreateTacticsConversation<T>(data: T) { export function fetchCreateTacticsConversation<T>(data: T) {
return http.post('/conversation/api/conversation/mobile/v1/create_conversation', data) return http.post('/conversation/api/conversation/mobile/v1/get_user_conversation_session', data)
} }
/** /**
...@@ -30,12 +30,3 @@ export function fetchDeleteTacticsConversation(conversationIdList: string[]) { ...@@ -30,12 +30,3 @@ export function fetchDeleteTacticsConversation(conversationIdList: string[]) {
conversationIdList, conversationIdList,
}) })
} }
/**
* 清空记录 接口
* @params
* conversationIdList: 会话id (只传一个)
*/
// export function deleteUserConversation(data: any) {
// return http.post('/api/conversation/mobile/v1/delete_user_conversation', data)
// }
...@@ -266,6 +266,7 @@ const ChatEditorBase: React.FC<ChatEditorProps & WithAuthProps> = ({ checkAuth, ...@@ -266,6 +266,7 @@ const ChatEditorBase: React.FC<ChatEditorProps & WithAuthProps> = ({ checkAuth,
const conversationId = res.data.conversationId const conversationId = res.data.conversationId
// 使用获取到的会话ID调用历史会话 // 使用获取到的会话ID调用历史会话
const qaRes = await fetchUserQaRecordPage(conversationId, tool.toolId) const qaRes = await fetchUserQaRecordPage(conversationId, tool.toolId)
console.log('qaRes chatEditor11111', qaRes)
// 通过自定义事件将历史记录数据传递给父组件进行渲染 // 通过自定义事件将历史记录数据传递给父组件进行渲染
window.dispatchEvent(new CustomEvent('toolHistoryLoaded', { window.dispatchEvent(new CustomEvent('toolHistoryLoaded', {
detail: { detail: {
......
...@@ -103,7 +103,7 @@ export const Chat: React.FC = () => { ...@@ -103,7 +103,7 @@ export const Chat: React.FC = () => {
useEffect(() => { useEffect(() => {
if (!debugInfo.href && !debugInfo.sessionToolId) if (!debugInfo.href && !debugInfo.sessionToolId)
return return
// eslint-disable-next-line no-console
console.debug('[Chat] 当前链接 / 缓存 toolId:', debugInfo) console.debug('[Chat] 当前链接 / 缓存 toolId:', debugInfo)
}, [debugInfo]) }, [debugInfo])
...@@ -264,9 +264,8 @@ export const Chat: React.FC = () => { ...@@ -264,9 +264,8 @@ export const Chat: React.FC = () => {
// 正常的stream数据 // 正常的stream数据
if (msg?.type === 'DATA' && msg?.content?.code === '00000000') { if (msg?.type === 'DATA' && msg?.content?.code === '00000000') {
// eslint-disable-next-line no-console
console.log('========================流式输出====================', msg) console.log('========================流式输出====================', msg)
// eslint-disable-next-line no-console
console.log('========================流式输出字符串====================', msg.content?.data) console.log('========================流式输出字符串====================', msg.content?.data)
handleStreamMesageData(msg, question) handleStreamMesageData(msg, question)
} }
...@@ -293,6 +292,7 @@ export const Chat: React.FC = () => { ...@@ -293,6 +292,7 @@ export const Chat: React.FC = () => {
// 检测是否从收藏页返回 // 检测是否从收藏页返回
const fromCollect = location.state?.fromCollect const fromCollect = location.state?.fromCollect
const res = await fetchUserQaRecordPage(conversationId, toolId || '') const res = await fetchUserQaRecordPage(conversationId, toolId || '')
console.log('qaRes chatEditor2222222', res)
const qaRecords = res.data || [] const qaRecords = res.data || []
const messages = [{ role: 'system' } as ChatRecord, ...processApiResponse(qaRecords)] const messages = [{ role: 'system' } as ChatRecord, ...processApiResponse(qaRecords)]
// 处理历史记录中的参考文档标记 // 处理历史记录中的参考文档标记
......
...@@ -23,13 +23,13 @@ import ScrollBtoIcon from '@/assets/svg/scrollBto.svg?react' ...@@ -23,13 +23,13 @@ import ScrollBtoIcon from '@/assets/svg/scrollBto.svg?react'
import { setIsAsking } from '@/store/chatSlice' import { setIsAsking } from '@/store/chatSlice'
import SdreamLoading from '@/components/SdreamLoading' import SdreamLoading from '@/components/SdreamLoading'
import useToast from '@/hooks/useToast' import useToast from '@/hooks/useToast'
import { safeLocalStorageGetItem } from '@/lib/utils'
export const TacticsChat: React.FC = () => { export const TacticsChat: React.FC = () => {
const { id } = useParams<{ id: string }>() const { id } = useParams<{ id: string }>()
const location = useLocation() const location = useLocation()
const navigate = useNavigate() const navigate = useNavigate()
const logFullUrl = useCallback((reason?: string) => { const logFullUrl = useCallback((reason?: string) => {
// eslint-disable-next-line no-console
console.log('[TacticsChat] full url snapshot', { console.log('[TacticsChat] full url snapshot', {
reason, reason,
href: window.location.href, href: window.location.href,
...@@ -121,9 +121,23 @@ export const TacticsChat: React.FC = () => { ...@@ -121,9 +121,23 @@ export const TacticsChat: React.FC = () => {
// 仅用于创建会话的额外参数(create_conversation) // 仅用于创建会话的额外参数(create_conversation)
const getConversationExtra = useCallback(() => { const getConversationExtra = useCallback(() => {
if (orderMeta) { if (orderMeta) {
// 从 localStorage 读取 userName
const userNameFromStorage = safeLocalStorageGetItem('__USER_NAME__')
let userName = ''
if (userNameFromStorage) {
try {
// useLocalStorageState 会将值序列化为 JSON,需要解析
const parsed = JSON.parse(userNameFromStorage)
userName = parsed || userNameFromStorage
}
catch {
// 如果不是 JSON 格式,直接使用原始值
userName = userNameFromStorage
}
}
return { return {
busiType: '02', busiType: '02',
// from=order 场景下,不传 busiId busiId: userName, // 如果 userName 不存在,使用默认值 '8'
} as Partial<any> } as Partial<any>
} }
if (userMeta?.place === 'user') { if (userMeta?.place === 'user') {
...@@ -200,7 +214,7 @@ export const TacticsChat: React.FC = () => { ...@@ -200,7 +214,7 @@ export const TacticsChat: React.FC = () => {
break break
} }
} }
// eslint-disable-next-line no-console
console.log('[TacticsChat] handleStreamMesageData', { console.log('[TacticsChat] handleStreamMesageData', {
lastAiIndex, lastAiIndex,
itemsLength: newItems.length, itemsLength: newItems.length,
...@@ -233,7 +247,7 @@ export const TacticsChat: React.FC = () => { ...@@ -233,7 +247,7 @@ export const TacticsChat: React.FC = () => {
}, },
], ],
} }
// eslint-disable-next-line no-console
console.log('[TacticsChat] handleStreamMesageData:updated', { console.log('[TacticsChat] handleStreamMesageData:updated', {
filteredAnswer, filteredAnswer,
answerList: newItems[lastAiIndex].answerList, answerList: newItems[lastAiIndex].answerList,
...@@ -436,7 +450,6 @@ export const TacticsChat: React.FC = () => { ...@@ -436,7 +450,6 @@ export const TacticsChat: React.FC = () => {
fetchUrl, fetchUrl,
requestBody, requestBody,
(msg) => { (msg) => {
// eslint-disable-next-line no-console
console.log('[TacticsChat] handleSubmitQuestion:onMessage', msg) console.log('[TacticsChat] handleSubmitQuestion:onMessage', msg)
// 检查是否已被取消 // 检查是否已被取消
if (abortControllerRef.current?.signal.aborted) { if (abortControllerRef.current?.signal.aborted) {
...@@ -457,9 +470,8 @@ export const TacticsChat: React.FC = () => { ...@@ -457,9 +470,8 @@ export const TacticsChat: React.FC = () => {
// 正常的stream数据 // 正常的stream数据
if (msg?.type === 'DATA' && msg?.content?.code === '00000000') { if (msg?.type === 'DATA' && msg?.content?.code === '00000000') {
// eslint-disable-next-line no-console
console.log('========================流式输出====================', msg) console.log('========================流式输出====================', msg)
// eslint-disable-next-line no-console
console.log('========================流式输出字符串====================', msg.content?.data) console.log('========================流式输出字符串====================', msg.content?.data)
handleStreamMesageData(msg, question || '') handleStreamMesageData(msg, question || '')
} }
...@@ -593,7 +605,6 @@ export const TacticsChat: React.FC = () => { ...@@ -593,7 +605,6 @@ export const TacticsChat: React.FC = () => {
const handleReanalyze = useCallback(async () => { const handleReanalyze = useCallback(async () => {
// 正在回答或尚未就绪时不触发重新分析 // 正在回答或尚未就绪时不触发重新分析
if (!currentIdRef.current || isLoading || isAsking) { if (!currentIdRef.current || isLoading || isAsking) {
// eslint-disable-next-line no-console
console.log('[TacticsChat] handleReanalyze blocked', { console.log('[TacticsChat] handleReanalyze blocked', {
currentId: currentIdRef.current, currentId: currentIdRef.current,
isLoading, isLoading,
...@@ -790,7 +801,6 @@ export const TacticsChat: React.FC = () => { ...@@ -790,7 +801,6 @@ export const TacticsChat: React.FC = () => {
// 处理shouldSendQuestion的变化 - 自动发送问题 // 处理shouldSendQuestion的变化 - 自动发送问题
useEffect(() => { useEffect(() => {
// eslint-disable-next-line no-console
console.log('[TacticsChat] autoSend check', { console.log('[TacticsChat] autoSend check', {
shouldSendQuestion, shouldSendQuestion,
currentId: currentIdRef.current, currentId: currentIdRef.current,
...@@ -1034,7 +1044,6 @@ export const TacticsChat: React.FC = () => { ...@@ -1034,7 +1044,6 @@ export const TacticsChat: React.FC = () => {
</div> </div>
<TacticsChatEditor <TacticsChatEditor
onSubmit={(question) => { onSubmit={(question) => {
// eslint-disable-next-line no-console
console.log('[TacticsChat] onSubmit wrapper', { console.log('[TacticsChat] onSubmit wrapper', {
question, question,
currentId: currentIdRef.current, currentId: currentIdRef.current,
......
...@@ -63,6 +63,10 @@ export const Home: React.FC = () => { ...@@ -63,6 +63,10 @@ export const Home: React.FC = () => {
defaultValue: '', defaultValue: '',
}) })
const [_userName, setUserName] = useLocalStorageState<string | undefined>('__USER_NAME__', {
defaultValue: '',
})
const _initConversation = async () => { const _initConversation = async () => {
const fromCollect = location.state?.fromCollect const fromCollect = location.state?.fromCollect
// 只有在访问首页时才处理会话,如果已经在聊天页面则不处理 // 只有在访问首页时才处理会话,如果已经在聊天页面则不处理
...@@ -128,6 +132,7 @@ export const Home: React.FC = () => { ...@@ -128,6 +132,7 @@ export const Home: React.FC = () => {
// 获取历史记录 // 获取历史记录
await fetchUserQaRecordPage(conversationId, toolId || undefined) await fetchUserQaRecordPage(conversationId, toolId || undefined)
console.log('qaRes homeNew333333', res)
// 历史记录会在 Chat 页面自动渲染,这里只负责获取 // 历史记录会在 Chat 页面自动渲染,这里只负责获取
} }
} }
...@@ -283,7 +288,9 @@ export const Home: React.FC = () => { ...@@ -283,7 +288,9 @@ export const Home: React.FC = () => {
window.history.replaceState({}, '', currentUrl.toString()) window.history.replaceState({}, '', currentUrl.toString())
} }
setToken(res.data.token) setToken(res.data.token)
// 主动触发 storage 事件,确保其他组件能监听到变化 if (res.data.userName) {
setUserName(res.data.userName)
}
window.dispatchEvent( window.dispatchEvent(
new StorageEvent('storage', { new StorageEvent('storage', {
key: '__TOKEN__', key: '__TOKEN__',
...@@ -335,6 +342,9 @@ export const Home: React.FC = () => { ...@@ -335,6 +342,9 @@ export const Home: React.FC = () => {
window.history.replaceState({}, '', currentUrl.toString()) window.history.replaceState({}, '', currentUrl.toString())
} }
setToken(res.data.token) setToken(res.data.token)
if (res.data.userName) {
setUserName(res.data.userName)
}
// 主动触发 storage 事件,确保其他组件能监听到变化 // 主动触发 storage 事件,确保其他组件能监听到变化
window.dispatchEvent( window.dispatchEvent(
new StorageEvent('storage', { new StorageEvent('storage', {
...@@ -354,7 +364,7 @@ export const Home: React.FC = () => { ...@@ -354,7 +364,7 @@ export const Home: React.FC = () => {
} }
} }
} }
}, [setToken, dispatch]) }, [setToken, setUserName, dispatch])
// 监听路由参数变化,提取 userRoles(确保路由参数被正确解析) // 监听路由参数变化,提取 userRoles(确保路由参数被正确解析)
useEffect(() => { useEffect(() => {
...@@ -363,7 +373,7 @@ export const Home: React.FC = () => { ...@@ -363,7 +373,7 @@ export const Home: React.FC = () => {
useEffect(() => { useEffect(() => {
login() login()
// eslint-disable-next-line no-console
console.log('login useEffect11111', token) console.log('login useEffect11111', token)
}, []) // 依赖数组为空,只在组件挂载时执行一次 }, []) // 依赖数组为空,只在组件挂载时执行一次
......
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