File size: 844 Bytes
a43ac26 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | /**
* Tool 目录 API client
*/
import { apiClient } from './client';
import { ToolCatalogItem, ToolQueryParams } from '@typings/tool';
export const toolsApi = {
/**
* 获取 Tool 目录列表
*/
list: (params?: ToolQueryParams) => {
const searchParams = new URLSearchParams();
if (params?.plugin) searchParams.append('plugin', params.plugin);
if (params?.source) searchParams.append('source', params.source);
if (params?.availability) searchParams.append('availability', params.availability);
if (params?.q) searchParams.append('q', params.q);
const query = searchParams.toString();
return apiClient.get<ToolCatalogItem[]>(`/tools/${query ? `?${query}` : ''}`);
},
/**
* 获取单个 Tool 详情
*/
get: (toolName: string) =>
apiClient.get<ToolCatalogItem>(`/tools/${toolName}`),
};
|