From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001 From: wwf <yearningwang@iqtogether.com> Date: 星期三, 04 六月 2025 15:17:49 +0800 Subject: [PATCH] 初始化 --- app/components/share/text-generation/result/index.tsx | 88 +++++++++++++++----------------------------- 1 files changed, 30 insertions(+), 58 deletions(-) diff --git a/app/components/share/text-generation/result/index.tsx b/app/components/share/text-generation/result/index.tsx index 97a3a77..cd4ed5d 100644 --- a/app/components/share/text-generation/result/index.tsx +++ b/app/components/share/text-generation/result/index.tsx @@ -4,6 +4,7 @@ import { useBoolean } from 'ahooks' import { t } from 'i18next' import produce from 'immer' +import cn from '@/utils/classnames' import TextGenerationRes from '@/app/components/app/text-generate/item' import NoData from '@/app/components/share/text-generation/no-data' import Toast from '@/app/components/base/toast' @@ -12,6 +13,7 @@ import Loading from '@/app/components/base/loading' import type { PromptConfig } from '@/models/debug' import type { InstalledApp } from '@/models/explore' +import type { ModerationService } from '@/models/common' import { TransferMethod, type VisionFile, type VisionSettings } from '@/types/app' import { NodeRunningStatus, WorkflowRunningStatus } from '@/app/components/workflow/types' import type { WorkflowProcess } from '@/app/components/base/chat/types' @@ -41,10 +43,11 @@ handleSaveMessage: (messageId: string) => void taskId?: number onCompleted: (completionRes: string, taskId?: number, success?: boolean) => void + enableModeration?: boolean + moderationService?: (text: string) => ReturnType<ModerationService> visionConfig: VisionSettings completionFiles: VisionFile[] siteInfo: SiteInfo | null - onRunStart: () => void } const Result: FC<IResultProps> = ({ @@ -69,7 +72,6 @@ visionConfig, completionFiles, siteInfo, - onRunStart, }) => { const [isResponding, { setTrue: setRespondingTrue, setFalse: setRespondingFalse }] = useBoolean(false) useEffect(() => { @@ -181,10 +183,8 @@ let res: string[] = [] let tempMessageId = '' - if (!isPC) { + if (!isPC) onShowRes() - onRunStart() - } setRespondingTrue() let isEnd = false @@ -218,7 +218,7 @@ ...data, status: NodeRunningStatus.Running, expand: true, - }) + } as any) })) }, onIterationNext: () => { @@ -237,59 +237,24 @@ draft.tracing[iterationsIndex] = { ...data, expand: !!data.error, - } - })) - }, - onLoopStart: ({ data }) => { - setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => { - draft.expand = true - draft.tracing!.push({ - ...data, - status: NodeRunningStatus.Running, - expand: true, - }) - })) - }, - onLoopNext: () => { - setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => { - draft.expand = true - const loops = draft.tracing.find(item => item.node_id === data.node_id - && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id))! - loops?.details!.push([]) - })) - }, - onLoopFinish: ({ data }) => { - setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => { - draft.expand = true - const loopsIndex = draft.tracing.findIndex(item => item.node_id === data.node_id - && (item.execution_metadata?.parallel_id === data.execution_metadata?.parallel_id || item.parallel_id === data.execution_metadata?.parallel_id))! - draft.tracing[loopsIndex] = { - ...data, - expand: !!data.error, - } + } as any })) }, onNodeStarted: ({ data }) => { if (data.iteration_id) return - if (data.loop_id) - return - setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => { draft.expand = true draft.tracing!.push({ ...data, status: NodeRunningStatus.Running, expand: true, - }) + } as any) })) }, onNodeFinished: ({ data }) => { if (data.iteration_id) - return - - if (data.loop_id) return setWorkflowProcessData(produce(getWorkflowProcessData()!, (draft) => { @@ -302,7 +267,7 @@ : {}), ...data, expand: !!data.error, - } + } as any } })) }, @@ -410,6 +375,7 @@ <TextGenerationRes isWorkflow={isWorkflow} workflowProcessData={workflowProcessData} + className='mt-3' isError={isError} onRetry={handleSend} content={completionRes} @@ -432,11 +398,11 @@ ) return ( - <> + <div className={cn(isNoData && !isCallBatchAPI && 'h-full')}> {!isCallBatchAPI && !isWorkflow && ( (isResponding && !completionRes) ? ( - <div className='flex h-full w-full items-center justify-center'> + <div className='flex h-full w-full justify-center items-center'> <Loading type='area' /> </div>) : ( @@ -448,19 +414,25 @@ </> ) )} - {!isCallBatchAPI && isWorkflow && ( - (isResponding && !workflowProcessData) - ? ( - <div className='flex h-full w-full items-center justify-center'> - <Loading type='area' /> - </div> - ) - : !workflowProcessData - ? <NoData /> - : renderTextGenerationRes() + { + !isCallBatchAPI && isWorkflow && ( + (isResponding && !workflowProcessData) + ? ( + <div className='flex h-full w-full justify-center items-center'> + <Loading type='area' /> + </div> + ) + : !workflowProcessData + ? <NoData /> + : renderTextGenerationRes() + ) + } + {isCallBatchAPI && ( + <div className='mt-2'> + {renderTextGenerationRes()} + </div> )} - {isCallBatchAPI && renderTextGenerationRes()} - </> + </div> ) } export default React.memo(Result) -- Gitblit v1.8.0