feat: 递归导入只需输入NodeToken,自动获取SpaceID

- feishu_service.py: import_nodes_from_parent 去掉 space_id 参数,
  通过 get_node_info 自动获取 space_id
- admin_knowledge.py: import API 去掉 spaceId 参数
- App.vue: 前端去掉 SpaceID 输入框,只需输入 NodeToken
This commit is contained in:
2026-07-08 18:54:09 +08:00
parent 3598e34819
commit 76da6dd65a
3 changed files with 18 additions and 14 deletions

View File

@@ -37,7 +37,6 @@ const chatDetailOpen = ref(false);
const recordTab = ref("chats");
const editingModelId = ref<number | null>(null);
const editingKnowledgeId = ref<number | null>(null);
const batchSpaceId = ref("");
const batchParentToken = ref("");
const batchImporting = ref(false);
const agentDebugging = ref(false);
@@ -593,17 +592,15 @@ function resetKnowledgeForm() {
}
async function batchImportKnowledge() {
const spaceId = batchSpaceId.value.trim();
const parentToken = batchParentToken.value.trim();
if (!spaceId || !parentToken) {
ElMessage.warning("请输入 SpaceID 和父节点 NodeToken");
if (!parentToken) {
ElMessage.warning("请输入父节点 NodeToken");
return;
}
batchImporting.value = true;
try {
const result = await api.importKnowledgeFromSpace(JSON.stringify({ spaceId, parent_node_token: parentToken }));
const result = await api.importKnowledgeFromSpace({ parent_node_token: parentToken });
ElMessage.success(`导入完成:新增 ${result.imported} 个,跳过 ${result.skipped}`);
batchSpaceId.value = "";
batchParentToken.value = "";
await loadCurrentMenu();
} catch (e: any) {
@@ -1128,9 +1125,8 @@ function buildChatQuery() {
<el-divider />
<div class="batch-import-row">
<el-input v-model="batchSpaceId" placeholder="SpaceID" style="width: 220px" />
<el-input v-model="batchParentToken" placeholder="父节点 NodeToken如 wikcnXXX" style="width: 260px" />
<el-button type="primary" @click="batchImportKnowledge" :loading="batchImporting">递归导入子节点</el-button>
<el-input v-model="batchParentToken" placeholder="输入父节点 NodeToken如 wikcnXXX递归导入所有子节点" style="max-width: 400px" />
<el-button type="primary" @click="batchImportKnowledge" :loading="batchImporting">递归导入</el-button>
</div>
<el-table :data="knowledge" stripe>
<el-table-column prop="id" label="ID" width="80" />