Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ui/src/api/types/chat-auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ export interface AuthProfile<Meta = Record<string, never>> {
enable_auth: boolean
login_value: LoginMethod[]
rsa_key: string
logo: string
meta: Meta
}

Expand Down
2 changes: 2 additions & 0 deletions ui/src/views/VIEW_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,8 @@ System 资源管理或 System 共享 Knowledge API 的 `postKnowledgeHitTest`;
预览编辑复用 `ParagraphForm`、`ParagraphQuestions`,不传已有分段 ID,不即时写入问题关联。
表格/QA 支持模板下载;飞书懒加载仅展开时查子目录,已导入项不可取消,不在前端递归展开文件夹。
工作流导入执行已发布版本,复用知识库调试的 DataSource、KnowledgeBase、Result 三步流程。
导入抽屉由调用方显式传入当前范围的工作流 API,数据源表单、导入及结果轮询共用该 API;
不依赖详情页上下文,以支持详情文档页与全屏工作流页复用。
本地文件校验上传成功及 `file_id`,远程工具数据源保留其文件/目录协议。
导入成功清空搜索、筛选并回第一页,失败保留文件、选择与策略。

Expand Down
4 changes: 2 additions & 2 deletions ui/src/views/chat/login/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ onBeforeMount(async () => {

<template>
<div class="chat-login flex-center flex-col">
<div class="mb-6 flex-col-center w-100 max-w-full gap-4">
<img src="@/assets/mk-logo/MaxKB-logo.svg" alt="MaxKB" class="h-9" />
<div class="mb-6 flex-align-center gap-4 max-w-full">
<ApplicationIcon :icon="auth.authProfile?.logo" :size="32" class="shrink-0" />
<h2 class="max-w-full truncate" :title="loginTitle">{{ loginTitle }}</h2>
</div>
<el-card class="chat-login__card w-100">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<script setup lang="ts">
import { nextTick, ref, useTemplateRef } from 'vue'
import type { useKnowledgeDetailContext } from '@/views/knowledge-detail/context'
import type WorkflowApi from '@/api/admin/workspace/knowledge/workflow'
import type LogicFlow from '@logicflow/core'
import { KNOWLEDGE_TYPE_KEY } from '@/constants/knowledge'
import WebImportDocumentDrawer from './WebImportDocumentDrawer.vue'
Expand All @@ -10,6 +11,7 @@ import WorkflowImportDocumentDrawer from './WorkflowImportDocumentDrawer.vue'
defineOptions({ name: 'ButtonImportDocument' })
const props = defineProps<{
api: ReturnType<typeof useKnowledgeDetailContext>['resourceApi']['document']
workflowApi?: typeof WorkflowApi
knowledgeId: string
knowledgeType: string
folderToken?: string
Expand All @@ -35,6 +37,7 @@ function handleOpenImport() {
larkDrawerMounted.value = true
return nextTick(() => larkDrawerRef.value?.open())
case KNOWLEDGE_TYPE_KEY.WORKFLOW:
if (!props.workflowApi) return
workflowDrawerMounted.value = true
return nextTick(() => workflowDrawerRef.value?.open(props.workflow))
}
Expand Down Expand Up @@ -65,8 +68,9 @@ function handleOpenImport() {
@closed="larkDrawerMounted = false"
/>
<WorkflowImportDocumentDrawer
v-if="workflowDrawerMounted"
v-if="workflowDrawerMounted && workflowApi"
ref="workflowDrawerRef"
:api="workflowApi"
:knowledge-id="knowledgeId"
@refresh="emit('refresh')"
@closed="workflowDrawerMounted = false"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { computed, provide, ref, useTemplateRef, type Component } from 'vue'
import type { AxiosProgressEvent } from 'axios'
import type LogicFlow from '@logicflow/core'
import { useKnowledgeDetailContext } from '@/views/knowledge-detail/context'
import type WorkflowApi from '@/api/admin/workspace/knowledge/workflow'
import FileApi from '@/api/admin/file'
import { FILE_SOURCE_TYPE } from '@/api/enums'
import type { Dict, KnowledgeWorkflowDebugPayload } from '@/api/types'
Expand All @@ -14,9 +14,8 @@ import Result from '@/views/workflow/knowledge/debug/action/Result.vue'
import { MsgWarning } from '@/utils/message'

defineOptions({ name: 'WorkflowImportDocumentDrawer' })
const props = defineProps<{ knowledgeId: string }>()
const props = defineProps<{ api: typeof WorkflowApi; knowledgeId: string }>()
const emit = defineEmits<{ refresh: []; closed: [] }>()
const { resourceApi } = useKnowledgeDetailContext()

/* 复用工作流 Action,上传适配保留进度、取消和上传中保护。 */
const uploadingCount = ref(0)
Expand Down Expand Up @@ -107,7 +106,7 @@ function handleSubmit() {
const data = getActionData()
if (!data) return
formPayload.value[step] = data
return resourceApi.workflow?.postKnowledgeWorkflowImport(props.knowledgeId, formPayload.value).then((action) => {
return props.api.postKnowledgeWorkflowImport(props.knowledgeId, formPayload.value).then((action) => {
actionId.value = action.id
active.value = 'result'
emit('refresh')
Expand Down Expand Up @@ -149,6 +148,7 @@ defineExpose({ open })
<keep-alive :key="actionKey" :include="['DataSource', 'KnowledgeBase']">
<component
:is="actionComponents[active]"
:api="api"
ref="actionRef"
v-model:loading="loading"
:workflow="currentWorkflow"
Expand Down
1 change: 1 addition & 0 deletions ui/src/views/knowledge-detail/library/document/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,7 @@ onBeforeUnmount(() => {
:knowledge-type="knowledgeType"
:folder-token="String(knowledge?.meta?.folder_token ?? '')"
:workflow="knowledge?.work_flow"
:workflow-api="resourceApi.workflow"
@refresh="handleImportDocumentSuccess"
/>
<!-- 上传文档 -->
Expand Down
1 change: 1 addition & 0 deletions ui/src/views/workflow/knowledge/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -552,6 +552,7 @@ onBeforeUnmount(stopAutoSave)
<WorkflowImportDocumentDrawer
v-if="importDocumentDrawerMounted"
ref="importDocumentDrawerRef"
:api="requestApi"
:knowledge-id="knowledgeId"
@closed="importDocumentDrawerMounted = false"
/>
Expand Down
Loading