diff --git a/ui/src/api/admin/system/common.ts b/ui/src/api/admin/system/common.ts index ae88ea8df39..56411bc4e0b 100644 --- a/ui/src/api/admin/system/common.ts +++ b/ui/src/api/admin/system/common.ts @@ -11,7 +11,16 @@ const getAllUsers = (query?: RequestParams) => { return get('/user/list', query) } +/** 系统中选择空间下的成员用户 + * @param workspaceId 工作空间ID + * 资源授权 和用户组的 用户下拉列表使用 + */ +const getWorkspaceMembers = (workspaceId: string, query?: RequestParams) => { + return get(`/workspace/${workspaceId}/user_member`, query) +} + export default { getDefaultPassword, getAllUsers, + getWorkspaceMembers, } diff --git a/ui/src/api/admin/system/user-manage.ts b/ui/src/api/admin/system/user-manage.ts index 5484432130d..51ea213d11c 100644 --- a/ui/src/api/admin/system/user-manage.ts +++ b/ui/src/api/admin/system/user-manage.ts @@ -52,13 +52,6 @@ const postBatchSetUserWorkspaceRoles = (request: BatchSetUserWorkspaceRolesReque return post(`${prefix}/batch/add_role_ee`, request) } -/** 获取空间下的成员用户 - * @param workspaceId 工作空间ID - * 资源授权 和用户组的 用户下拉列表使用 - */ -const getWorkspaceMembers = (workspaceId: string, query?: RequestParams) => { - return get(`/workspace/${workspaceId}/user_member`, query) -} export default { deleteUser, @@ -69,5 +62,4 @@ export default { postBatchSetUserWorkspaceRoles, putUser, putUserPassword, - getWorkspaceMembers, } diff --git a/ui/src/api/admin/workspace/common.ts b/ui/src/api/admin/workspace/common.ts index 3e63506b37b..8b959cf8825 100644 --- a/ui/src/api/admin/workspace/common.ts +++ b/ui/src/api/admin/workspace/common.ts @@ -1,8 +1,10 @@ import { get } from '../core/request' import type { RequestParams, WorkspaceUserOption } from '@/api/types' +import { getWorkspaceId } from '@/utils/workspace-context' /** 获取当前工作空间下的用户选项。 */ -const getAllUsers = (workspaceId: string, query?: RequestParams) => { +const getAllUsers = (query?: RequestParams) => { + const workspaceId = getWorkspaceId() return get(`/workspace/${workspaceId}/user_list`, query) } diff --git a/ui/src/api/admin/workspace/folder.ts b/ui/src/api/admin/workspace/folder.ts index f7afe1cadea..4c4a44c092b 100644 --- a/ui/src/api/admin/workspace/folder.ts +++ b/ui/src/api/admin/workspace/folder.ts @@ -1,22 +1,20 @@ import { del, get, post, put } from '../core/request' import type { FolderSource, FolderItem, RequestParams, FolderRequest } from '@/api/types' +import { getWorkspaceId } from '@/utils/workspace-context' -const getPrefix = (workspaceId: string, source: FolderSource) => - `/workspace/${workspaceId}/${source}/folder` - -/** 获取指定资源模块的 Workspace 文件夹树。 */ -const getFolderTree = (workspaceId: string, source: FolderSource, query?: RequestParams) => { - return get(getPrefix(workspaceId, source), query) +const getPrefix = (source: FolderSource) => { + const workspaceId = getWorkspaceId() + return `/workspace/${workspaceId}/${source}/folder` } -/** 获取指定 Workspace 文件夹详情。 */ -const getFolderDetail = (workspaceId: string, source: FolderSource, folderId: string) => { - return get(`${getPrefix(workspaceId, source)}/${folderId}`) +/** 获取指定资源模块的 Workspace 文件夹树。 */ +const getFolderTree = (source: FolderSource, query?: RequestParams) => { + return get(getPrefix(source), query) } /** 在指定资源模块中创建 Workspace 文件夹。 */ -const postFolder = (workspaceId: string, source: FolderSource, payload: FolderRequest) => { - return post(getPrefix(workspaceId, source), payload) +const postFolder = (source: FolderSource, payload: FolderRequest) => { + return post(getPrefix(source), payload) } /** 更新指定 Workspace 文件夹。 */ @@ -26,17 +24,16 @@ const putFolder = ( folderId: string, payload: FolderRequest, ) => { - return put(`${getPrefix(workspaceId, source)}/${folderId}`, payload) + return put(`${getPrefix(source)}/${folderId}`, payload) } /** 删除指定 Workspace 文件夹及其中的资源。 */ -const deleteFolder = (workspaceId: string, source: FolderSource, folderId: string) => { - return del(`${getPrefix(workspaceId, source)}/${folderId}`) +const deleteFolder = (source: FolderSource, folderId: string) => { + return del(`${getPrefix(source)}/${folderId}`) } export default { deleteFolder, - getFolderDetail, getFolderTree, postFolder, putFolder, diff --git a/ui/src/api/admin/workspace/model/model-shared.ts b/ui/src/api/admin/workspace/model/model-shared.ts index 3133526066c..bda5c4bd82e 100644 --- a/ui/src/api/admin/workspace/model/model-shared.ts +++ b/ui/src/api/admin/workspace/model/model-shared.ts @@ -1,11 +1,15 @@ -import { del, get, post, put } from '../../core/request' +import { get } from '../../core/request' import type { RequestParams, WorkspaceModel } from '@/api/types' +import { getWorkspaceId } from '@/utils/workspace-context' -const getPrefix = (workspaceId: string) => `/system/shared/workspace/${workspaceId}` +const getPrefix = () => { + const workspaceId = getWorkspaceId() + return `/system/shared/workspace/${workspaceId}` +} /** 获取工作空间共享的模型列表。 */ -const getModelList = (workspaceId: string, query?: RequestParams) => { - return get(`${getPrefix(workspaceId)}/model`, query) +const getModelList = (query?: RequestParams) => { + return get(`${getPrefix()}/model`, query) } export default { diff --git a/ui/src/api/admin/workspace/model/model.ts b/ui/src/api/admin/workspace/model/model.ts index 562ffe7ba4f..ce0eac7b41f 100644 --- a/ui/src/api/admin/workspace/model/model.ts +++ b/ui/src/api/admin/workspace/model/model.ts @@ -1,41 +1,45 @@ import { del, get, post, put } from '../../core/request' import type { RequestParams, ModelPayload, WorkspaceModel } from '@/api/types' +import { getWorkspaceId } from '@/utils/workspace-context' -const getPrefix = (workspaceId: string) => `/workspace/${workspaceId}/model` +const getPrefix = () => { + const workspaceId = getWorkspaceId() + return `/workspace/${workspaceId}/model` +} /** 获取工作空间模型列表。 */ -const getModelList = (workspaceId: string, query?: RequestParams) => { - return get(getPrefix(workspaceId), query) +const getModelList = (query?: RequestParams) => { + return get(getPrefix(), query) } /** 创建工作空间模型。 */ -const postModel = (workspaceId: string, payload: ModelPayload) => { - return post(getPrefix(workspaceId), payload) +const postModel = (payload: ModelPayload) => { + return post(getPrefix(), payload) } /** 更新工作空间模型。 */ -const putModel = (workspaceId: string, modelId: string, payload: Partial) => { - return put, WorkspaceModel>(`${getPrefix(workspaceId)}/${modelId}`, payload) +const putModel = (modelId: string, payload: Partial) => { + return put, WorkspaceModel>(`${getPrefix()}/${modelId}`, payload) } /** 获取包含认证信息的模型详情。 */ -const getModelDetail = (workspaceId: string, modelId: string) => { - return get(`${getPrefix(workspaceId)}/${modelId}`) +const getModelDetail = (modelId: string) => { + return get(`${getPrefix()}/${modelId}`) } /** 获取不包含认证信息的模型元数据。 */ -const getModelMeta = (workspaceId: string, modelId: string) => { - return get(`${getPrefix(workspaceId)}/${modelId}/meta`) +const getModelMeta = (modelId: string) => { + return get(`${getPrefix()}/${modelId}/meta`) } /** 删除工作空间模型。 */ -const deleteModel = (workspaceId: string, modelId: string) => { - return del(`${getPrefix(workspaceId)}/${modelId}`) +const deleteModel = (modelId: string) => { + return del(`${getPrefix()}/${modelId}`) } /** 暂停本地模型下载。 */ -const putPauseModelDownload = (workspaceId: string, modelId: string) => { - return put(`${getPrefix(workspaceId)}/${modelId}/pause_download`) +const putPauseModelDownload = (modelId: string) => { + return put(`${getPrefix()}/${modelId}/pause_download`) } export default { diff --git a/ui/src/api/admin/workspace/tool/tool.ts b/ui/src/api/admin/workspace/tool/tool.ts index 302ac29896e..a740860d36c 100644 --- a/ui/src/api/admin/workspace/tool/tool.ts +++ b/ui/src/api/admin/workspace/tool/tool.ts @@ -7,65 +7,69 @@ import type { ToolTreeResponse, WorkspaceTool, } from '@/api/types' +import { getWorkspaceId } from '@/utils/workspace-context' -const getPrefix = (workspaceId: string) => `/workspace/${workspaceId}/tool` +const getPrefix = () => { + const workspaceId = getWorkspaceId() + return `/workspace/${workspaceId}/tool` +} /** 获取工具分页列表。 */ -const getToolPage = (workspaceId: string, page: ParamsPage, query?: ToolListQuery) => { +const getToolPage = (page: ParamsPage, query?: ToolListQuery) => { return get>( - `${getPrefix(workspaceId)}/${page.currentPage}/${page.pageSize}`, + `${getPrefix()}/${page.currentPage}/${page.pageSize}`, query, ) } /** 获取当前目录下的工具和子文件夹。 */ -const getToolTree = (workspaceId: string, query?: ToolListQuery) => { - return get(getPrefix(workspaceId), query) +const getToolTree = (query?: ToolListQuery) => { + return get(getPrefix(), query) } /** 获取工作空间全部工具以及已授权的共享工具。 */ -const getToolCatalog = (workspaceId: string, query?: ToolListQuery) => { - return get(`${getPrefix(workspaceId)}/tool_list`, query) +const getToolCatalog = (query?: ToolListQuery) => { + return get(`${getPrefix()}/tool_list`, query) } /** 创建工作空间工具。 */ -const postTool = (workspaceId: string, payload: ToolPayload) => { - return post(getPrefix(workspaceId), payload) +const postTool = (payload: ToolPayload) => { + return post(getPrefix(), payload) } /** 更新工作空间工具。 */ -const putTool = (workspaceId: string, toolId: string, payload: ToolPayload) => { - return put(`${getPrefix(workspaceId)}/${toolId}`, payload) +const putTool = (toolId: string, payload: ToolPayload) => { + return put(`${getPrefix()}/${toolId}`, payload) } /** 获取工具详情。 */ -const getToolDetail = (workspaceId: string, toolId: string) => { - return get(`${getPrefix(workspaceId)}/${toolId}`) +const getToolDetail = (toolId: string) => { + return get(`${getPrefix()}/${toolId}`) } /** 删除工作空间工具。 */ -const deleteTool = (workspaceId: string, toolId: string) => { - return del(`${getPrefix(workspaceId)}/${toolId}`) +const deleteTool = (toolId: string) => { + return del(`${getPrefix()}/${toolId}`) } /** 测试工具配置是否可连接。 */ -const postToolTestConnection = (workspaceId: string, payload: ToolPayload) => { - return post(`${getPrefix(workspaceId)}/test_connection`, payload) +const postToolTestConnection = (payload: ToolPayload) => { + return post(`${getPrefix()}/test_connection`, payload) } /** 批量删除工作空间工具。 */ -const putBatchDeleteTools = (workspaceId: string, toolIds: string[]) => { - return put<{ id_list: string[] }, boolean>(`${getPrefix(workspaceId)}/batch_delete`, { +const putBatchDeleteTools = (toolIds: string[]) => { + return put<{ id_list: string[] }, boolean>(`${getPrefix()}/batch_delete`, { id_list: toolIds, }) } /** 批量移动工作空间工具。 */ -const putBatchMoveTools = (workspaceId: string, toolIds: string[], folderId: string) => { - return put<{ folder_id: string; id_list: string[] }, boolean>( - `${getPrefix(workspaceId)}/batch_move`, - { folder_id: folderId, id_list: toolIds }, - ) +const putBatchMoveTools = (toolIds: string[], folderId: string) => { + return put<{ folder_id: string; id_list: string[] }, boolean>(`${getPrefix()}/batch_move`, { + folder_id: folderId, + id_list: toolIds, + }) } export default { diff --git a/ui/src/components/business/folder-tree/VirtualizedTree.vue b/ui/src/components/business/folder-tree/VirtualizedTree.vue index 32fd703fe5d..19481e3d45d 100644 --- a/ui/src/components/business/folder-tree/VirtualizedTree.vue +++ b/ui/src/components/business/folder-tree/VirtualizedTree.vue @@ -165,7 +165,35 @@ function handleAfterDrop() {