File size: 663 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
30
31
/**
 * Tool 目录相关 hooks
 */

import { useQuery } from '@tanstack/react-query';
import { toolsApi } from '@api/tools';
import { ToolQueryParams } from '@typings/tool';
import { QUERY_STALE_TIME } from '@lib/constants';

/**
 * 获取 Tool 目录列表
 */
export function useTools(params?: ToolQueryParams) {
  return useQuery({
    queryKey: ['tools', params],
    queryFn: () => toolsApi.list(params),
    staleTime: QUERY_STALE_TIME,
  });
}

/**
 * 获取单个 Tool 详情
 */
export function useTool(toolName: string) {
  return useQuery({
    queryKey: ['tools', toolName],
    queryFn: () => toolsApi.get(toolName),
    enabled: !!toolName,
  });
}