UnisKB/ui/src/utils/dynamics-api/shared-api.ts

62 lines
1.7 KiB
TypeScript

import knowledgeWorkspaceApi from '@/api/knowledge/knowledge'
import documentWorkspaceApi from '@/api/knowledge/document'
import paragraphWorkspaceApi from '@/api/knowledge/paragraph'
import modelWorkspaceApi from '@/api/model/model'
import toolWorkspaceApi from '@/api/tool/tool'
import sharedWorkspaceApi from '@/api/shared-workspace'
import toolSystemShareApi from '@/api/system-shared/tool'
import modelSystemShareApi from '@/api/system-shared/model'
import knowledgeSystemShareApi from '@/api/system-shared/knowledge'
import documentSystemShareApi from '@/api/system-shared/document'
import paragraphSystemShareApi from '@/api/system-shared/paragraph'
// 普通 API
const workspaceApiMap = {
knowledge: knowledgeWorkspaceApi,
model: modelWorkspaceApi,
tool: toolWorkspaceApi,
document: documentWorkspaceApi,
paragraph: paragraphWorkspaceApi,
} as any
// 系统分享 API
const systemShareApiMap = {
knowledge: knowledgeSystemShareApi,
model: modelSystemShareApi,
tool: toolSystemShareApi,
document: documentSystemShareApi,
paragraph: paragraphSystemShareApi,
} as any
// 资源管理 API
const systemManageApiMap = {
// knowledge: knowledgeWorkspaceApi,
// model: modelWorkspaceApi,
// tool: toolSystemShareApi,
} as any
const data = {
systemShare: systemShareApiMap,
workspace: workspaceApiMap,
systemManage: systemManageApiMap,
}
/** 动态导入 API 模块的函数
* loadSharedApi('knowledge', true,'systemShare')
*/
export function loadSharedApi({
type,
isShared,
systemType,
}: {
type: string
isShared?: boolean | undefined
systemType?: 'systemShare' | 'workspace' | 'systemManage'
}) {
if (isShared) {
// 共享 API
return sharedWorkspaceApi
} else {
return data[systemType || 'workspace'][type]
}
}