From b04baf69a6b212efdbc0157dce36b1e3a8da365c Mon Sep 17 00:00:00 2001 From: wangdan-fit2cloud Date: Sat, 26 Sep 2026 12:28:00 +0800 Subject: [PATCH] fix: Vulnerability in workspace switching and reloading --- ui/src/api/API_README.md | 4 +- ui/src/api/enums/document.ts | 6 ++ .../components/global/mk-form-list/index.vue | 36 +++++------ .../components/mk-dynamics-form/FormItem.vue | 1 - ui/src/constants/CONSTANT_README.md | 2 +- .../header-workspace-dropdown/index.vue | 14 ++++- ui/src/router/ROUTE_README.md | 24 +++++--- .../workspace/modules/knowledge-shared.ts | 2 +- .../admin/workspace/modules/knowledge.ts | 8 +-- ui/src/views/VIEW_README.md | 17 ++++-- .../views/knowledge-detail/document/index.vue | 61 ++++++++++--------- .../create-knowledge/BaseKnowledgeDialog.vue | 3 +- .../create-knowledge/LarkKnowledgeDialog.vue | 5 +- .../create-knowledge/WebKnowledgeDialog.vue | 3 +- ui/src/views/knowledge/index.vue | 9 +-- .../SettingKnowledgeAction.vue | 3 +- .../chat-management/authentication/index.vue | 2 +- .../resource-management/model/index.vue | 22 +++---- .../system/resource-management/tool/index.vue | 1 - .../system/settings/authentication/index.vue | 2 +- .../workflow/knowledge/debug/DebugDrawer.vue | 2 +- ui/src/views/workflow/knowledge/index.vue | 8 +-- ui/src/views/workflow/knowledge/navigation.ts | 7 ++- ui/src/workflow-canvas/node-menu/index.vue | 8 +-- 24 files changed, 142 insertions(+), 108 deletions(-) diff --git a/ui/src/api/API_README.md b/ui/src/api/API_README.md index 1a36ca80c47..1a0fc51bd27 100644 --- a/ui/src/api/API_README.md +++ b/ui/src/api/API_README.md @@ -498,7 +498,9 @@ System 接口由资源管理服务提供;本地开源后端没有对应扩展 `workspace/knowledge/document.ts` 仅维护文档分页查询,路径为 `/workspace//knowledge//document//`。 -分页使用 `ParamsPage` / `ResponsePage`,支持 `name`、`create_user` 筛选; +分页使用 `ParamsPage` / `ResponsePage`,支持 `name`、`create_user`、`status`、`task_type` 筛选; +文件任务使用 `DOCUMENT_TASK_STATE` 的字符状态及 `DOCUMENT_TASK_TYPE` 的任务位置, +不使用通用 `STATE_TYPES`;选择全部时省略状态与任务类型,非任务专属状态省略任务类型。 文档页传 `resource_type: 'document'`,创建者选项复用 Workspace `common.ts` 的 `getAllUsers`。 类型从 `@/api/types` 导入,命中处理枚举从 `@/api/enums` 导入。API 不接收 loading,不重复包装响应。 diff --git a/ui/src/api/enums/document.ts b/ui/src/api/enums/document.ts index 69098b71f09..27971188a6f 100644 --- a/ui/src/api/enums/document.ts +++ b/ui/src/api/enums/document.ts @@ -1,2 +1,8 @@ /** 文档命中处理方式。 */ export const DOCUMENT_HIT_HANDLING = { OPTIMIZATION: 'optimization', DIRECTLY_RETURN: 'directly_return' } as const + +/** 文档任务状态,使用文件状态协议中的字符值。 */ +export const DOCUMENT_TASK_STATE = { PENDING: '0', STARTED: '1', SUCCESS: '2', FAILURE: '3' } as const + +/** 文档状态字符串中各任务的位置。 */ +export const DOCUMENT_TASK_TYPE = { EMBEDDING: 1, GENERATE_PROBLEM: 2, SYNC: 3, TOKENIZE: 4 } as const diff --git a/ui/src/components/global/mk-form-list/index.vue b/ui/src/components/global/mk-form-list/index.vue index 402e343252e..0fa6977fb40 100644 --- a/ui/src/components/global/mk-form-list/index.vue +++ b/ui/src/components/global/mk-form-list/index.vue @@ -71,24 +71,26 @@ function removeRow(index: number) {