Commit d397d34e by Liu

fix:提问接口逻辑

parent 6bc4c016
export const envConf = {
dev: {
apiUrl: '/api',
proxyUrl: 'http://82.156.138.187:19002/dev-sdream-api',
proxyUrl: 'http://43.143.240.58:19002/dev-sdream-api',
},
sit: {
apiUrl: '/api',
proxyUrl: 'http://82.156.138.187:19002/dev-sdream-api',
proxyUrl: 'http://43.143.240.58:19002/dev-sdream-api',
},
prod: {
apiUrl: 'http://82.156.138.187:19002/dev-sdream-api',
proxyUrl: 'http://82.156.138.187:19002/dev-sdream-api',
apiUrl: 'http://43.143.240.58:19002/dev-sdream-api',
proxyUrl: 'http://43.143.240.58:19002/dev-sdream-api',
},
}
......
......@@ -241,7 +241,7 @@ export const TacticsChat: React.FC = () => {
question: string | undefined,
productCode?: string,
toolId?: string,
extra?: { busiType?: string, recordType?: string, includeQuestion?: boolean },
extra?: { busiType?: string, recordType?: string, includeQuestion?: boolean, includeTacticsMeta?: boolean },
) => {
// 优先读取缓存中的 toolId,再回退到传参
const sessionToolId = sessionStorage.getItem('currentToolId') ?? undefined
......@@ -292,6 +292,7 @@ export const TacticsChat: React.FC = () => {
fetchUrl = proxy + fetchUrl
const shouldSendQuestion = extra?.includeQuestion !== false
const shouldIncludeTacticsMeta = extra?.includeTacticsMeta !== false
// 去除缓存中可能存在的 from 字段,避免作为参数传递
const { from: _omitFrom, ...safeTacticsMeta } = tacticsMeta || {}
......@@ -301,10 +302,12 @@ export const TacticsChat: React.FC = () => {
stream: true,
productCode,
toolId: resolvedToolId,
...safeTacticsMeta,
...(extra?.busiType ? { busiType: extra.busiType } : {}),
...(extra?.recordType ? { recordType: extra.recordType } : {}),
}
if (shouldIncludeTacticsMeta) {
Object.assign(requestBody, safeTacticsMeta)
}
if (shouldSendQuestion) {
requestBody.question = question ?? ''
}
......@@ -471,7 +474,7 @@ export const TacticsChat: React.FC = () => {
login()
}, [login])
// 进入会话后自动触发一次提交(不带 question),busiType 02 / recordType A02
// 进入会话后自动触发一次提交,默认 question 为“策略分析”,busiType 02 / recordType A02
const hasAutoSubmittedRef = useRef(false)
useEffect(() => {
if (id) {
......@@ -486,7 +489,7 @@ export const TacticsChat: React.FC = () => {
'策略分析',
undefined,
undefined,
{ busiType: '02', recordType: 'A02', includeQuestion: false },
{ busiType: '02', recordType: 'A02', includeQuestion: true, includeTacticsMeta: true },
)
}
}, [isLoading, handleSubmitQuestion, id])
......@@ -667,7 +670,7 @@ export const TacticsChat: React.FC = () => {
question,
undefined,
undefined,
{ busiType: '02', recordType: 'A02', includeQuestion: true },
{ busiType: '02', recordType: 'A01', includeQuestion: true, includeTacticsMeta: false },
)
}}
placeholders={['']}
......
......@@ -2,7 +2,7 @@
import type { PayloadAction } from '@reduxjs/toolkit'
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit'
import type { TacticsConversation, TacticsConversationState } from '@/types/tactics'
import { fetchCreateTacticsConversation, fetchDeleteTacticsConversation, fetchTacticsConversationPage } from '@/api/tactics'
import { fetchCreateTacticsConversation, fetchDeleteTacticsConversation } from '@/api/tactics'
const initialState: TacticsConversationState = {
conversations: [],
......@@ -13,31 +13,11 @@ const initialState: TacticsConversationState = {
shouldSendQuestion: '',
}
// 处理会话数据(简化版,可根据实际需求调整)
function processTacticsConversationData(records: any[]): TacticsConversation[] {
return records.map(record => ({
id: record.conversationId || record.id,
title: record.title || record.conversationTitle,
createdAt: record.createTime || record.createdAt,
updatedAt: record.updateTime || record.updatedAt,
}))
}
export const fetchTacticsConversations = createAsyncThunk(
'tactics/fetchTacticsConversations',
async (_, { rejectWithValue }) => {
try {
const response = await fetchTacticsConversationPage({
pageNum: 1,
pageSize: 100,
})
const records = response.data?.records || []
return processTacticsConversationData(records)
}
catch (error) {
console.error('Failed to fetch tactics conversations:', error)
return rejectWithValue('Failed to fetch tactics conversations')
}
async () => {
// 该页面内无需调用远程接口,保持 thunk 以兼容现有调用
return [] as TacticsConversation[]
},
)
......
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