xn-fe-tools 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -0
- package/dist/hooks/toAwaitFetch/toAwaitFetch.api.d.ts +469 -0
- package/dist/hooks/toAwaitFetch/toAwaitFetch.api.d.ts.map +1 -0
- package/dist/hooks/toAwaitFetch/toAwaitFetch.d.ts +95 -0
- package/dist/hooks/toAwaitFetch/toAwaitFetch.d.ts.map +1 -0
- package/dist/hooks/useCounter.d.ts +21 -0
- package/dist/hooks/useCounter.d.ts.map +1 -0
- package/dist/hooks/useFetch/axiosFetch.d.ts +111 -0
- package/dist/hooks/useFetch/axiosFetch.d.ts.map +1 -0
- package/dist/hooks/useFetch/cacheManager.d.ts +75 -0
- package/dist/hooks/useFetch/cacheManager.d.ts.map +1 -0
- package/dist/hooks/useFetch/fetch.d.ts +99 -0
- package/dist/hooks/useFetch/fetch.d.ts.map +1 -0
- package/dist/hooks/useFetch/fetch.types.d.ts +510 -0
- package/dist/hooks/useFetch/fetch.types.d.ts.map +1 -0
- package/dist/hooks/useFetch/fetchUtils.d.ts +171 -0
- package/dist/hooks/useFetch/fetchUtils.d.ts.map +1 -0
- package/dist/hooks/useFetch/index.d.ts +7 -0
- package/dist/hooks/useFetch/index.d.ts.map +1 -0
- package/dist/hooks/useFetch/requestQueue.d.ts +45 -0
- package/dist/hooks/useFetch/requestQueue.d.ts.map +1 -0
- package/dist/hooks/useLocalStorage.d.ts +18 -0
- package/dist/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useTable/defaultConfig.d.ts +47 -0
- package/dist/hooks/useTable/defaultConfig.d.ts.map +1 -0
- package/dist/hooks/useTable/index.d.ts +13 -0
- package/dist/hooks/useTable/index.d.ts.map +1 -0
- package/dist/hooks/useTable/types.d.ts +217 -0
- package/dist/hooks/useTable/types.d.ts.map +1 -0
- package/dist/hooks/useTable/useTableRequest.d.ts +26 -0
- package/dist/hooks/useTable/useTableRequest.d.ts.map +1 -0
- package/dist/hooks/useTable/useTableStatic.d.ts +19 -0
- package/dist/hooks/useTable/useTableStatic.d.ts.map +1 -0
- package/dist/hooks/useTable/utils.d.ts +8 -0
- package/dist/hooks/useTable/utils.d.ts.map +1 -0
- package/dist/hooks/useToggle.d.ts +21 -0
- package/dist/hooks/useToggle.d.ts.map +1 -0
- package/dist/hooks/utils/utils.d.ts +20 -0
- package/dist/hooks/utils/utils.d.ts.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +1 -0
- package/dist/toAwaitFetch/toAwaitFetch.cjs.js +1 -0
- package/dist/toAwaitFetch/toAwaitFetch.es.js +1 -0
- package/dist/version.cjs.js +1 -0
- package/dist/version.d.ts +11 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.es.js +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toAwaitFetch.d.ts","sourceRoot":"","sources":["../../../src/hooks/toAwaitFetch/toAwaitFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
export interface UseCounterOptions {
|
|
3
|
+
min?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
initial?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface UseCounterReturn {
|
|
8
|
+
count: Ref<number>;
|
|
9
|
+
inc: (delta?: number) => void;
|
|
10
|
+
dec: (delta?: number) => void;
|
|
11
|
+
set: (value: number) => void;
|
|
12
|
+
reset: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 响应式计数器
|
|
16
|
+
* @param initialValue - 初始值
|
|
17
|
+
* @param options - 配置选项
|
|
18
|
+
* @returns 计数器对象
|
|
19
|
+
*/
|
|
20
|
+
export declare function useCounter(initialValue?: number, options?: UseCounterOptions): UseCounterReturn;
|
|
21
|
+
//# sourceMappingURL=useCounter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCounter.d.ts","sourceRoot":"","sources":["../../src/hooks/useCounter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAClB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,YAAY,GAAE,MAAU,EACxB,OAAO,GAAE,iBAAsB,GAC9B,gBAAgB,CA6BlB"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import type { UseAxiosFetchOptions, UseAxiosFetchReturn, DefaultFetchOptions } from './fetch.types';
|
|
3
|
+
/**
|
|
4
|
+
* 设置全局默认配置
|
|
5
|
+
* @template T 响应数据类型
|
|
6
|
+
* @param options 默认配置选项,会与现有默认配置合并
|
|
7
|
+
* @description 用于设置全局默认配置,所有通过 useAxiosFetch 发起的请求都会使用这些默认配置
|
|
8
|
+
* @example
|
|
9
|
+
* // 设置全局默认配置
|
|
10
|
+
* setDefaultFetchOptions({
|
|
11
|
+
* timeout: 5000,
|
|
12
|
+
* retry: true,
|
|
13
|
+
* retryCount: 3,
|
|
14
|
+
* headers: { 'X-Custom-Header': 'value' }
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* // 部分更新默认配置
|
|
18
|
+
* setDefaultFetchOptions({
|
|
19
|
+
* timeout: 10000
|
|
20
|
+
* })
|
|
21
|
+
*/
|
|
22
|
+
export declare function setDefaultFetchOptions<T = any>(options: DefaultFetchOptions<T>): void;
|
|
23
|
+
/**
|
|
24
|
+
* 获取全局默认配置
|
|
25
|
+
* @template T 响应数据类型
|
|
26
|
+
* @returns 当前全局默认配置的副本
|
|
27
|
+
* @description 返回当前全局默认配置的副本,修改返回值不会影响全局配置
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDefaultFetchOptions<T = any>(): DefaultFetchOptions<T>;
|
|
30
|
+
/**
|
|
31
|
+
* 重置全局默认配置
|
|
32
|
+
* @description 将全局默认配置重置为空对象
|
|
33
|
+
*/
|
|
34
|
+
export declare function resetDefaultFetchOptions(): void;
|
|
35
|
+
/**
|
|
36
|
+
* 基于 axios 的 useFetch 实现
|
|
37
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
38
|
+
* @param fetchOptions 请求选项配置,会与全局默认配置合并
|
|
39
|
+
* @returns UseAxiosFetchReturn 响应式请求对象
|
|
40
|
+
*/
|
|
41
|
+
export declare function useAxiosFetch<T = any>(url: MaybeRefOrGetter<string>, fetchOptions?: UseAxiosFetchOptions<T>): UseAxiosFetchReturn<T>;
|
|
42
|
+
/**
|
|
43
|
+
* GET 请求封装
|
|
44
|
+
* @template T 响应数据类型
|
|
45
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
46
|
+
* @param params GET 请求的查询参数
|
|
47
|
+
* @param options 请求选项配置
|
|
48
|
+
* @param customOptions 自定义参数,用于传递给拦截器等外部调用
|
|
49
|
+
* @returns UseAxiosFetchReturn 响应式请求对象
|
|
50
|
+
*/
|
|
51
|
+
export declare function useAxiosGet<T = any>(url: MaybeRefOrGetter<string>, params?: Record<string, any>, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'params' | 'customOptions'>, customOptions?: Record<string, any>): UseAxiosFetchReturn<T>;
|
|
52
|
+
/**
|
|
53
|
+
* POST 请求封装
|
|
54
|
+
* @template T 响应数据类型
|
|
55
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
56
|
+
* @param data POST 请求的请求体数据
|
|
57
|
+
* @param options 请求选项配置
|
|
58
|
+
* @param customOptions 自定义参数,用于传递给拦截器等外部调用
|
|
59
|
+
* @returns UseAxiosFetchReturn 响应式请求对象
|
|
60
|
+
*/
|
|
61
|
+
export declare function useAxiosPost<T = any>(url: MaybeRefOrGetter<string>, data?: any, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'data' | 'customOptions'>, customOptions?: Record<string, any>): UseAxiosFetchReturn<T>;
|
|
62
|
+
/**
|
|
63
|
+
* GET 请求的 Promise 版本
|
|
64
|
+
* @template T 响应数据类型
|
|
65
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
66
|
+
* @param params GET 请求的查询参数
|
|
67
|
+
* @param options 请求选项配置
|
|
68
|
+
* @param customOptions 自定义参数,用于传递给拦截器等外部调用
|
|
69
|
+
* @returns Promise,resolve 时返回 { data, error: undefined } 或 { data: undefined, error }
|
|
70
|
+
* @description 返回一个 Promise,不会自动执行请求,只执行一次
|
|
71
|
+
* @example
|
|
72
|
+
* const result = await useGetPromise('/api/data', { id: 1 })
|
|
73
|
+
* if (result.error) {
|
|
74
|
+
* console.error(result.error)
|
|
75
|
+
* } else {
|
|
76
|
+
* console.log(result.data)
|
|
77
|
+
* }
|
|
78
|
+
*/
|
|
79
|
+
export declare function useGetPromise<T = any>(url: MaybeRefOrGetter<string>, params?: Record<string, any>, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'params' | 'customOptions'>, customOptions?: Record<string, any>): Promise<{
|
|
80
|
+
data: T;
|
|
81
|
+
error: undefined;
|
|
82
|
+
} | {
|
|
83
|
+
data: undefined;
|
|
84
|
+
error: Error;
|
|
85
|
+
}>;
|
|
86
|
+
/**
|
|
87
|
+
* POST 请求的 Promise 版本
|
|
88
|
+
* @template T 响应数据类型
|
|
89
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
90
|
+
* @param data POST 请求的请求体数据
|
|
91
|
+
* @param options 请求选项配置
|
|
92
|
+
* @param customOptions 自定义参数,用于传递给拦截器等外部调用
|
|
93
|
+
* @returns Promise,resolve 时返回 { data, error: undefined } 或 { data: undefined, error }
|
|
94
|
+
* @description 返回一个 Promise,不会自动执行请求,只执行一次
|
|
95
|
+
* @example
|
|
96
|
+
* const result = await usePostPromise('/api/data', { name: 'test' })
|
|
97
|
+
* if (result.error) {
|
|
98
|
+
* console.error(result.error)
|
|
99
|
+
* } else {
|
|
100
|
+
* console.log(result.data)
|
|
101
|
+
* }
|
|
102
|
+
*/
|
|
103
|
+
export declare function usePostPromise<T = any>(url: MaybeRefOrGetter<string>, data?: any, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'data' | 'customOptions'>, customOptions?: Record<string, any>): Promise<{
|
|
104
|
+
data: T;
|
|
105
|
+
error: undefined;
|
|
106
|
+
} | {
|
|
107
|
+
data: undefined;
|
|
108
|
+
error: Error;
|
|
109
|
+
}>;
|
|
110
|
+
export type { UseAxiosFetchOptions, UseAxiosFetchReturn, DefaultFetchOptions } from './fetch.types';
|
|
111
|
+
//# sourceMappingURL=axiosFetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axiosFetch.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFetch/axiosFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 缓存键生成函数类型
|
|
3
|
+
*/
|
|
4
|
+
export type CacheKeyGenerator = (config: {
|
|
5
|
+
url: string;
|
|
6
|
+
method: string;
|
|
7
|
+
params?: any;
|
|
8
|
+
data?: any;
|
|
9
|
+
headers?: Record<string, string>;
|
|
10
|
+
}) => string;
|
|
11
|
+
/**
|
|
12
|
+
* 默认缓存键生成器:基于 URL + method + params + data
|
|
13
|
+
*/
|
|
14
|
+
export declare function defaultCacheKeyGenerator(config: {
|
|
15
|
+
url: string;
|
|
16
|
+
method: string;
|
|
17
|
+
params?: any;
|
|
18
|
+
data?: any;
|
|
19
|
+
headers?: Record<string, string>;
|
|
20
|
+
}): string;
|
|
21
|
+
/**
|
|
22
|
+
* 缓存管理器
|
|
23
|
+
*/
|
|
24
|
+
declare class CacheManager {
|
|
25
|
+
private cache;
|
|
26
|
+
private maxSize;
|
|
27
|
+
private defaultTTL;
|
|
28
|
+
private keyGenerator;
|
|
29
|
+
constructor(options?: {
|
|
30
|
+
maxSize?: number;
|
|
31
|
+
defaultTTL?: number;
|
|
32
|
+
keyGenerator?: CacheKeyGenerator;
|
|
33
|
+
});
|
|
34
|
+
/**
|
|
35
|
+
* 生成缓存键
|
|
36
|
+
*/
|
|
37
|
+
generateKey(config: {
|
|
38
|
+
url: string;
|
|
39
|
+
method: string;
|
|
40
|
+
params?: any;
|
|
41
|
+
data?: any;
|
|
42
|
+
headers?: Record<string, string>;
|
|
43
|
+
}): string;
|
|
44
|
+
/**
|
|
45
|
+
* 获取缓存
|
|
46
|
+
*/
|
|
47
|
+
get<T>(key: string): T | null;
|
|
48
|
+
/**
|
|
49
|
+
* 设置缓存
|
|
50
|
+
*/
|
|
51
|
+
set<T>(key: string, data: T, ttl?: number): void;
|
|
52
|
+
/**
|
|
53
|
+
* 删除缓存
|
|
54
|
+
*/
|
|
55
|
+
delete(key: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* 清空所有缓存
|
|
58
|
+
*/
|
|
59
|
+
clear(): void;
|
|
60
|
+
/**
|
|
61
|
+
* 清理过期缓存
|
|
62
|
+
*/
|
|
63
|
+
cleanup(): void;
|
|
64
|
+
/**
|
|
65
|
+
* 获取缓存统计信息
|
|
66
|
+
*/
|
|
67
|
+
getStats(): {
|
|
68
|
+
size: number;
|
|
69
|
+
expiredCount: number;
|
|
70
|
+
maxSize: number;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export declare const globalCacheManager: CacheManager;
|
|
74
|
+
export { CacheManager };
|
|
75
|
+
//# sourceMappingURL=cacheManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cacheManager.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFetch/cacheManager.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,KAAK,MAAM,CAAA;AAEZ;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,GAAG,MAAM,CAQT;AAED;;GAEG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,YAAY,CAAmB;gBAE3B,OAAO,GAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,YAAY,CAAC,EAAE,iBAAiB,CAAA;KAC5B;IAMN;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE;QAClB,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,GAAG,CAAA;QACZ,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,GAAG,MAAM;IAIV;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAgB7B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBhD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;IASf;;OAEG;IACH,QAAQ;;;;;CAcT;AAGD,eAAO,MAAM,kBAAkB,cAAqB,CAAA;AAGpD,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import type { UseAxiosFetchOptions, UseFetchReturn, DefaultFetchOptions } from './fetch.types';
|
|
3
|
+
/**
|
|
4
|
+
* 设置全局默认配置
|
|
5
|
+
* @template T 响应数据类型
|
|
6
|
+
* @param options 默认配置选项,会与现有默认配置合并
|
|
7
|
+
* @description 用于设置全局默认配置,所有通过 useFetch 发起的请求都会使用这些默认配置
|
|
8
|
+
* @example
|
|
9
|
+
* // 设置全局默认配置
|
|
10
|
+
* setDefaultFetchOptions({
|
|
11
|
+
* timeout: 5000,
|
|
12
|
+
* retry: true,
|
|
13
|
+
* retryCount: 3,
|
|
14
|
+
* headers: { 'X-Custom-Header': 'value' }
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* // 部分更新默认配置
|
|
18
|
+
* setDefaultFetchOptions({
|
|
19
|
+
* timeout: 10000
|
|
20
|
+
* })
|
|
21
|
+
*/
|
|
22
|
+
export declare function setDefaultFetchOptions<T = any>(options: DefaultFetchOptions<T>): void;
|
|
23
|
+
/**
|
|
24
|
+
* 获取全局默认配置
|
|
25
|
+
* @template T 响应数据类型
|
|
26
|
+
* @returns 当前全局默认配置的副本
|
|
27
|
+
* @description 返回当前全局默认配置的副本,修改返回值不会影响全局配置
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDefaultFetchOptions<T = any>(): DefaultFetchOptions<T>;
|
|
30
|
+
/**
|
|
31
|
+
* 重置全局默认配置
|
|
32
|
+
* @description 将全局默认配置重置为空对象
|
|
33
|
+
*/
|
|
34
|
+
export declare function resetDefaultFetchOptions(): void;
|
|
35
|
+
/**
|
|
36
|
+
* 基于原生 fetch API 的 useFetch 实现
|
|
37
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
38
|
+
* @param fetchOptions 请求选项配置
|
|
39
|
+
* @returns UseFetchReturn 响应式请求对象
|
|
40
|
+
*/
|
|
41
|
+
export declare function useFetch<T = any>(url: MaybeRefOrGetter<string>, fetchOptions?: UseAxiosFetchOptions<T>): UseFetchReturn<T>;
|
|
42
|
+
/**
|
|
43
|
+
* GET 请求封装
|
|
44
|
+
*/
|
|
45
|
+
export declare function useFetchGet<T = any>(url: MaybeRefOrGetter<string>, params?: Record<string, any>, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'params' | 'customOptions'>, customOptions?: Record<string, any>): UseFetchReturn<T>;
|
|
46
|
+
/**
|
|
47
|
+
* POST 请求封装
|
|
48
|
+
*/
|
|
49
|
+
export declare function useFetchPost<T = any>(url: MaybeRefOrGetter<string>, data?: any, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'data' | 'customOptions'>, customOptions?: Record<string, any>): UseFetchReturn<T>;
|
|
50
|
+
/**
|
|
51
|
+
* POST 请求的 Promise 版本
|
|
52
|
+
* @template T 响应数据类型
|
|
53
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
54
|
+
* @param data POST 请求的请求体数据
|
|
55
|
+
* @param options 请求选项配置
|
|
56
|
+
* @param customOptions 自定义参数,用于传递给拦截器等外部调用
|
|
57
|
+
* @returns Promise,resolve 时返回 { data, error: undefined } 或 { data: undefined, error }
|
|
58
|
+
* @description 返回一个 Promise,不会自动执行请求,只执行一次
|
|
59
|
+
* @example
|
|
60
|
+
* const result = await useFetchPostPromise('/api/data', { name: 'test' })
|
|
61
|
+
* if (result.error) {
|
|
62
|
+
* console.error(result.error)
|
|
63
|
+
* } else {
|
|
64
|
+
* console.log(result.data)
|
|
65
|
+
* }
|
|
66
|
+
*/
|
|
67
|
+
export declare function useFetchPostPromise<T = any>(url: MaybeRefOrGetter<string>, data?: any, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'data' | 'customOptions'>, customOptions?: Record<string, any>): Promise<{
|
|
68
|
+
data: T;
|
|
69
|
+
error: undefined;
|
|
70
|
+
} | {
|
|
71
|
+
data: undefined;
|
|
72
|
+
error: Error;
|
|
73
|
+
}>;
|
|
74
|
+
/**
|
|
75
|
+
* GET 请求的 Promise 版本
|
|
76
|
+
* @template T 响应数据类型
|
|
77
|
+
* @param url 请求 URL,可以是字符串或响应式引用
|
|
78
|
+
* @param params GET 请求的查询参数
|
|
79
|
+
* @param options 请求选项配置
|
|
80
|
+
* @param customOptions 自定义参数,用于传递给拦截器等外部调用
|
|
81
|
+
* @returns Promise,resolve 时返回 { data, error: undefined } 或 { data: undefined, error }
|
|
82
|
+
* @description 返回一个 Promise,不会自动执行请求,只执行一次
|
|
83
|
+
* @example
|
|
84
|
+
* const result = await useFetchGetPromise('/api/data', { id: 1 })
|
|
85
|
+
* if (result.error) {
|
|
86
|
+
* console.error(result.error)
|
|
87
|
+
* } else {
|
|
88
|
+
* console.log(result.data)
|
|
89
|
+
* }
|
|
90
|
+
*/
|
|
91
|
+
export declare function useFetchGetPromise<T = any>(url: MaybeRefOrGetter<string>, params?: Record<string, any>, options?: Omit<UseAxiosFetchOptions<T>, 'method' | 'params' | 'customOptions'>, customOptions?: Record<string, any>): Promise<{
|
|
92
|
+
data: T;
|
|
93
|
+
error: undefined;
|
|
94
|
+
} | {
|
|
95
|
+
data: undefined;
|
|
96
|
+
error: Error;
|
|
97
|
+
}>;
|
|
98
|
+
export type { UseAxiosFetchOptions, UseFetchReturn, DefaultFetchOptions, FetchResponse } from './fetch.types';
|
|
99
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFetch/fetch.ts"],"names":[],"mappings":"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"}
|