feat: add the text document

This commit is contained in:
shiweisong.ssw 2023-06-29 09:53:30 +08:00
parent ad7de1326a
commit 3dafb7b5c7
2 changed files with 110 additions and 2 deletions

View File

@ -10,6 +10,7 @@ import {
Box, Box,
Stack, Stack,
Input, Input,
Textarea,
Chip, Chip,
styled styled
} from '@/lib/mui' } from '@/lib/mui'
@ -61,6 +62,8 @@ const Documents = () => {
const [documents, setDocuments] = useState<any>([]) const [documents, setDocuments] = useState<any>([])
const [webPageUrl, setWebPageUrl] = useState<string>('') const [webPageUrl, setWebPageUrl] = useState<string>('')
const [documentName, setDocumentName] = useState<any>('') const [documentName, setDocumentName] = useState<any>('')
const [textSource, setTextSource] = useState<string>('');
const [text, setText] = useState<string>('');
const [originFileObj, setOriginFileObj] = useState<any>(null) const [originFileObj, setOriginFileObj] = useState<any>(null)
const props: UploadProps = { const props: UploadProps = {
name: 'file', name: 'file',
@ -293,7 +296,20 @@ const Documents = () => {
</Dragger> </Dragger>
</> </>
) : ( ) : (
<></> <>
Source:
<Input
placeholder="Please input the source"
onChange={(e: any) => setTextSource(e.target.value)}
sx={{ marginBottom: '20px' }}
/>
Text:
<Textarea
onChange={(e: any) => setText(e.target.value)}
minRows={4}
sx={{ marginBottom: '20px' }}
/>
</>
)} )}
</Box> </Box>
<Button <Button
@ -379,6 +395,51 @@ const Documents = () => {
} else { } else {
message.error(data.err_msg || 'failed') message.error(data.err_msg || 'failed')
} }
} else {
if (textSource === '') {
message.error('Please input the source')
return
}
if (text === '') {
message.error('Please input the text')
return
}
const res = await fetch(
`http://localhost:8000/knowledge/${spaceName}/document/add`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
doc_name: documentName,
source: textSource,
content: text,
doc_type: 'TEXT'
})
}
)
const data = await res.json()
if (data.success) {
message.success('success')
setIsAddDocumentModalShow(false)
const res = await fetch(
`http://localhost:8000/knowledge/${spaceName}/document/list`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({})
}
)
const data = await res.json()
if (data.success) {
setDocuments(data.data)
}
} else {
message.error(data.err_msg || 'failed')
}
} }
}} }}
> >

View File

@ -13,6 +13,7 @@ import {
Stack, Stack,
Box, Box,
Input, Input,
Textarea,
styled styled
} from '@/lib/mui' } from '@/lib/mui'
@ -62,6 +63,8 @@ const Index = () => {
const [knowledgeSpaceName, setKnowledgeSpaceName] = useState<string>('') const [knowledgeSpaceName, setKnowledgeSpaceName] = useState<string>('')
const [webPageUrl, setWebPageUrl] = useState<string>('') const [webPageUrl, setWebPageUrl] = useState<string>('')
const [documentName, setDocumentName] = useState<any>('') const [documentName, setDocumentName] = useState<any>('')
const [textSource, setTextSource] = useState<string>('');
const [text, setText] = useState<string>('');
const [originFileObj, setOriginFileObj] = useState<any>(null) const [originFileObj, setOriginFileObj] = useState<any>(null)
const props: UploadProps = { const props: UploadProps = {
name: 'file', name: 'file',
@ -304,7 +307,20 @@ const Index = () => {
</Dragger> </Dragger>
</> </>
) : ( ) : (
<></> <>
Source:
<Input
placeholder="Please input the source"
onChange={(e: any) => setTextSource(e.target.value)}
sx={{ marginBottom: '20px' }}
/>
Text:
<Textarea
onChange={(e: any) => setText(e.target.value)}
minRows={4}
sx={{ marginBottom: '20px' }}
/>
</>
)} )}
</Box> </Box>
<Button <Button
@ -362,6 +378,37 @@ const Index = () => {
} else { } else {
message.error(data.err_msg || 'failed') message.error(data.err_msg || 'failed')
} }
} else {
if (textSource === '') {
message.error('Please input the source')
return
}
if (text === '') {
message.error('Please input the text')
return
}
const res = await fetch(
`http://localhost:8000/knowledge/${knowledgeSpaceName}/document/add`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
doc_name: documentName,
source: textSource,
content: text,
doc_type: 'TEXT'
})
}
)
const data = await res.json()
if (data.success) {
message.success('success')
setIsAddKnowledgeSpaceModalShow(false)
} else {
message.error(data.err_msg || 'failed')
}
} }
}} }}
> >