xn-fe-tools 1.3.2 → 1.4.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/dist/hooks/toAwaitFetch/toAwaitFetch.api.d.ts +5 -4
- package/dist/hooks/toAwaitFetch/toAwaitFetch.api.d.ts.map +1 -1
- package/dist/hooks/toAwaitFetch/toAwaitFetch.d.ts.map +1 -1
- package/dist/hooks/useInputNumber/index.d.ts +1 -1
- package/dist/hooks/useInputNumber/index.d.ts.map +1 -1
- package/dist/hooks/useRequestCache/index.d.ts +56 -0
- package/dist/hooks/useRequestCache/index.d.ts.map +1 -0
- package/dist/hooks/useTableRequest/index.d.ts +8 -2
- package/dist/hooks/useTableRequest/index.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +1 -1
- package/dist/toAwaitFetch/toAwaitFetch.cjs.js +1 -1
- package/dist/toAwaitFetch/toAwaitFetch.es.js +1 -1
- package/dist/useInputNumber/index.cjs.js +1 -1
- package/dist/useInputNumber/index.es.js +1 -1
- package/dist/useRequestCache/index.cjs.js +1 -0
- package/dist/useRequestCache/index.es.js +1 -0
- package/dist/useTableRequest/index.cjs.js +1 -1
- package/dist/useTableRequest/index.es.js +1 -1
- package/dist/version.cjs.js +1 -1
- package/dist/version.es.js +1 -1
- package/package.json +1 -1
|
@@ -308,22 +308,23 @@ export interface FetchError<T = any> {
|
|
|
308
308
|
}
|
|
309
309
|
/**
|
|
310
310
|
* 请求结果(支持链式调用和解构)
|
|
311
|
-
* 数组格式:[data, error, success]
|
|
311
|
+
* 数组格式:[data, error, success, response]
|
|
312
312
|
* - data: 响应数据(成功时)
|
|
313
313
|
* - error: 错误信息(失败时)
|
|
314
314
|
* - success: 请求是否成功
|
|
315
|
+
* - response: 完整的响应对象(包含 headers、status 等)
|
|
315
316
|
*/
|
|
316
|
-
export type FetchResult<T = any> = [T | undefined, FetchError | undefined, boolean];
|
|
317
|
+
export type FetchResult<T = any> = [T | undefined, FetchError | undefined, boolean, FetchResponse<T> | undefined];
|
|
317
318
|
/**
|
|
318
319
|
* 扩展 Promise,同时支持解构和链式调用
|
|
319
320
|
*/
|
|
320
321
|
export interface FetchResultPromise<T = any> extends Promise<FetchResult<T>> {
|
|
321
322
|
/**
|
|
322
323
|
* 成功回调(重载 Promise 的 then 方法)
|
|
323
|
-
* @param callback
|
|
324
|
+
* @param callback 成功时的回调函数,接收数据和可选的完整响应对象
|
|
324
325
|
* @returns 返回自身,支持链式调用
|
|
325
326
|
*/
|
|
326
|
-
then(callback: (data: T) => void): this;
|
|
327
|
+
then(callback: (data: T, response: FetchResponse<T>) => void): this;
|
|
327
328
|
/**
|
|
328
329
|
* 取消当前请求(触发 AbortController)
|
|
329
330
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toAwaitFetch.api.d.ts","sourceRoot":"","sources":["../../../src/hooks/toAwaitFetch/toAwaitFetch.api.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"toAwaitFetch.api.d.ts","sourceRoot":"","sources":["../../../src/hooks/toAwaitFetch/toAwaitFetch.api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toAwaitFetch.d.ts","sourceRoot":"","sources":["../../../src/hooks/toAwaitFetch/toAwaitFetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EAEb,kBAAkB,EAGlB,aAAa,EACb,YAAY,EAGZ,WAAW,EACX,YAAY,EAGZ,mBAAmB,EAMnB,WAAW,EACX,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,UAAU,qBAAqB,CAAC,QAAQ,GAAG,GAAG,EAAE,SAAS,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;IACzG;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC/D;
|
|
1
|
+
{"version":3,"file":"toAwaitFetch.d.ts","sourceRoot":"","sources":["../../../src/hooks/toAwaitFetch/toAwaitFetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputNumber/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,GAAG,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE9G,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInputNumber/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,GAAG,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,KAAK,CAAC;AAE9G,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;CACrD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;AACtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import { type MaybeRefOrGetter } from '../../utils/utils';
|
|
3
|
+
export type CacheStrategy = 'memory' | 'localStorage' | 'sessionStorage' | 'indexedDB';
|
|
4
|
+
export type CacheKeyGenerator<P> = string | ((params: P) => string);
|
|
5
|
+
export interface UseRequestCacheOptions<T = any, P = any, R = any> {
|
|
6
|
+
/** 请求函数 */
|
|
7
|
+
requestFn: (params: P) => Promise<R>;
|
|
8
|
+
/** 缓存唯一标记,用于区分不同请求。可以是字符串或生成函数 */
|
|
9
|
+
cacheKey: CacheKeyGenerator<P>;
|
|
10
|
+
/** 缓存时间(毫秒),默认 5 分钟 (300000ms) */
|
|
11
|
+
cacheTime?: number;
|
|
12
|
+
/** Storage 策略,默认为 'memory' */
|
|
13
|
+
storage?: MaybeRefOrGetter<CacheStrategy>;
|
|
14
|
+
/** 请求参数(响应式或普通对象),用于生成动态 key */
|
|
15
|
+
params?: MaybeRefOrGetter<P>;
|
|
16
|
+
/** 结果转换函数,在返回数据前进行转换 */
|
|
17
|
+
transformResult?: (data: R) => T;
|
|
18
|
+
/** 是否立即执行,默认 true */
|
|
19
|
+
immediate?: boolean;
|
|
20
|
+
/** 手动指定的 storage key 前缀,默认 'req_cache_' */
|
|
21
|
+
storageKeyPrefix?: string;
|
|
22
|
+
/** 首次请求是否强制更新(跳过缓存),默认为 false */
|
|
23
|
+
forceRefreshOnFirst?: MaybeRefOrGetter<boolean>;
|
|
24
|
+
/** IndexedDB 数据库名称,仅在 storage 为 'indexedDB' 时有效,默认 'RequestCacheDB' */
|
|
25
|
+
dbName?: string;
|
|
26
|
+
/** IndexedDB 存储对象名称,仅在 storage 为 'indexedDB' 时有效,默认 'request_cache' */
|
|
27
|
+
storeName?: string;
|
|
28
|
+
/** 请求成功的回调 */
|
|
29
|
+
onSuccess?: (data: T) => void;
|
|
30
|
+
/** 请求失败的回调 */
|
|
31
|
+
onError?: (error: any) => void;
|
|
32
|
+
}
|
|
33
|
+
export interface UseRequestCacheReturn<T> {
|
|
34
|
+
data: Ref<T | undefined>;
|
|
35
|
+
loading: Ref<boolean>;
|
|
36
|
+
error: Ref<any>;
|
|
37
|
+
/** 执行请求 (优先使用缓存) */
|
|
38
|
+
run: () => Promise<T | undefined>;
|
|
39
|
+
/** 刷新(忽略缓存,强制请求) */
|
|
40
|
+
refresh: () => Promise<T | undefined>;
|
|
41
|
+
/** 清除指定 key 的缓存,如果不传则清除当前自动生成的 key */
|
|
42
|
+
clearCache: (key?: string) => Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 支持缓存的请求 Hook
|
|
46
|
+
*
|
|
47
|
+
* 特性:
|
|
48
|
+
* 1. 支持内存、localStorage、sessionStorage 缓存
|
|
49
|
+
* 2. 支持请求去重(并发请求共享同一个 Promise)
|
|
50
|
+
* 3. 支持结果转换 (transformResult)
|
|
51
|
+
* 4. 支持缓存过期时间
|
|
52
|
+
*
|
|
53
|
+
* @param options 配置选项
|
|
54
|
+
*/
|
|
55
|
+
export declare function useRequestCache<T = any, P = any, R = any>(options: UseRequestCacheOptions<T, P, R>): UseRequestCacheReturn<T>;
|
|
56
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRequestCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAC1C,OAAO,EAAW,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIlE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,cAAc,GAAG,gBAAgB,GAAG,WAAW,CAAA;AACtF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAC,CAAA;AAEnE,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG;IAC/D,WAAW;IACX,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IAEpC,kCAAkC;IAClC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;IAE9B,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAA;IAEzC,gCAAgC;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAE5B,wBAAwB;IACxB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;IAEhC,qBAAqB;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,iCAAiC;IACjC,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAE/C,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,cAAc;IACd,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAE7B,cAAc;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACxB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IAEf,oBAAoB;IACpB,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAEjC,oBAAoB;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAErC,sCAAsC;IACtC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5C;AA8CD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EACvD,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvC,qBAAqB,CAAC,CAAC,CAAC,CAoT1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Ref
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
2
|
import { type MaybeRef, type MaybeRefOrGetter } from '../../utils/utils';
|
|
3
3
|
export type { MaybeRef, MaybeRefOrGetter };
|
|
4
4
|
/** 请求函数类型 */
|
|
@@ -48,6 +48,8 @@ export interface UseTableRequestOptions<T = any, R = any, P = any> {
|
|
|
48
48
|
onSuccess?: (data: T[], response: R) => void;
|
|
49
49
|
/** 请求失败回调 */
|
|
50
50
|
onError?: (error: Error) => void;
|
|
51
|
+
/** 是否开启增量模式(滚动加载),默认 false */
|
|
52
|
+
incremental?: boolean;
|
|
51
53
|
}
|
|
52
54
|
/** 分页信息 */
|
|
53
55
|
export interface PaginationState {
|
|
@@ -67,13 +69,15 @@ export interface UseTableRequestReturn<T> {
|
|
|
67
69
|
/** 错误信息 */
|
|
68
70
|
error: Ref<Error | null>;
|
|
69
71
|
/** 分页信息 */
|
|
70
|
-
pagination:
|
|
72
|
+
pagination: PaginationState;
|
|
71
73
|
/** 手动触发请求 */
|
|
72
74
|
run: () => Promise<void>;
|
|
73
75
|
/** 翻页 */
|
|
74
76
|
onPageChange: (page: number) => Promise<void>;
|
|
75
77
|
/** 改变每页数量 */
|
|
76
78
|
onSizeChange: (size: number) => Promise<void>;
|
|
79
|
+
/** 刷新数据(增量模式下清空数据并重置页码,普通模式下等同于 run) */
|
|
80
|
+
refresh: () => Promise<void>;
|
|
77
81
|
}
|
|
78
82
|
/** useTableRequest 全局配置选项 */
|
|
79
83
|
export interface UseTableRequestGlobalConfig {
|
|
@@ -89,6 +93,8 @@ export interface UseTableRequestGlobalConfig {
|
|
|
89
93
|
totalField?: string;
|
|
90
94
|
/** 当前页码字段名,默认空(不修正),支持点号分隔的嵌套路径,如 "page" 或 "data.currentPage" */
|
|
91
95
|
currentPageField?: string;
|
|
96
|
+
/** 是否开启增量模式(滚动加载),默认 false */
|
|
97
|
+
incremental?: boolean;
|
|
92
98
|
}
|
|
93
99
|
/**
|
|
94
100
|
* 设置 useTableRequest 全局默认配置
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTableRequest/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/useTableRequest/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./toAwaitFetch/toAwaitFetch.cjs.js"),s=require("./useTableRequest/index.cjs.js"),t=require("./useInputNumber/index.cjs.js"),o=require("./version.cjs.js");exports.cancel=e.cancel,exports.createInstance=e.createInstance,exports.sendGet=e.sendGet,exports.sendGetBlob=e.sendGetBlob,exports.sendPost=e.sendPost,exports.sendPostBlob=e.sendPostBlob,exports.sendPostForm=e.sendPostForm,exports.setGlobalConfig=e.setGlobalConfig,exports.toAwaitFetch=e.default,exports.getTableRequestGlobalConfig=s.getTableRequestGlobalConfig,exports.setTableRequestGlobalConfig=s.setTableRequestGlobalConfig,exports.useTableRequest=s.useTableRequest,exports.useInputNumber=t.useInputNumber,exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./toAwaitFetch/toAwaitFetch.cjs.js"),s=require("./useTableRequest/index.cjs.js"),t=require("./useInputNumber/index.cjs.js"),o=require("./useRequestCache/index.cjs.js"),r=require("./version.cjs.js");exports.cancel=e.cancel,exports.createInstance=e.createInstance,exports.sendGet=e.sendGet,exports.sendGetBlob=e.sendGetBlob,exports.sendPost=e.sendPost,exports.sendPostBlob=e.sendPostBlob,exports.sendPostForm=e.sendPostForm,exports.setGlobalConfig=e.setGlobalConfig,exports.toAwaitFetch=e.default,exports.getTableRequestGlobalConfig=s.getTableRequestGlobalConfig,exports.setTableRequestGlobalConfig=s.setTableRequestGlobalConfig,exports.useTableRequest=s.useTableRequest,exports.useInputNumber=t.useInputNumber,exports.useRequestCache=o.useRequestCache,exports.VERSION=r.VERSION,exports.getVersion=r.getVersion;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,6 @@ export * from './hooks/toAwaitFetch/toAwaitFetch.api';
|
|
|
2
2
|
export { default as toAwaitFetch, sendGet, sendPost, sendPostForm, sendPostBlob, sendGetBlob, setGlobalConfig, cancel, createInstance, } from './hooks/toAwaitFetch/toAwaitFetch';
|
|
3
3
|
export * from './hooks/useTableRequest';
|
|
4
4
|
export * from './hooks/useInputNumber';
|
|
5
|
+
export * from './hooks/useRequestCache';
|
|
5
6
|
export { VERSION, getVersion } from './version';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,uCAAuC,CAAA;AACrD,OAAO,EACL,OAAO,IAAI,YAAY,EACvB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,MAAM,EACN,cAAc,GACf,MAAM,mCAAmC,CAAA;AAE1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,uCAAuC,CAAA;AACrD,OAAO,EACL,OAAO,IAAI,YAAY,EACvB,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,MAAM,EACN,cAAc,GACf,MAAM,mCAAmC,CAAA;AAE1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AAEvC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA"}
|
package/dist/index.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cancel as e,createInstance as t,sendGet as s,sendGetBlob as o,sendPost as r,sendPostBlob as i,sendPostForm as m,setGlobalConfig as a,default as
|
|
1
|
+
import{cancel as e,createInstance as t,sendGet as s,sendGetBlob as o,sendPost as r,sendPostBlob as i,sendPostForm as m,setGlobalConfig as a,default as u}from"./toAwaitFetch/toAwaitFetch.es.js";import{getTableRequestGlobalConfig as p,setTableRequestGlobalConfig as f,useTableRequest as j}from"./useTableRequest/index.es.js";import{useInputNumber as n}from"./useInputNumber/index.es.js";import{useRequestCache as c}from"./useRequestCache/index.es.js";import{VERSION as d,getVersion as h}from"./version.es.js";export{d as VERSION,e as cancel,t as createInstance,p as getTableRequestGlobalConfig,h as getVersion,s as sendGet,o as sendGetBlob,r as sendPost,i as sendPostBlob,m as sendPostForm,a as setGlobalConfig,f as setTableRequestGlobalConfig,u as toAwaitFetch,n as useInputNumber,c as useRequestCache,j as useTableRequest};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=t=>!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof Date||t instanceof RegExp||t instanceof File||t instanceof Blob||"undefined"!=typeof FormData&&t instanceof FormData),e=(r,s)=>{const o={...r};for(const n in s){if(!Object.prototype.hasOwnProperty.call(s,n))continue;const r=s[n];if(void 0===r)continue;const a=o[n];t(r)&&t(a)?o[n]=e(a,r):o[n]=r}return o},r=t=>t>=200&&t<300,s=()=>!0,o=t=>new Promise(e=>setTimeout(e,t)),n=async t=>{if(!(t=>{if(!t)return!0;if(204===t.status||205===t.status||304===t.status)return!0;const e=t.headers.get("content-length");return!(!e||0!==Number(e))})(t))try{return await t.json()}catch(e){let s;try{s=await t.text()}catch{return}if(!s.trim())return;try{return JSON.parse(s)}catch(r){return}}},a=(t,e,r,s,o)=>({message:t,type:e,status:r,response:s,error:o}),i=t=>{if(t instanceof Error){const e=new Error(t.message);return t.name&&(e.name=t.name),t.stack&&(e.stack=t.stack),e}return new Error(String(t))},u=async(t,e,r)=>!!t?.enabled&&(!(e>(t.maxRetryCount??3))&&(t.shouldRetry?await t.shouldRetry(e,r):"network"===r.type||"timeout"===r.type)),c=(t,e)=>{const r=Object.create(t);let s=!1,o=!1,n=!1;const a=t.then.bind(t),i=t.catch.bind(t),u=a(t=>{n=!0===t.__errorSuppressed,delete t.__errorSuppressed;const e=new Proxy(t,{get(t,e){if(("1"===e||"number"==typeof e&&1===e)&&(o=!0),e===Symbol.iterator){const e=t[Symbol.iterator]();return function*(){let t=0;for(const r of e)1===t&&(o=!0),yield r,t++}}return t[e]}}),r=t[1];return t[2]||!r||n||s||queueMicrotask(()=>{queueMicrotask(()=>{if(!(o||o||s||n)){const t=new Error(`Unhandled fetch error: ${r.message} (type: ${r.type})`);throw t.fetchError=r,t}})}),e});r.cancel=()=>{e&&e()};const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=t=>!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof Date||t instanceof RegExp||t instanceof File||t instanceof Blob||"undefined"!=typeof FormData&&t instanceof FormData),e=(r,s)=>{const o={...r};for(const n in s){if(!Object.prototype.hasOwnProperty.call(s,n))continue;const r=s[n];if(void 0===r)continue;const a=o[n];t(r)&&t(a)?o[n]=e(a,r):o[n]=r}return o},r=t=>t>=200&&t<300,s=()=>!0,o=t=>new Promise(e=>setTimeout(e,t)),n=async t=>{if(!(t=>{if(!t)return!0;if(204===t.status||205===t.status||304===t.status)return!0;const e=t.headers.get("content-length");return!(!e||0!==Number(e))})(t))try{return await t.json()}catch(e){let s;try{s=await t.text()}catch{return}if(!s.trim())return;try{return JSON.parse(s)}catch(r){return}}},a=(t,e,r,s,o)=>({message:t,type:e,status:r,response:s,error:o}),i=t=>{if(t instanceof Error){const e=new Error(t.message);return t.name&&(e.name=t.name),t.stack&&(e.stack=t.stack),e}return new Error(String(t))},u=async(t,e,r)=>!!t?.enabled&&(!(e>(t.maxRetryCount??3))&&(t.shouldRetry?await t.shouldRetry(e,r):"network"===r.type||"timeout"===r.type)),c=(t,e)=>{const r=Object.create(t);let s=!1,o=!1,n=!1;const a=t.then.bind(t),i=t.catch.bind(t),u=a(t=>{n=!0===t.__errorSuppressed,delete t.__errorSuppressed;const e=new Proxy(t,{get(t,e){if(("1"===e||"number"==typeof e&&1===e)&&(o=!0),e===Symbol.iterator){const e=t[Symbol.iterator]();return function*(){let t=0;for(const r of e)1===t&&(o=!0),yield r,t++}}return t[e]}}),r=t[1];return t[2]||!r||n||s||queueMicrotask(()=>{queueMicrotask(()=>{if(!(o||o||s||n)){const t=new Error(`Unhandled fetch error: ${r.message} (type: ${r.type})`);throw t.fetchError=r,t}})}),e});r.cancel=()=>{e&&e()};const d=u.then.bind(u);return r.then=function(t,r){return t&&"function"==typeof t&&!r&&t.length<=2?c(d(e=>{const r=e[2],s=e[0],o=e[3];return r&&void 0!==s&&t(s,o),e}),e):d(t,r)},r.catchHttp=function(t){s=!0;const r=d(e=>{const r=e[2],s=e[1];return!r&&s&&"http"===s.type&&t(s),!r&&s&&(e.__errorSuppressed=!0),e});return c(r,e)},r.catchBusiness=function(t){s=!0;const r=d(e=>{const r=e[1],s=e[2];return!s&&r&&"business"===r.type&&t(r),!s&&r&&(e.__errorSuppressed=!0),e});return c(r,e)},r.catchNetwork=function(t){if(s=!0,t&&"function"==typeof t){const r=d(e=>{const r=e[1],s=e[2];return!s&&r&&t(r),!s&&r&&(e.__errorSuppressed=!0),e});return c(r,e)}return i(t)},r};class d{globalConfig={};constructor(t){t&&(this.globalConfig={...t}),this.request=this.request.bind(this),this.sendGet=this.sendGet.bind(this),this.sendPost=this.sendPost.bind(this),this.sendPostForm=this.sendPostForm.bind(this),this.sendPostBlob=this.sendPostBlob.bind(this),this.sendGetBlob=this.sendGetBlob.bind(this),this.setGlobalConfig=this.setGlobalConfig.bind(this)}async executeRequest(e,c,d=1){try{const m=e,w=m.signal;w&&(w.aborted?c.abort():w.addEventListener("abort",()=>c.abort(),{once:!0}));const g=(l=m.headers,f=m.url,b=m.method,l?"function"==typeof l?l({url:f,method:b}):l:{}),{body:E,urlParams:P}=((e,r,s)=>{if(!e)return{};if("GET"===r||"HEAD"===r||"OPTIONS"===r){if(t(e)){const t=new URLSearchParams;for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const s=e[r];null!=s&&t.append(r,String(s))}return{urlParams:t.toString()}}return{}}if("form"===s&&t(e)){const t=new FormData;for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const s=e[r];null!=s&&(s instanceof File||s instanceof Blob?t.append(r,s):t.append(r,String(s)))}return{body:t}}return"json"===s?{body:JSON.stringify(e)}:"text"===s?{body:String(e)}:"blob"===s&&e instanceof Blob||"arraybuffer"===s&&e instanceof ArrayBuffer?{body:e}:{body:String(e)}})(m.data,m.method||"GET",m.requestType||"json"),x=((t,e,r)=>{if(e.startsWith("http://")||e.startsWith("https://")){if(r){const t=e.includes("?")?"&":"?";return`${e}${t}${r}`}return e}let s=e;t&&(s=`${t.endsWith("/")?t.slice(0,-1):t}${e.startsWith("/")?e:`/${e}`}`);if(r){const t=s.includes("?")?"&":"?";s=`${s}${t}${r}`}return s})(m.baseURL,m.url,P),T=m.timeout;let S,v=!1,G=g;E&&"string"==typeof E&&"json"===m.requestType?G={"Content-Type":"application/json",...g}:E instanceof FormData&&(G=g);const q=new AbortController,B=()=>q.abort();c.signal.addEventListener("abort",B);const _={method:m.method||"GET",headers:G,body:E,mode:"cors",credentials:!1===m.withCredentials?"same-origin":"include",signal:q.signal},C=fetch(x,_);let R;try{if(T){const t=new Promise((t,e)=>{S=setTimeout(()=>{v=!0,q.abort(),e(a("Request timeout","timeout"))},T)});R=await Promise.race([C,t])}else R=await C}catch(h){if(S&&clearTimeout(S),v){const t=a("Request timeout","timeout");if(await u(m.retry,d,t))return c.signal.removeEventListener("abort",B),await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onNetworkError){const r=()=>{e=!0};await m.onNetworkError(i(new Error(t.message)),r)}const r=[void 0,t,!1,void 0];return r.__errorSuppressed=e,c.signal.removeEventListener("abort",B),r}throw h}finally{S&&clearTimeout(S),c.signal.removeEventListener("abort",B)}const j=m.responseType||"json";let O;try{O=await(async(t,e)=>{if(!t)throw new Error("No response received");switch(e){case"json":default:return await n(t);case"text":return await t.text();case"blob":return await t.blob();case"arraybuffer":return await t.arrayBuffer();case"formData":return await t.formData()}})(R,j)}catch(p){const t=a("Failed to parse response","network",R.status,void 0,p instanceof Error?p:new Error(String(p)));if(await u(m.retry,d,t))return await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onNetworkError){const r=()=>{e=!0};await m.onNetworkError(i(t.error||new Error(t.message)),r)}const r=[void 0,t,!1,void 0];return r.__errorSuppressed=e,r}if(!(m.validateStatus||r)(R.status)){const t=a(`HTTP Error: ${R.status} ${R.statusText}`,"http",R.status,O);if(await u(m.retry,d,t))return await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onHttpError){const r=()=>{e=!0},s=new Error(t.message);await m.onHttpError(s,R.status,O,r)}const r=[void 0,t,!1,{data:O,status:R.status,statusText:R.statusText,headers:R.headers,response:R}];return r.__errorSuppressed=e,r}if(!(m.validateResponse||s)(O)){const t=a("Business validation failed","business",R.status,O);if(await u(m.retry,d,t))return await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onBusinessError){const r=()=>{e=!0},s=new Error(t.message);await m.onBusinessError(s,O,r)}const r=[void 0,t,!1,{data:O,status:R.status,statusText:R.statusText,headers:R.headers,response:R}];return r.__errorSuppressed=e,r}let k=O;if(m.transformResponse)try{k=m.transformResponse(O)}catch(y){console.warn("[toAwaitFetch] transformResponse error:",y)}return[k,void 0,!0,{data:O,status:R.status,statusText:R.statusText,headers:R.headers,response:R}]}catch(h){const t=(t=>t instanceof DOMException&&"AbortError"===t.name)(h),r=a(t?"Request aborted":h instanceof Error?h.message:"Network error","network",void 0,void 0,h instanceof Error?h:new Error(String(h)));if(!t&&await u(e.retry,d,r))return await o(e.retry?.delay||1e3),this.executeRequest(e,c,d+1);let s=!1;if(e.onNetworkError){const t=()=>{s=!0};await e.onNetworkError(i(r.error||new Error(r.message)),t)}const n=[void 0,r,!1,void 0];return n.__errorSuppressed=s,n}var l,f,b}request(t){const r=e({...this.globalConfig},t),s=new AbortController,o=this.executeRequest(r,s);return c(o,()=>s.abort())}setGlobalConfig(t){this.globalConfig={...t}}getGlobalConfig(){return{...this.globalConfig}}mergeGlobalConfig(t){this.globalConfig=e(this.globalConfig,t)}sendGet(t,e,r){return this.request({...r,url:t,method:"GET",data:e})}sendPost(t,e,r){return this.request({...r,url:t,method:"POST",data:e,requestType:"json"})}sendPostForm(t,e,r){return this.request({...r,url:t,method:"POST",data:e,requestType:"form"})}sendPostBlob(t,e,r){return this.request({...r,url:t,method:"POST",data:e,requestType:"json",responseType:"blob"})}sendGetBlob(t,e,r){return this.request({...r,url:t,method:"GET",data:e,responseType:"blob"})}}const l=t=>new d(t),f=new d,b=t=>{t?.cancel?.()},h=Object.assign(t=>t&&"object"==typeof t&&"url"in t?f.request(t):l(t),{create:l,sendGet:f.sendGet.bind(f),sendPost:f.sendPost.bind(f),sendPostForm:f.sendPostForm.bind(f),sendPostBlob:f.sendPostBlob.bind(f),sendGetBlob:f.sendGetBlob.bind(f),setGlobalConfig:f.setGlobalConfig.bind(f),cancel:b});exports.FetchInstanceImpl=d,exports.cancel=b,exports.createInstance=l,exports.default=h,exports.sendGet=(t,e,r)=>f.request({...r,url:t,method:"GET",data:e}),exports.sendGetBlob=(t,e,r)=>f.sendGetBlob(t,e,r),exports.sendPost=(t,e,r)=>f.sendPost(t,e,r),exports.sendPostBlob=(t,e,r)=>f.sendPostBlob(t,e,r),exports.sendPostForm=(t,e,r)=>f.sendPostForm(t,e,r),exports.setGlobalConfig=t=>{f.setGlobalConfig(t)};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof Date||t instanceof RegExp||t instanceof File||t instanceof Blob||"undefined"!=typeof FormData&&t instanceof FormData),e=(r,s)=>{const o={...r};for(const n in s){if(!Object.prototype.hasOwnProperty.call(s,n))continue;const r=s[n];if(void 0===r)continue;const a=o[n];t(r)&&t(a)?o[n]=e(a,r):o[n]=r}return o},r=t=>t>=200&&t<300,s=()=>!0,o=t=>new Promise(e=>setTimeout(e,t)),n=async t=>{if(!(t=>{if(!t)return!0;if(204===t.status||205===t.status||304===t.status)return!0;const e=t.headers.get("content-length");return!(!e||0!==Number(e))})(t))try{return await t.json()}catch(e){let s;try{s=await t.text()}catch{return}if(!s.trim())return;try{return JSON.parse(s)}catch(r){return}}},a=(t,e,r,s,o)=>({message:t,type:e,status:r,response:s,error:o}),i=t=>{if(t instanceof Error){const e=new Error(t.message);return t.name&&(e.name=t.name),t.stack&&(e.stack=t.stack),e}return new Error(String(t))},u=async(t,e,r)=>!!t?.enabled&&(!(e>(t.maxRetryCount??3))&&(t.shouldRetry?await t.shouldRetry(e,r):"network"===r.type||"timeout"===r.type)),c=(t,e)=>{const r=Object.create(t);let s=!1,o=!1,n=!1;const a=t.then.bind(t),i=t.catch.bind(t),u=a(t=>{n=!0===t.__errorSuppressed,delete t.__errorSuppressed;const e=new Proxy(t,{get(t,e){if(("1"===e||"number"==typeof e&&1===e)&&(o=!0),e===Symbol.iterator){const e=t[Symbol.iterator]();return function*(){let t=0;for(const r of e)1===t&&(o=!0),yield r,t++}}return t[e]}}),r=t[1];return t[2]||!r||n||s||queueMicrotask(()=>{queueMicrotask(()=>{if(!(o||o||s||n)){const t=new Error(`Unhandled fetch error: ${r.message} (type: ${r.type})`);throw t.fetchError=r,t}})}),e});r.cancel=()=>{e&&e()};const
|
|
1
|
+
const t=t=>!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof Date||t instanceof RegExp||t instanceof File||t instanceof Blob||"undefined"!=typeof FormData&&t instanceof FormData),e=(r,s)=>{const o={...r};for(const n in s){if(!Object.prototype.hasOwnProperty.call(s,n))continue;const r=s[n];if(void 0===r)continue;const a=o[n];t(r)&&t(a)?o[n]=e(a,r):o[n]=r}return o},r=t=>t>=200&&t<300,s=()=>!0,o=t=>new Promise(e=>setTimeout(e,t)),n=async t=>{if(!(t=>{if(!t)return!0;if(204===t.status||205===t.status||304===t.status)return!0;const e=t.headers.get("content-length");return!(!e||0!==Number(e))})(t))try{return await t.json()}catch(e){let s;try{s=await t.text()}catch{return}if(!s.trim())return;try{return JSON.parse(s)}catch(r){return}}},a=(t,e,r,s,o)=>({message:t,type:e,status:r,response:s,error:o}),i=t=>{if(t instanceof Error){const e=new Error(t.message);return t.name&&(e.name=t.name),t.stack&&(e.stack=t.stack),e}return new Error(String(t))},u=async(t,e,r)=>!!t?.enabled&&(!(e>(t.maxRetryCount??3))&&(t.shouldRetry?await t.shouldRetry(e,r):"network"===r.type||"timeout"===r.type)),c=(t,e)=>{const r=Object.create(t);let s=!1,o=!1,n=!1;const a=t.then.bind(t),i=t.catch.bind(t),u=a(t=>{n=!0===t.__errorSuppressed,delete t.__errorSuppressed;const e=new Proxy(t,{get(t,e){if(("1"===e||"number"==typeof e&&1===e)&&(o=!0),e===Symbol.iterator){const e=t[Symbol.iterator]();return function*(){let t=0;for(const r of e)1===t&&(o=!0),yield r,t++}}return t[e]}}),r=t[1];return t[2]||!r||n||s||queueMicrotask(()=>{queueMicrotask(()=>{if(!(o||o||s||n)){const t=new Error(`Unhandled fetch error: ${r.message} (type: ${r.type})`);throw t.fetchError=r,t}})}),e});r.cancel=()=>{e&&e()};const d=u.then.bind(u);return r.then=function(t,r){return t&&"function"==typeof t&&!r&&t.length<=2?c(d(e=>{const r=e[2],s=e[0],o=e[3];return r&&void 0!==s&&t(s,o),e}),e):d(t,r)},r.catchHttp=function(t){s=!0;const r=d(e=>{const r=e[2],s=e[1];return!r&&s&&"http"===s.type&&t(s),!r&&s&&(e.__errorSuppressed=!0),e});return c(r,e)},r.catchBusiness=function(t){s=!0;const r=d(e=>{const r=e[1],s=e[2];return!s&&r&&"business"===r.type&&t(r),!s&&r&&(e.__errorSuppressed=!0),e});return c(r,e)},r.catchNetwork=function(t){if(s=!0,t&&"function"==typeof t){const r=d(e=>{const r=e[1],s=e[2];return!s&&r&&t(r),!s&&r&&(e.__errorSuppressed=!0),e});return c(r,e)}return i(t)},r};class d{globalConfig={};constructor(t){t&&(this.globalConfig={...t}),this.request=this.request.bind(this),this.sendGet=this.sendGet.bind(this),this.sendPost=this.sendPost.bind(this),this.sendPostForm=this.sendPostForm.bind(this),this.sendPostBlob=this.sendPostBlob.bind(this),this.sendGetBlob=this.sendGetBlob.bind(this),this.setGlobalConfig=this.setGlobalConfig.bind(this)}async executeRequest(e,c,d=1){try{const m=e,w=m.signal;w&&(w.aborted?c.abort():w.addEventListener("abort",()=>c.abort(),{once:!0}));const g=(l=m.headers,f=m.url,h=m.method,l?"function"==typeof l?l({url:f,method:h}):l:{}),{body:E,urlParams:P}=((e,r,s)=>{if(!e)return{};if("GET"===r||"HEAD"===r||"OPTIONS"===r){if(t(e)){const t=new URLSearchParams;for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const s=e[r];null!=s&&t.append(r,String(s))}return{urlParams:t.toString()}}return{}}if("form"===s&&t(e)){const t=new FormData;for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const s=e[r];null!=s&&(s instanceof File||s instanceof Blob?t.append(r,s):t.append(r,String(s)))}return{body:t}}return"json"===s?{body:JSON.stringify(e)}:"text"===s?{body:String(e)}:"blob"===s&&e instanceof Blob||"arraybuffer"===s&&e instanceof ArrayBuffer?{body:e}:{body:String(e)}})(m.data,m.method||"GET",m.requestType||"json"),T=((t,e,r)=>{if(e.startsWith("http://")||e.startsWith("https://")){if(r){const t=e.includes("?")?"&":"?";return`${e}${t}${r}`}return e}let s=e;t&&(s=`${t.endsWith("/")?t.slice(0,-1):t}${e.startsWith("/")?e:`/${e}`}`);if(r){const t=s.includes("?")?"&":"?";s=`${s}${t}${r}`}return s})(m.baseURL,m.url,P),S=m.timeout;let q,v=!1,G=g;E&&"string"==typeof E&&"json"===m.requestType?G={"Content-Type":"application/json",...g}:E instanceof FormData&&(G=g);const x=new AbortController,B=()=>x.abort();c.signal.addEventListener("abort",B);const C={method:m.method||"GET",headers:G,body:E,mode:"cors",credentials:!1===m.withCredentials?"same-origin":"include",signal:x.signal},R=fetch(T,C);let _;try{if(S){const t=new Promise((t,e)=>{q=setTimeout(()=>{v=!0,x.abort(),e(a("Request timeout","timeout"))},S)});_=await Promise.race([R,t])}else _=await R}catch(b){if(q&&clearTimeout(q),v){const t=a("Request timeout","timeout");if(await u(m.retry,d,t))return c.signal.removeEventListener("abort",B),await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onNetworkError){const r=()=>{e=!0};await m.onNetworkError(i(new Error(t.message)),r)}const r=[void 0,t,!1,void 0];return r.__errorSuppressed=e,c.signal.removeEventListener("abort",B),r}throw b}finally{q&&clearTimeout(q),c.signal.removeEventListener("abort",B)}const j=m.responseType||"json";let k;try{k=await(async(t,e)=>{if(!t)throw new Error("No response received");switch(e){case"json":default:return await n(t);case"text":return await t.text();case"blob":return await t.blob();case"arraybuffer":return await t.arrayBuffer();case"formData":return await t.formData()}})(_,j)}catch(p){const t=a("Failed to parse response","network",_.status,void 0,p instanceof Error?p:new Error(String(p)));if(await u(m.retry,d,t))return await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onNetworkError){const r=()=>{e=!0};await m.onNetworkError(i(t.error||new Error(t.message)),r)}const r=[void 0,t,!1,void 0];return r.__errorSuppressed=e,r}if(!(m.validateStatus||r)(_.status)){const t=a(`HTTP Error: ${_.status} ${_.statusText}`,"http",_.status,k);if(await u(m.retry,d,t))return await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onHttpError){const r=()=>{e=!0},s=new Error(t.message);await m.onHttpError(s,_.status,k,r)}const r=[void 0,t,!1,{data:k,status:_.status,statusText:_.statusText,headers:_.headers,response:_}];return r.__errorSuppressed=e,r}if(!(m.validateResponse||s)(k)){const t=a("Business validation failed","business",_.status,k);if(await u(m.retry,d,t))return await o(m.retry?.delay||1e3),this.executeRequest(m,c,d+1);let e=!1;if(m.onBusinessError){const r=()=>{e=!0},s=new Error(t.message);await m.onBusinessError(s,k,r)}const r=[void 0,t,!1,{data:k,status:_.status,statusText:_.statusText,headers:_.headers,response:_}];return r.__errorSuppressed=e,r}let O=k;if(m.transformResponse)try{O=m.transformResponse(k)}catch(y){console.warn("[toAwaitFetch] transformResponse error:",y)}return[O,void 0,!0,{data:k,status:_.status,statusText:_.statusText,headers:_.headers,response:_}]}catch(b){const t=(t=>t instanceof DOMException&&"AbortError"===t.name)(b),r=a(t?"Request aborted":b instanceof Error?b.message:"Network error","network",void 0,void 0,b instanceof Error?b:new Error(String(b)));if(!t&&await u(e.retry,d,r))return await o(e.retry?.delay||1e3),this.executeRequest(e,c,d+1);let s=!1;if(e.onNetworkError){const t=()=>{s=!0};await e.onNetworkError(i(r.error||new Error(r.message)),t)}const n=[void 0,r,!1,void 0];return n.__errorSuppressed=s,n}var l,f,h}request(t){const r=e({...this.globalConfig},t),s=new AbortController,o=this.executeRequest(r,s);return c(o,()=>s.abort())}setGlobalConfig(t){this.globalConfig={...t}}getGlobalConfig(){return{...this.globalConfig}}mergeGlobalConfig(t){this.globalConfig=e(this.globalConfig,t)}sendGet(t,e,r){return this.request({...r,url:t,method:"GET",data:e})}sendPost(t,e,r){return this.request({...r,url:t,method:"POST",data:e,requestType:"json"})}sendPostForm(t,e,r){return this.request({...r,url:t,method:"POST",data:e,requestType:"form"})}sendPostBlob(t,e,r){return this.request({...r,url:t,method:"POST",data:e,requestType:"json",responseType:"blob"})}sendGetBlob(t,e,r){return this.request({...r,url:t,method:"GET",data:e,responseType:"blob"})}}const l=t=>new d(t),f=new d,h=(t,e,r)=>f.request({...r,url:t,method:"GET",data:e}),b=(t,e,r)=>f.sendPost(t,e,r),p=(t,e,r)=>f.sendPostForm(t,e,r),y=(t,e,r)=>f.sendPostBlob(t,e,r),m=(t,e,r)=>f.sendGetBlob(t,e,r),w=t=>{f.setGlobalConfig(t)},g=t=>{t?.cancel?.()},E=Object.assign(t=>t&&"object"==typeof t&&"url"in t?f.request(t):l(t),{create:l,sendGet:f.sendGet.bind(f),sendPost:f.sendPost.bind(f),sendPostForm:f.sendPostForm.bind(f),sendPostBlob:f.sendPostBlob.bind(f),sendGetBlob:f.sendGetBlob.bind(f),setGlobalConfig:f.setGlobalConfig.bind(f),cancel:g});export{d as FetchInstanceImpl,g as cancel,l as createInstance,E as default,h as sendGet,m as sendGetBlob,b as sendPost,y as sendPostBlob,p as sendPostForm,w as setGlobalConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");exports.useInputNumber=function(t,l){let r,a;null===t||"object"!=typeof t||e.isRef(t)?(r=t,a=l||{}):(a=t,r="");const n=()=>a.precision??0,u=()=>a.showThousands??!1,o=e.ref(e.toValue(r)?.toString()??""),c=e.computed(()=>{let e=o.value;if(u()){const[t,l]=e.split(".");let r=t.replace(/\B(?=(\d{3})+(?!\d))/g,",");return l?r+=`.${l}`:e.includes(".")&&(r+="."),r}return e}),i=e=>{let t=null==e?"":e.toString().trim();const l=a.allowNegative?/[^\d.-]/g:/[^\d.]/g;t=t.replace(l,""),t=t.replace(/^-/,"$#$").replace(/-/g,"").replace("$#$","-"),t.length>1&&t.startsWith("0")&&"."!==t[1]&&(t=t.replace(/^0+/,""),""===t&&(t="0")),t.startsWith("-0")&&t.length>2&&"."!==t[2]&&(t="-"+t.slice(2).replace(/^0+/,""),"-"===t&&(t="-0"));const r=n();if(r>0){t=t.replace(/^\./g,"").replace(/\./g,"$#$").replace(/\./g,"").replace("$#$",".");const e=t.indexOf(".");-1!==e&&(t=t.slice(0,e+r+1))}else t=t.replace(/\./g,"");return t};return e.watch(()=>e.toValue(r),e=>{const t=null==e?"":e.toString();t!==o.value&&(o.value=t)}),{value:o,displayValue:c,handleInput:e=>{const t=i(e);o.value=t},handleBlur:()=>{if(!o.value)return;let e=Number(o.value);const t=a.max??1/0,l=a.min??-1/0;e>t&&(e=t,o.value=t.toString()),e<l&&(e=l,o.value=l.toString())
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");exports.useInputNumber=function(t,l){let r,a;null===t||"object"!=typeof t||e.isRef(t)?(r=t,a=l||{}):(a=t,r="");const n=()=>a.precision??0,u=()=>a.showThousands??!1,o=e.ref(e.toValue(r)?.toString()??""),c=e.computed(()=>{let e=o.value;if(u()){const[t,l]=e.split(".");let r=t.replace(/\B(?=(\d{3})+(?!\d))/g,",");return l?r+=`.${l}`:e.includes(".")&&(r+="."),r}return e}),i=e=>{let t=null==e?"":e.toString().trim();const l=a.allowNegative?/[^\d.-]/g:/[^\d.]/g;t=t.replace(l,""),t=t.replace(/^-/,"$#$").replace(/-/g,"").replace("$#$","-"),t.length>1&&t.startsWith("0")&&"."!==t[1]&&(t=t.replace(/^0+/,""),""===t&&(t="0")),t.startsWith("-0")&&t.length>2&&"."!==t[2]&&(t="-"+t.slice(2).replace(/^0+/,""),"-"===t&&(t="-0"));const r=n();if(r>0){t=t.replace(/^\./g,"").replace(/\./g,"$#$").replace(/\./g,"").replace("$#$",".");const e=t.indexOf(".");-1!==e&&(t=t.slice(0,e+r+1))}else t=t.replace(/\./g,"");return t};return e.watch(()=>e.toValue(r),e=>{const t=null==e?"":e.toString();t!==o.value&&(o.value=t)}),{value:o,displayValue:c,handleInput:e=>{const t=i(e);o.value=t},handleBlur:()=>{if(!o.value)return;let e=Number(o.value);const t=a.max??1/0,l=a.min??-1/0;e>t&&(e=t,o.value=t.toString()),e<l&&(e=l,o.value=l.toString());const r=a.autoFixed??!1;o.value=!0===r||"pad"===r?e.toFixed(n()):"trim"===r?Number(e.toFixed(n())).toString():e.toString()},formatter:e=>c.value,parser:e=>u()?e.replace(/,/g,""):e,clean:i}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isRef as e,ref as
|
|
1
|
+
import{isRef as e,ref as t,toValue as l,computed as r,watch as a}from"vue";function n(n,o){let c,i;null===n||"object"!=typeof n||e(n)?(c=n,i=o||{}):(i=n,c="");const u=()=>i.precision??0,s=()=>i.showThousands??!1,p=t(l(c)?.toString()??""),g=r(()=>{let e=p.value;if(s()){const[t,l]=e.split(".");let r=t.replace(/\B(?=(\d{3})+(?!\d))/g,",");return l?r+=`.${l}`:e.includes(".")&&(r+="."),r}return e}),d=e=>{let t=null==e?"":e.toString().trim();const l=i.allowNegative?/[^\d.-]/g:/[^\d.]/g;t=t.replace(l,""),t=t.replace(/^-/,"$#$").replace(/-/g,"").replace("$#$","-"),t.length>1&&t.startsWith("0")&&"."!==t[1]&&(t=t.replace(/^0+/,""),""===t&&(t="0")),t.startsWith("-0")&&t.length>2&&"."!==t[2]&&(t="-"+t.slice(2).replace(/^0+/,""),"-"===t&&(t="-0"));const r=u();if(r>0){t=t.replace(/^\./g,"").replace(/\./g,"$#$").replace(/\./g,"").replace("$#$",".");const e=t.indexOf(".");-1!==e&&(t=t.slice(0,e+r+1))}else t=t.replace(/\./g,"");return t};return a(()=>l(c),e=>{const t=null==e?"":e.toString();t!==p.value&&(p.value=t)}),{value:p,displayValue:g,handleInput:e=>{const t=d(e);p.value=t},handleBlur:()=>{if(!p.value)return;let e=Number(p.value);const t=i.max??1/0,l=i.min??-1/0;e>t&&(e=t,p.value=t.toString()),e<l&&(e=l,p.value=l.toString());const r=i.autoFixed??!1;p.value=!0===r||"pad"===r?e.toFixed(u()):"trim"===r?Number(e.toFixed(u())).toString():e.toString()},formatter:e=>g.value,parser:e=>s()?e.replace(/,/g,""):e,clean:d}}export{n as useInputNumber};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("../utils/utils.cjs.js"),r=new Map,o=new Map,a=new Map,n=new Set;let s=null;const c=(e,t)=>new Promise((r,o)=>{if(s)return r(s);const a=indexedDB.open(e,1);a.onupgradeneeded=e=>{const r=e.target.result;r.objectStoreNames.contains(t)||r.createObjectStore(t)},a.onsuccess=e=>{s=e.target.result,r(s)},a.onerror=e=>{o(e.target.error)}});exports.useRequestCache=function(s){const{requestFn:u,cacheKey:i,cacheTime:l=3e5,storage:d="memory",params:f,transformResult:w,immediate:m=!0,storageKeyPrefix:h="req_cache_",forceRefreshOnFirst:g=!1,dbName:y="RequestCacheDB",storeName:S="request_cache",onSuccess:p,onError:v}=s,q=(e=>{if("undefined"==typeof window)return"memory";try{if("localStorage"===e&&!window.localStorage)throw new Error;if("sessionStorage"===e&&!window.sessionStorage)throw new Error;if("indexedDB"===e&&!window.indexedDB)throw new Error;return e}catch(t){return console.warn(`[useRequestCache] ${e} is not supported in this environment, falling back to 'memory' mode.`),"memory"}})(t.toValue(d)),D=e.ref(),x=e.ref(!1),B=e.ref(null),R=()=>{const e=f?t.toValue(f):{};if("function"==typeof i)try{return i(e)}catch(r){return console.warn("[useRequestCache] Generate key failed",r),""}return i},$=async e=>{if("indexedDB"===q){try{const t=await c(y,S);return new Promise((r,o)=>{const a=t.transaction([S],"readwrite").objectStore(S).delete(`${h}${e}`);a.onsuccess=()=>r(),a.onerror=()=>o(a.error)})}catch(r){console.warn("[useRequestCache] IndexedDB delete failed",r)}return}const t="localStorage"===q?localStorage:"sessionStorage"===q?sessionStorage:null;t&&t.removeItem(`${h}${e}`)},C=async(e=!1)=>{const s=R();if(!s)return void console.warn("[useRequestCache] Cache key is empty, skipping request");const i=t.toValue(g)&&!n.has(s),d=e||i,m=f?t.toValue(f):{};if(!d&&"indexedDB"!==q){const e=r.get(s);if(e){if(Date.now()-e.timestamp<l)return D.value=w?w(e.data):e.data,p&&p(D.value),D.value;r.delete(s)}}x.value=!0,B.value=null;try{if(o.has(s)){if(p||v){const e=a.get(s);e&&(p&&e.onSuccess.push(p),v&&e.onError.push(v))}const e=await o.get(s);return D.value=w?w(e):e,D.value}if(!d&&"memory"!==q){const e=await(async e=>{if("indexedDB"===q)try{const t=await c(y,S);return new Promise(r=>{const o=t.transaction([S],"readonly").objectStore(S).get(`${h}${e}`);o.onsuccess=()=>r(o.result||null),o.onerror=()=>r(null)})}catch(r){return console.warn("[useRequestCache] IndexedDB read failed",r),null}const t="localStorage"===q?localStorage:"sessionStorage"===q?sessionStorage:null;if(!t)return null;try{const r=t.getItem(`${h}${e}`);if(r)return JSON.parse(r)}catch(r){console.warn("[useRequestCache] Read storage failed",r)}return null})(s);if(e){if(Date.now()-e.timestamp<l)return"indexedDB"!==q&&r.set(s,e),D.value=w?w(e.data):e.data,p&&p(D.value),D.value;await $(s)}}const e=u(m);o.set(s,e),a.set(s,{onSuccess:p?[p]:[],onError:v?[v]:[]});try{const t=await e,u={data:t,timestamp:Date.now()};"indexedDB"!==q&&r.set(s,u),"memory"!==q&&await(async(e,t)=>{if("indexedDB"===q){try{const r=await c(y,S);return new Promise((o,a)=>{const n=r.transaction([S],"readwrite").objectStore(S).put(t,`${h}${e}`);n.onsuccess=()=>o(),n.onerror=()=>a(n.error)})}catch(o){console.warn("[useRequestCache] IndexedDB write failed",o)}return}const r="localStorage"===q?localStorage:"sessionStorage"===q?sessionStorage:null;if(r)try{r.setItem(`${h}${e}`,JSON.stringify(t))}catch(o){console.warn("[useRequestCache] Write storage failed",o)}})(s,u),i&&n.add(s),D.value=w?w(t):t;const l=a.get(s);if(l&&l.onSuccess){[...l.onSuccess].forEach(e=>e(D.value))}return o.delete(s),a.delete(s),D.value}catch(C){B.value=C;const e=a.get(s);if(e&&e.onError){[...e.onError].forEach(e=>e(C))}throw o.delete(s),a.delete(s),C}}catch(C){throw B.value=C,C}finally{x.value=!1}},E=()=>C(!1);return f?e.watch(()=>t.toValue(f),()=>{E()},{deep:!0,immediate:m}):m&&E(),{data:D,loading:x,error:B,run:E,refresh:()=>C(!0),clearCache:async e=>{const t=e||R();t&&(r.delete(t),"memory"!==q&&await $(t))}}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ref as e,watch as t}from"vue";import{toValue as r}from"../utils/utils.es.js";const o=/* @__PURE__ */new Map,n=/* @__PURE__ */new Map,a=/* @__PURE__ */new Map,s=/* @__PURE__ */new Set;let c=null;const i=(e,t)=>new Promise((r,o)=>{if(c)return r(c);const n=indexedDB.open(e,1);n.onupgradeneeded=e=>{const r=e.target.result;r.objectStoreNames.contains(t)||r.createObjectStore(t)},n.onsuccess=e=>{c=e.target.result,r(c)},n.onerror=e=>{o(e.target.error)}});function u(c){const{requestFn:u,cacheKey:l,cacheTime:d=3e5,storage:w="memory",params:f,transformResult:m,immediate:h=!0,storageKeyPrefix:g="req_cache_",forceRefreshOnFirst:y=!1,dbName:S="RequestCacheDB",storeName:p="request_cache",onSuccess:v,onError:D}=c,x=(e=>{if("undefined"==typeof window)return"memory";try{if("localStorage"===e&&!window.localStorage)throw new Error;if("sessionStorage"===e&&!window.sessionStorage)throw new Error;if("indexedDB"===e&&!window.indexedDB)throw new Error;return e}catch(t){return console.warn(`[useRequestCache] ${e} is not supported in this environment, falling back to 'memory' mode.`),"memory"}})(r(w)),q=e(),B=e(!1),$=e(null),R=()=>{const e=f?r(f):{};if("function"==typeof l)try{return l(e)}catch(t){return console.warn("[useRequestCache] Generate key failed",t),""}return l},C=async e=>{if("indexedDB"===x){try{const t=await i(S,p);return new Promise((r,o)=>{const n=t.transaction([p],"readwrite").objectStore(p).delete(`${g}${e}`);n.onsuccess=()=>r(),n.onerror=()=>o(n.error)})}catch(r){console.warn("[useRequestCache] IndexedDB delete failed",r)}return}const t="localStorage"===x?localStorage:"sessionStorage"===x?sessionStorage:null;t&&t.removeItem(`${g}${e}`)},E=async(e=!1)=>{const t=R();if(!t)return void console.warn("[useRequestCache] Cache key is empty, skipping request");const c=r(y)&&!s.has(t),l=e||c,w=f?r(f):{};if(!l&&"indexedDB"!==x){const e=o.get(t);if(e){if(Date.now()-e.timestamp<d)return q.value=m?m(e.data):e.data,v&&v(q.value),q.value;o.delete(t)}}B.value=!0,$.value=null;try{if(n.has(t)){if(v||D){const e=a.get(t);e&&(v&&e.onSuccess.push(v),D&&e.onError.push(D))}const e=await n.get(t);return q.value=m?m(e):e,q.value}if(!l&&"memory"!==x){const e=await(async e=>{if("indexedDB"===x)try{const t=await i(S,p);return new Promise(r=>{const o=t.transaction([p],"readonly").objectStore(p).get(`${g}${e}`);o.onsuccess=()=>r(o.result||null),o.onerror=()=>r(null)})}catch(r){return console.warn("[useRequestCache] IndexedDB read failed",r),null}const t="localStorage"===x?localStorage:"sessionStorage"===x?sessionStorage:null;if(!t)return null;try{const r=t.getItem(`${g}${e}`);if(r)return JSON.parse(r)}catch(r){console.warn("[useRequestCache] Read storage failed",r)}return null})(t);if(e){if(Date.now()-e.timestamp<d)return"indexedDB"!==x&&o.set(t,e),q.value=m?m(e.data):e.data,v&&v(q.value),q.value;await C(t)}}const e=u(w);n.set(t,e),a.set(t,{onSuccess:v?[v]:[],onError:D?[D]:[]});try{const r=await e,u={data:r,timestamp:Date.now()};"indexedDB"!==x&&o.set(t,u),"memory"!==x&&await(async(e,t)=>{if("indexedDB"===x){try{const r=await i(S,p);return new Promise((o,n)=>{const a=r.transaction([p],"readwrite").objectStore(p).put(t,`${g}${e}`);a.onsuccess=()=>o(),a.onerror=()=>n(a.error)})}catch(o){console.warn("[useRequestCache] IndexedDB write failed",o)}return}const r="localStorage"===x?localStorage:"sessionStorage"===x?sessionStorage:null;if(r)try{r.setItem(`${g}${e}`,JSON.stringify(t))}catch(o){console.warn("[useRequestCache] Write storage failed",o)}})(t,u),c&&s.add(t),q.value=m?m(r):r;const l=a.get(t);if(l&&l.onSuccess){[...l.onSuccess].forEach(e=>e(q.value))}return n.delete(t),a.delete(t),q.value}catch(h){$.value=h;const e=a.get(t);if(e&&e.onError){[...e.onError].forEach(e=>e(h))}throw n.delete(t),a.delete(t),h}}catch(h){throw $.value=h,h}finally{B.value=!1}},b=()=>E(!1);return f?t(()=>r(f),()=>{b()},{deep:!0,immediate:h}):h&&b(),{data:q,loading:B,error:$,run:b,refresh:()=>E(!0),clearCache:async e=>{const t=e||R();t&&(o.delete(t),"memory"!==x&&await C(t))}}}export{u as useRequestCache};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("../utils/utils.cjs.js"),t={};exports.getTableRequestGlobalConfig=function(){return{...t,pagination:{...t.pagination}}},exports.setTableRequestGlobalConfig=function(e){Object.assign(t,e),e.pagination&&(t.pagination={...t.pagination,...e.pagination})},exports.useTableRequest=function(
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("../utils/utils.cjs.js"),t={};exports.getTableRequestGlobalConfig=function(){return{...t,pagination:{...t.pagination}}},exports.setTableRequestGlobalConfig=function(e){Object.assign(t,e),e.pagination&&(t.pagination={...t.pagination,...e.pagination})},exports.useTableRequest=function(n,i={}){const l={...t.pagination,...i.pagination},{params:o,immediate:r=t.immediate??!0,debounceDelay:u=t.debounceDelay??0,dataField:s=t.dataField??"",totalField:g=t.totalField??"",currentPageField:c=t.currentPageField??"",transformParams:p,transformResult:f,onSuccess:v,onError:y,incremental:b=t.incremental??!1}=i,{defaultPage:d=1,defaultPageSize:m=10,pageKey:S="page",pageSizeKey:w="pageSize"}=l,z=e.ref([]),P=e.ref(!1),R=e.ref(null),T=e.reactive({page:d,pageSize:m,total:0});let h=0;async function q(){const e=++h;P.value=!0,R.value=null;try{const t=o?a.toValue(o):{},i={[S]:T.page,[w]:T.pageSize};let l;l=p?p(t,{page:T.page,pageSize:T.pageSize}):{...t,...i};const r=await n(l);if(e!==h)return;if(f){const e=f(r);if(e&&"object"==typeof e&&Array.isArray(e.list)){const a=e.list;b&&T.page>d?z.value=[...z.value,...a]:z.value=a,T.total="number"==typeof e.total?e.total:e.list.length}else z.value=[],T.total=0,console.warn("[useTableRequest] transformResult 返回格式无法识别,请返回 { list: T[], total: number } 格式。")}else{const e=r;if(Array.isArray(e))b&&T.page>d?z.value=[...z.value,...e]:z.value=e,T.total=e.length;else if(e&&"object"==typeof e){if(s&&""!==s.trim()){const t=a.getPropValue(e,s)||[];b&&T.page>d?z.value=[...z.value,...t]:z.value=t}else z.value=[];g&&""!==g.trim()?T.total=a.getPropValue(e,g)??0:T.total=0}else z.value=[],T.total=0}if(c&&""!==c.trim()){const e=a.getPropValue(r,c);"number"==typeof e&&e!==T.page&&(console.warn(`[useTableRequest] 后端返回页码(${e})与客户端页码(${T.page})不一致,已自动修正`),T.page=e)}v?.(z.value,r)}catch(t){if(e!==h)return;R.value=t instanceof Error?t:new Error(String(t)),y?.(R.value)}finally{e===h&&(P.value=!1)}}const F=u>0?a.useDebounceFn(q,u):q;let j=!1;async function x(){await q()}return e.watch(()=>[T.page,T.pageSize],()=>{j||F()}),o&&(a.warnIfNotReactiveSource(o,"useTableRequest"),e.watch(()=>a.toValue(o),()=>{j=!0,T.page=d,j=!1,F()},{deep:!0})),r&&q(),{data:z,loading:P,error:R,pagination:T,run:x,onPageChange:async function(e){const a=T.page!==e;T.page=e,a||await q()},onSizeChange:async function(e){const a=T.pageSize!==e,t=T.page!==d;T.pageSize=e,T.page=d,a||t||await q()},refresh:async function(){b?(j=!0,T.page=d,z.value=[],await e.nextTick(),j=!1,await q()):await x()}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ref as e,
|
|
1
|
+
import{ref as e,reactive as a,watch as t,nextTick as n}from"vue";import{useDebounceFn as i,warnIfNotReactiveSource as l,toValue as o,getPropValue as r}from"../utils/utils.es.js";const u={};function s(e){Object.assign(u,e),e.pagination&&(u.pagination={...u.pagination,...e.pagination})}function g(){return{...u,pagination:{...u.pagination}}}function p(s,g={}){const p={...u.pagination,...g.pagination},{params:c,immediate:f=u.immediate??!0,debounceDelay:m=u.debounceDelay??0,dataField:v=u.dataField??"",totalField:y=u.totalField??"",currentPageField:d=u.currentPageField??"",transformParams:S,transformResult:b,onSuccess:z,onError:w,incremental:h=u.incremental??!1}=g,{defaultPage:F=1,defaultPageSize:P=10,pageKey:R="page",pageSizeKey:j="pageSize"}=p,A=e([]),T=e(!1),q=e(null),E=a({page:F,pageSize:P,total:0});let C=0;async function D(){const e=++C;T.value=!0,q.value=null;try{const a=c?o(c):{},t={[R]:E.page,[j]:E.pageSize};let n;n=S?S(a,{page:E.page,pageSize:E.pageSize}):{...a,...t};const i=await s(n);if(e!==C)return;if(b){const e=b(i);if(e&&"object"==typeof e&&Array.isArray(e.list)){const a=e.list;h&&E.page>F?A.value=[...A.value,...a]:A.value=a,E.total="number"==typeof e.total?e.total:e.list.length}else A.value=[],E.total=0,console.warn("[useTableRequest] transformResult 返回格式无法识别,请返回 { list: T[], total: number } 格式。")}else{const e=i;if(Array.isArray(e))h&&E.page>F?A.value=[...A.value,...e]:A.value=e,E.total=e.length;else if(e&&"object"==typeof e){if(v&&""!==v.trim()){const a=r(e,v)||[];h&&E.page>F?A.value=[...A.value,...a]:A.value=a}else A.value=[];y&&""!==y.trim()?E.total=r(e,y)??0:E.total=0}else A.value=[],E.total=0}if(d&&""!==d.trim()){const e=r(i,d);"number"==typeof e&&e!==E.page&&(console.warn(`[useTableRequest] 后端返回页码(${e})与客户端页码(${E.page})不一致,已自动修正`),E.page=e)}z?.(A.value,i)}catch(a){if(e!==C)return;q.value=a instanceof Error?a:new Error(String(a)),w?.(q.value)}finally{e===C&&(T.value=!1)}}const K=m>0?i(D,m):D;let $=!1;async function x(){await D()}return t(()=>[E.page,E.pageSize],()=>{$||K()}),c&&(l(c,"useTableRequest"),t(()=>o(c),()=>{$=!0,E.page=F,$=!1,K()},{deep:!0})),f&&D(),{data:A,loading:T,error:q,pagination:E,run:x,onPageChange:async function(e){const a=E.page!==e;E.page=e,a||await D()},onSizeChange:async function(e){const a=E.pageSize!==e,t=E.page!==F;E.pageSize=e,E.page=F,a||t||await D()},refresh:async function(){h?($=!0,E.page=F,A.value=[],await n(),$=!1,await D()):await x()}}}export{g as getTableRequestGlobalConfig,s as setTableRequestGlobalConfig,p as useTableRequest};
|
package/dist/version.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="1.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="1.4.0";exports.VERSION=e,exports.getVersion=function(){return e};
|
package/dist/version.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const n="1.
|
|
1
|
+
const n="1.4.0";function t(){return n}export{n as VERSION,t as getVersion};
|