UnisKB/ui/src/api/knowledge/document.ts

591 lines
12 KiB
TypeScript
Raw Normal View History

2025-06-09 11:47:23 +00:00
import { Result } from '@/request/Result'
import { get, post, del, put, exportExcel, exportFile } from '@/request/index'
import type { Ref } from 'vue'
import type { KeyValue } from '@/api/type/common'
import type { pageRequest } from '@/api/type/common'
2025-05-27 11:06:47 +00:00
2025-06-16 11:00:46 +00:00
import useStore from '@/stores'
const prefix: any = { _value: '/workspace/' }
Object.defineProperty(prefix, 'value', {
get: function () {
const { user } = useStore()
return this._value + user.getWorkspaceId() + '/knowledge'
},
})
2025-05-27 11:06:47 +00:00
/**
*
* @param knowledge_id,
* param {
2025-06-09 11:47:23 +00:00
" name": "string",
}
2025-05-27 11:06:47 +00:00
*/
2025-06-17 09:44:52 +00:00
const getDocumentPage: (
2025-05-27 11:06:47 +00:00
knowledge_id: string,
page: pageRequest,
param: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (knowledge_id, page, param, loading) => {
2025-05-27 11:06:47 +00:00
return get(
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/${page.current_page}/${page.page_size}`,
2025-05-27 11:06:47 +00:00
param,
loading,
)
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const getDocumentDetail: (knowledge_id: string, document_id: string) => Promise<Result<any>> = (
knowledge_id,
document_id,
2025-05-27 11:06:47 +00:00
) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}/${knowledge_id}/document/${document_id}`)
2025-05-27 11:06:47 +00:00
}
/**
*
* @param
2025-06-09 11:47:23 +00:00
* knowledge_id, document_id,
2025-05-27 11:06:47 +00:00
* {
2025-06-09 11:47:23 +00:00
"name": "string",
"is_active": true,
"meta": {}
2025-05-27 11:06:47 +00:00
}
*/
const putDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, data: any, loading) => {
2025-06-16 11:00:46 +00:00
return put(`${prefix.value}/${knowledge_id}/document/${document_id}`, data, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
*
2025-06-09 11:47:23 +00:00
* @param knowledge_id, document_id,
2025-05-27 11:06:47 +00:00
*/
const delDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, document_id, loading) => {
2025-06-16 11:00:46 +00:00
return del(`${prefix.value}/${knowledge_id}/document/${document_id}`, loading)
2025-05-27 11:06:47 +00:00
}
2025-06-09 11:47:23 +00:00
2025-05-27 11:06:47 +00:00
/**
2025-06-09 11:47:23 +00:00
*
2025-06-18 12:52:37 +00:00
* @param knowledge_id,
2025-06-09 11:47:23 +00:00
*{
"id_list": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"type": 0
}
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchCancelTask: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-18 12:52:37 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
2025-06-17 09:44:52 +00:00
return put(
2025-06-18 12:52:37 +00:00
`${prefix.value}/${knowledge_id}/document/batch_cancel_task`,
2025-06-17 09:44:52 +00:00
data,
undefined,
loading,
)
2025-05-27 11:06:47 +00:00
}
2025-06-09 11:47:23 +00:00
/**
*
* @param knowledge_id, document_id,
*/
const putCancelTask: (
knowledge_id: string,
document_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, document_id, data, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/${document_id}/cancel_task`,
2025-06-09 11:47:23 +00:00
data,
2025-05-27 11:06:47 +00:00
undefined,
loading,
)
}
2025-06-09 11:47:23 +00:00
2025-05-27 11:06:47 +00:00
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const getDownloadSourceFile: (knowledge_id: string, document_id: string) => Promise<Result<any>> = (
knowledge_id,
2025-05-27 11:06:47 +00:00
document_id,
) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}/${knowledge_id}/document/${document_id}/download_source_file`)
2025-06-09 11:47:23 +00:00
}
/**
*
* @param document_name
* @param knowledge_id id
* @param document_id id
* @param loading
* @returns
*/
const exportDocument: (
document_name: string,
knowledge_id: string,
document_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (document_name, knowledge_id, document_id, loading) => {
return exportExcel(
document_name + '.xlsx',
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/${document_id}/export`,
2025-06-09 11:47:23 +00:00
{},
loading,
)
}
/**
*
* @param document_name
* @param knowledge_id id
* @param document_id id
* @param loading
* @returns
*/
const exportDocumentZip: (
document_name: string,
knowledge_id: string,
document_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (document_name, knowledge_id, document_id, loading) => {
return exportFile(
document_name + '.zip',
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/${document_id}/export_zip`,
2025-06-09 11:47:23 +00:00
{},
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
*
* @param
2025-06-09 11:47:23 +00:00
* knowledge_id, document_id,
* {
"state_list": [
"string"
]
}
2025-05-27 11:06:47 +00:00
*/
const putDocumentRefresh: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
state_list: Array<string>,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, state_list, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/${document_id}/refresh`,
2025-06-09 11:47:23 +00:00
{ state_list },
2025-05-27 11:06:47 +00:00
undefined,
loading,
)
}
/**
* web
* @param
2025-06-09 11:47:23 +00:00
* knowledge_id, document_id,
2025-05-27 11:06:47 +00:00
*/
const putDocumentSync: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/${document_id}/sync`,
2025-05-27 11:06:47 +00:00
undefined,
undefined,
loading,
)
}
/**
2025-06-09 11:47:23 +00:00
*
* @param
{
"name": "string",
"paragraphs": [
{
"content": "string",
"title": "string",
"problem_list": [
{
"id": "string",
"content": "string"
}
],
"is_active": true
}
],
"source_file_id": string
}
2025-05-27 11:06:47 +00:00
*/
2025-06-16 12:18:01 +00:00
const putMulDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
2025-06-17 09:44:52 +00:00
return put(
`${prefix.value}/${knowledge_id}/document/batch_create`,
data,
{},
loading,
1000 * 60 * 5,
)
2025-05-27 11:06:47 +00:00
}
2025-06-09 11:47:23 +00:00
/**
*
* @param knowledge_id,
* {
"id_list": [String]
}
*/
const delMulDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return del(
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/bach_delete`,
2025-06-09 11:47:23 +00:00
undefined,
{ id_list: data },
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id,
{
"document_id_list": [
"string"
],
"model_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"prompt": "string",
"state_list": [
"string"
]
}
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchGenerateRelated: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
2025-06-17 09:44:52 +00:00
return put(
`${prefix.value}/${knowledge_id}/document/batch_generate_related`,
data,
undefined,
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id id
* @param data
* {id_list:[],hit_handling_method:'directly_return|optimization',directly_return_similarity}
* @param loading
* @returns
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchEditHitHandling: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
2025-06-17 09:44:52 +00:00
return put(
`${prefix.value}/${knowledge_id}/document/batch_hit_handling`,
data,
undefined,
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id id
* @param data
{
"id_list": [
"string"
],
"state_list": [
"string"
]
}
* @param loading
* @returns
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchRefresh: (
knowledge_id: string,
data: any,
stateList: Array<string>,
loading?: Ref<boolean>,
) => Promise<Result<boolean>> = (knowledge_id, data, stateList, loading) => {
return put(
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/batch_refresh`,
2025-06-09 11:47:23 +00:00
{ id_list: data, state_list: stateList },
undefined,
loading,
)
}
/**
*
* @param knowledge_id,
*/
const putMulSyncDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
2025-06-17 09:44:52 +00:00
return put(
`${prefix.value}/${knowledge_id}/document/batch_sync`,
{ id_list: data },
undefined,
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
*
2025-06-09 11:47:23 +00:00
* @param knowledge_id,target_knowledge_id,
2025-05-27 11:06:47 +00:00
*/
const putMigrateMulDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
target_knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, target_knowledge_id, data, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/document/migrate/${target_knowledge_id}`,
2025-05-27 11:06:47 +00:00
data,
undefined,
loading,
)
}
/**
2025-06-09 11:47:23 +00:00
* QA
* @param
* file
}
*/
const postQADocument: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
2025-06-16 11:00:46 +00:00
return post(`${prefix.value}/${knowledge_id}/document/qa`, data, undefined, loading)
2025-06-09 11:47:23 +00:00
}
/**
*
* @param file:file,limit:number,patterns:array,with_filter:boolean
*/
2025-06-17 09:44:52 +00:00
const postSplitDocument: (knowledge_id: string, data: any) => Promise<Result<any>> = (
knowledge_id,
data,
) => {
return post(
`${prefix.value}/${knowledge_id}/document/split`,
data,
undefined,
undefined,
1000 * 60 * 60,
)
2025-06-09 11:47:23 +00:00
}
/**
*
* @param loading
* @returns
*/
const listSplitPattern: (
2025-06-17 09:44:52 +00:00
knowledge_id: string,
2025-06-09 11:47:23 +00:00
loading?: Ref<boolean>,
2025-06-17 09:44:52 +00:00
) => Promise<Result<Array<KeyValue<string, string>>>> = (knowledge_id, loading) => {
return get(`${prefix.value}/${knowledge_id}/document/split_pattern`, {}, loading)
2025-06-09 11:47:23 +00:00
}
/**
*
* @param
* file
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const postTableDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
2025-06-16 11:00:46 +00:00
return post(`${prefix.value}/${knowledge_id}/document/table`, data, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
* QA
* @param fileName,type,
*/
const exportQATemplate: (fileName: string, type: string, loading?: Ref<boolean>) => void = (
fileName,
type,
loading,
) => {
2025-06-17 09:44:52 +00:00
return exportExcel(fileName, `/workspace/knowledge/document/template/export`, { type }, loading)
2025-05-27 11:06:47 +00:00
}
/**
* table
* @param fileName,type,
*/
const exportTableTemplate: (fileName: string, type: string, loading?: Ref<boolean>) => void = (
fileName,
type,
loading,
) => {
2025-06-17 09:44:52 +00:00
return exportExcel(
fileName,
`/workspace/knowledge/document/table_template/export`,
{ type },
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
* Web
* @param
* {
"source_url_list": [
"string"
],
"selector": "string"
}
}
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const postWebDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
2025-06-16 11:00:46 +00:00
return post(`${prefix.value}/${knowledge_id}/document/web`, data, undefined, loading)
2025-06-09 11:47:23 +00:00
}
2025-06-17 09:44:52 +00:00
/**
*
* @param
* {
"source_url_list": [
"string"
],
"selector": "string"
}
}
*/
const getLarkDocumentList: (
knowledge_id: string,
folder_token: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, folder_token, data, loading) => {
return post(
`${prefix.value}/lark/${knowledge_id}/${folder_token}/doc_list`,
data,
undefined,
loading,
)
2025-05-27 11:06:47 +00:00
}
2025-06-17 09:44:52 +00:00
/**
*
*/
2025-06-09 11:47:23 +00:00
const putLarkDocumentSync: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-16 11:00:46 +00:00
`${prefix.value}/lark/${knowledge_id}/document/${document_id}/sync`,
2025-06-09 11:47:23 +00:00
undefined,
2025-05-27 11:06:47 +00:00
undefined,
loading,
)
}
2025-06-17 09:44:52 +00:00
/**
*
*/
const putMulLarkSyncDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
2025-06-16 11:00:46 +00:00
return put(`${prefix.value}/lark/${knowledge_id}/_batch`, { id_list: data }, undefined, loading)
2025-05-27 11:06:47 +00:00
}
2025-06-17 09:44:52 +00:00
/**
*
*/
const importLarkDocument: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>
) => Promise<Result<Array<any>>> = (knowledge_id, data, loading) => {
return post(`${prefix.value}/lark/${knowledge_id}/import`, data, null, loading)
}
// todo
const getAllDocument: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
knowledge_id,
loading,
) => {
return get(`${prefix.value}/${knowledge_id}/document`, undefined, loading)
}
2025-05-27 11:06:47 +00:00
export default {
2025-06-17 09:44:52 +00:00
getDocumentPage,
2025-06-09 11:47:23 +00:00
getDocumentDetail,
2025-05-27 11:06:47 +00:00
putDocument,
delDocument,
2025-06-09 11:47:23 +00:00
putBatchCancelTask,
putCancelTask,
getDownloadSourceFile,
exportDocument,
exportDocumentZip,
2025-05-27 11:06:47 +00:00
putDocumentRefresh,
putDocumentSync,
2025-06-16 12:18:01 +00:00
putMulDocument,
2025-06-09 11:47:23 +00:00
delMulDocument,
putBatchGenerateRelated,
putBatchEditHitHandling,
putBatchRefresh,
putMulSyncDocument,
2025-05-27 11:06:47 +00:00
putMigrateMulDocument,
postQADocument,
2025-06-09 11:47:23 +00:00
postSplitDocument,
listSplitPattern,
2025-05-27 11:06:47 +00:00
postTableDocument,
2025-06-09 11:47:23 +00:00
exportQATemplate,
exportTableTemplate,
postWebDocument,
2025-06-17 09:44:52 +00:00
getLarkDocumentList,
2025-05-27 11:06:47 +00:00
putLarkDocumentSync,
2025-06-17 09:44:52 +00:00
putMulLarkSyncDocument,
importLarkDocument
2025-05-27 11:06:47 +00:00
}