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