diff --git a/projects/app/src/pageComponents/app/detail/Logs/index.tsx b/projects/app/src/pageComponents/app/detail/Logs/index.tsx index f62fa7b28..e84440ae0 100644 --- a/projects/app/src/pageComponents/app/detail/Logs/index.tsx +++ b/projects/app/src/pageComponents/app/detail/Logs/index.tsx @@ -1,4 +1,4 @@ -import React, { useMemo, useState } from 'react'; +import React, { useEffect, useMemo, useState } from 'react'; import { Flex, Box, @@ -35,6 +35,7 @@ import SearchInput from '@fastgpt/web/components/common/Input/SearchInput'; import PopoverConfirm from '@fastgpt/web/components/common/MyPopover/PopoverConfirm'; import { useRequest2 } from '@fastgpt/web/hooks/useRequest'; import { downloadFetch } from '@/web/common/system/utils'; +import { debounce } from 'lodash'; const DetailLogsModal = dynamic(() => import('./DetailLogsModal')); @@ -50,6 +51,15 @@ const Logs = () => { const [detailLogsId, setDetailLogsId] = useState(); const [logTitle, setLogTitle] = useState(); + const [inputValue, setInputValue] = useState(''); + + useEffect(() => { + const timer = setTimeout(() => { + setLogTitle(inputValue); + }, 500); + + return () => clearTimeout(timer); + }, [inputValue]); const { value: chatSources, @@ -162,8 +172,8 @@ const Logs = () => { setLogTitle(e.target.value)} + value={inputValue} + onChange={(e) => setInputValue(e.target.value)} /> diff --git a/projects/app/src/pageComponents/app/detail/SimpleApp/index.tsx b/projects/app/src/pageComponents/app/detail/SimpleApp/index.tsx index af48c8882..93ba84504 100644 --- a/projects/app/src/pageComponents/app/detail/SimpleApp/index.tsx +++ b/projects/app/src/pageComponents/app/detail/SimpleApp/index.tsx @@ -121,7 +121,7 @@ const SimpleEdit = () => { {currentTab === TabEnum.appEdit ? ( ) : ( - + {currentTab === TabEnum.publish && } {currentTab === TabEnum.logs && } diff --git a/projects/app/src/pages/api/core/app/exportChatLogs.ts b/projects/app/src/pages/api/core/app/exportChatLogs.ts index b44f0d273..d561431c6 100644 --- a/projects/app/src/pages/api/core/app/exportChatLogs.ts +++ b/projects/app/src/pages/api/core/app/exportChatLogs.ts @@ -229,7 +229,7 @@ async function handler(req: ApiRequestProps, res: NextAp ); let chatDetailsStr = ''; try { - chatDetailsStr = JSON.stringify(chatDetails); + chatDetailsStr = JSON.stringify(chatDetails).replace(/"/g, '""').replace(/\n/g, '\\n'); } catch (e) { addLog.error(`export chat logs error`, e); } @@ -252,6 +252,6 @@ async function handler(req: ApiRequestProps, res: NextAp } export default NextAPI( - useIPFrequencyLimit({ id: 'export-chat-logs', seconds: 2, limit: 1, force: true }), + useIPFrequencyLimit({ id: 'export-chat-logs', seconds: 60, limit: 1, force: true }), handler );