+ 加载中...
+ 发生错误: {{ error.message }}
+
+
+
+
+```
+
+## 📚 核心 API
+
+### useQuery - 数据获取
+
+用于获取数据的基础 hook:
+
+```typescript
+const {
+ data, // 查询结果
+ isLoading, // 首次加载状态
+ isFetching, // 获取状态(包括后台刷新)
+ error, // 错误信息
+ refetch, // 手动重新获取
+ remove // 移除查询缓存
+} = useQuery({
+ queryKey: ['queryKey'],
+ queryFn: fetchFunction,
+ enabled: true, // 是否启用查询
+ staleTime: 30000, // 数据过期时间(30秒)
+ gcTime: 300000 // 缓存垃圾回收时间(5分钟)
+})
+```
+
+### useMutation - 数据修改
+
+用于创建、更新、删除操作:
+
+```typescript
+const {
+ mutate, // 执行变更
+ mutateAsync, // 异步执行变更
+ isLoading, // 变更加载状态
+ error, // 变更错误
+ isSuccess // 变更成功状态
+} = useMutation({
+ mutationFn: (data) => apiService.createUser(data),
+ onSuccess: (data) => {
+ // 成功回调
+ queryClient.invalidateQueries(['users'])
+ },
+ onError: (error) => {
+ // 重要: ElMessage 已经在httpClient 封装过了,如果不需要对异常进行特殊处理,你完全不需要 onError
+ }
+})
+```
+
+### useQueryClient - 查询客户端
+
+用于手动管理缓存:
+
+```typescript
+import { useQueryClient } from '@tanstack/vue-query'
+
+const queryClient = useQueryClient()
+
+// 手动设置查询数据
+queryClient.setQueryData(['user', userId], userData)
+
+// 使特定查询失效
+queryClient.invalidateQueries({ queryKey: ['users'] })
+
+// 移除查询
+queryClient.removeQueries(['user', userId])
+
+// 获取查询数据
+const userData = queryClient.getQueryData(['user', userId])
+```
+
+## 🎯 实际应用场景
+
+### 1. 列表页面数据获取
+
+列表不需要使用这个,使用封装好的 useTable 即可
+
+### 2. 详情页面数据获取
+
+```vue
+