diff --git a/src/hooks/request.ts b/src/hooks/request.ts
index 8594ac2..b53da73 100644
--- a/src/hooks/request.ts
+++ b/src/hooks/request.ts
@@ -1,7 +1,8 @@
 import { useState, useEffect, useCallback } from 'react'
 import { data } from 'react-router'
 
-type RequestFunction<T> = () => Promise<T>
+// type RequestFunction<T> = () => Promise<T>
+type RequestFunction<T, P = any> = (params?: P) => Promise<T>;
 
 interface UseApiResult<T> {
   data: T | null
@@ -10,18 +11,22 @@
   refresh: () => void
 }
 
-export function useApi<T>(
-    requestFn: RequestFunction<T>,
-    immediate = true
-  ): UseApiResult<T> {
+// export function useApi<T>(
+//     requestFn: RequestFunction<T>,
+//     immediate = true
+//   ): UseApiResult<T> {
+export function useApi<T, P = any>(
+  requestFn: RequestFunction<T, P>,  // 接收参数
+  immediate = true
+) {
     const [data, setData] = useState<T | null>(null)
     const [loading, setLoading] = useState(false)
     const [error, setError] = useState<Error | null>(null)
   
-    const execute = useCallback(async () => {
+    const execute = useCallback(async (params?: P) => { // 添加参数
       try {
         setLoading(true)
-        const result = await requestFn()
+        const result = await requestFn(params);//传参
         setData(result)
         setError(null)
         return result  // 返回请求结果
