feat: lark knowledge

This commit is contained in:
wangdan-fit2cloud 2025-06-17 18:11:35 +08:00
parent 19e8e76386
commit 89ad56744b
7 changed files with 66 additions and 77 deletions

View File

@ -13,21 +13,6 @@ Object.defineProperty(prefix, 'value', {
},
})
/**
*
* @params
* {folder_id: string,
* name: string,
* user_id: string
* desc: string,}
*/
const getKnowledgeByFolder: (data?: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
data,
loading,
) => {
return get(`${prefix.value}`, data, loading)
}
/**
*
* @param
@ -212,7 +197,7 @@ const postKnowledge: (data: knowledgeData, loading?: Ref<boolean>) => Promise<Re
}
/**
* 使
* 使 ()
* @param application_id
* @param loading
* @query { query_text: string, top_number: number, similarity: number }
@ -227,9 +212,8 @@ const getKnowledgeEmdeddingModel: (
/**
* 使
* @param application_id
* @param
* @param loading
* @query { query_text: string, top_number: number, similarity: number }
* @returns
*/
const getKnowledgeModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (loading) => {
@ -255,6 +239,7 @@ const postWebKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<an
return post(`${prefix.value}/web`, data, undefined, loading)
}
// 创建飞书知识库
const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
data,
loading,
@ -262,8 +247,15 @@ const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<A
return post(`${prefix.value}/lark/save`, data, null, loading)
}
const putLarkKnowledge: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return put(`${prefix}/lark/${knowledge_id}`, data, undefined, loading)
}
export default {
getKnowledgeByFolder,
getKnowledgeList,
getKnowledgeListPage,
getKnowledgeDetail,
@ -278,6 +270,6 @@ export default {
postKnowledge,
getKnowledgeModel,
postWebKnowledge,
postLarkKnowledge,
putLarkKnowledge
}

View File

@ -4,22 +4,7 @@ import { type Ref } from 'vue'
import type { pageRequest } from '@/api/type/common'
import type { knowledgeData } from '@/api/type/knowledge'
const prefix = '/system/shared'
/**
*
* @params
* {folder_id: string,
* name: string,
* user_id: string
* desc: string,}
*/
const getKnowledgeByFolder: (data?: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
data,
loading,
) => {
return get(`${prefix}/knowledge`, data, loading)
}
const prefix = '/system/shared/knowledge'
/**
*
@ -35,7 +20,7 @@ const getKnowledgeList: (param?: any, loading?: Ref<boolean>) => Promise<Result<
param,
loading,
) => {
return get(`${prefix}/knowledge`, param, loading)
return get(`${prefix}`, param, loading)
}
/**
@ -53,7 +38,7 @@ const getKnowledgeListPage: (
param?: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (page, param, loading) => {
return get(`${prefix}/knowledge/${page.current_page}/${page.page_size}`, param, loading)
return get(`${prefix}/${page.current_page}/${page.page_size}`, param, loading)
}
/**
@ -64,7 +49,7 @@ const getKnowledgeDetail: (knowledge_id: string, loading?: Ref<boolean>) => Prom
knowledge_id,
loading,
) => {
return get(`${prefix}/knowledge/${knowledge_id}`, undefined, loading)
return get(`${prefix}/${knowledge_id}`, undefined, loading)
}
/**
@ -81,7 +66,7 @@ const putKnowledge: (
data: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return put(`${prefix}/knowledge/${knowledge_id}`, data, undefined, loading)
return put(`${prefix}/${knowledge_id}`, data, undefined, loading)
}
/**
@ -103,7 +88,7 @@ const putReEmbeddingKnowledge: (
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, loading) => {
return put(`${prefix}/knowledge/${knowledge_id}/embedding`, undefined, undefined, loading)
return put(`${prefix}/${knowledge_id}/embedding`, undefined, undefined, loading)
}
/**
@ -119,7 +104,7 @@ const exportKnowledge: (
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
return exportExcel(
knowledge_name + '.xlsx',
`${prefix}/${knowledge_id}/knowledge/${knowledge_id}/export`,
`${prefix}/${knowledge_id}/export`,
undefined,
loading,
)
@ -138,7 +123,7 @@ const exportZipKnowledge: (
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
return exportFile(
knowledge_name + '.zip',
`${prefix}/${knowledge_id}/knowledge/${knowledge_id}/export_zip`,
`${prefix}/${knowledge_id}/export_zip`,
undefined,
loading,
)
@ -184,7 +169,7 @@ const putSyncWebKnowledge: (
sync_type: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, sync_type, loading) => {
return put(`${prefix}/knowledge/${knowledge_id}/sync`, undefined, { sync_type }, loading)
return put(`${prefix}/${knowledge_id}/sync`, undefined, { sync_type }, loading)
}
/**
@ -201,7 +186,7 @@ const postKnowledge: (data: knowledgeData, loading?: Ref<boolean>) => Promise<Re
data,
loading,
) => {
return post(`${prefix}/knowledge/base`, data, undefined, loading, 1000 * 60 * 5)
return post(`${prefix}/base`, data, undefined, loading, 1000 * 60 * 5)
}
/**
@ -226,7 +211,7 @@ const getKnowledgeEmdeddingModel: (
* @returns
*/
const getKnowledgeModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (loading) => {
return get(`${prefix}/knowledge/model`, loading)
return get(`${prefix}/model`, loading)
}
/**
@ -245,17 +230,25 @@ const postWebKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<an
data,
loading,
) => {
return post(`${prefix}/knowledge/web`, data, undefined, loading)
return post(`${prefix}/web`, data, undefined, loading)
}
const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
data,
loading,
) => {
return post(`${prefix}/knowledge/lark/save`, data, null, loading)
return post(`${prefix}/lark/save`, data, null, loading)
}
const putLarkKnowledge: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return put(`${prefix}/lark/${knowledge_id}`, data, undefined, loading)
}
export default {
getKnowledgeByFolder,
getKnowledgeList,
getKnowledgeListPage,
getKnowledgeDetail,
@ -270,8 +263,8 @@ export default {
postKnowledge,
getKnowledgeModel,
postWebKnowledge,
postLarkKnowledge,
putLarkKnowledge
} as {
[key: string]: any
}

View File

@ -29,7 +29,7 @@
</el-form-item>
<el-form-item
:label="$t('views.knowledge.form.EmbeddingModel.label')"
prop="embedding_model_id"
prop="embedding"
>
<ModelSelect
v-model="form.embedding"

View File

@ -57,7 +57,7 @@ const submitHandle = async () => {
}
KnowledgeApi.postKnowledge(obj, loading).then((res) => {
MsgSuccess(t('common.createSuccess'))
// router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
emit('refresh')
})
} else {

View File

@ -10,21 +10,21 @@
<!-- 基本信息 -->
<BaseForm ref="BaseFormRef" v-if="dialogVisible" />
<el-form
ref="DatasetFormRef"
ref="knowledgeFormRef"
:rules="rules"
:model="datasetForm"
:model="knowledgeForm"
label-position="top"
require-asterisk-position="right"
>
<el-form-item label="App ID" prop="app_id">
<el-input
v-model="datasetForm.app_id"
v-model="knowledgeForm.app_id"
:placeholder="$t('views.application.applicationAccess.larkSetting.appIdPlaceholder')"
/>
</el-form-item>
<el-form-item label="App Secret" prop="app_secret">
<el-input
v-model="datasetForm.app_secret"
v-model="knowledgeForm.app_secret"
type="password"
show-password
:placeholder="$t('views.application.applicationAccess.larkSetting.appSecretPlaceholder')"
@ -32,7 +32,7 @@
</el-form-item>
<el-form-item label="Folder Token" prop="folder_token">
<el-input
v-model="datasetForm.folder_token"
v-model="knowledgeForm.folder_token"
:placeholder="
$t('views.application.applicationAccess.larkSetting.folderTokenPlaceholder')
"
@ -63,12 +63,13 @@ const emit = defineEmits(['refresh'])
const router = useRouter()
const BaseFormRef = ref()
const DatasetFormRef = ref()
const knowledgeFormRef = ref()
const loading = ref(false)
const dialogVisible = ref<boolean>(false)
const currentFolder = ref<any>(null)
const datasetForm = ref<any>({
const knowledgeForm = ref<any>({
type: '0',
source_url: '',
selector: '',
@ -124,29 +125,34 @@ const rules = reactive({
watch(dialogVisible, (bool) => {
if (!bool) {
datasetForm.value = {
knowledgeForm.value = {
type: '0',
source_url: '',
selector: '',
}
DatasetFormRef.value?.clearValidate()
knowledgeFormRef.value?.clearValidate()
}
})
const open = () => {
const open = (folder: string) => {
currentFolder.value = folder
dialogVisible.value = true
}
const submitHandle = async () => {
if (await BaseFormRef.value?.validate()) {
await DatasetFormRef.value.validate((valid: any) => {
await knowledgeFormRef.value.validate((valid: any) => {
if (valid) {
const obj = { ...BaseFormRef.value.form, ...datasetForm.value }
// KnowledgeApi.postLarkKnowledge(obj, loading).then((res) => {
// MsgSuccess(t('common.createSuccess'))
// router.push({ path: `/knowledge/${res.data.id}/document` })
// emit('refresh')
// })
const obj = {
folder_id: currentFolder.value?.id,
...BaseFormRef.value.form,
...knowledgeForm.value,
}
KnowledgeApi.postLarkKnowledge(obj, loading).then((res: any) => {
MsgSuccess(t('common.createSuccess'))
router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
emit('refresh')
})
} else {
return false
}

View File

@ -29,7 +29,7 @@
</el-form-item>
<el-form-item
:label="$t('views.knowledge.form.EmbeddingModel.label')"
prop="embedding_model_id"
prop="embedding"
>
<ModelSelect
v-model="form.embedding"

View File

@ -142,13 +142,11 @@ const submitHandle = async () => {
await KnowledgeFormRef.value.validate((valid: any) => {
if (valid) {
const obj = { ...BaseFormRef.value.form, ...datasetForm.value }
KnowledgeApi.postLarkKnowledge({ ...obj, embedding_model_id: obj.embedding }, loading).then(
(res: any) => {
KnowledgeApi.postLarkKnowledge(obj, loading).then((res: any) => {
MsgSuccess(t('common.createSuccess'))
router.push({ path: `/knowledge/${res.data.id}/document` })
emit('refresh')
},
)
})
} else {
return false
}