uniky 1.0.13 → 1.0.14
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/ARCHITECTURE.md +233 -0
- package/CHANGELOG.md +74 -0
- package/README.md +55 -8
- package/package.json +11 -8
- package/src/lib/hook/index.ts +2 -0
- package/src/lib/hook/useParam.ts +114 -0
- package/src/lib/http/index.ts +2 -0
- package/src/lib/http/ky.ts +454 -0
- package/{dist/lib/index.js → src/lib/index.ts} +0 -1
- package/dist/index.js +0 -388
- package/dist/index.js.map +0 -1
- package/dist/lib/hook/index.d.ts +0 -2
- package/dist/lib/hook/index.d.ts.map +0 -1
- package/dist/lib/hook/index.js +0 -3
- package/dist/lib/hook/index.js.map +0 -1
- package/dist/lib/hook/useParam.d.ts +0 -19
- package/dist/lib/hook/useParam.d.ts.map +0 -1
- package/dist/lib/hook/useParam.js +0 -102
- package/dist/lib/hook/useParam.js.map +0 -1
- package/dist/lib/http/index.d.ts +0 -2
- package/dist/lib/http/index.d.ts.map +0 -1
- package/dist/lib/http/index.js +0 -3
- package/dist/lib/http/index.js.map +0 -1
- package/dist/lib/http/ky.d.ts +0 -53
- package/dist/lib/http/ky.d.ts.map +0 -1
- package/dist/lib/http/ky.js +0 -323
- package/dist/lib/http/ky.js.map +0 -1
- package/dist/lib/index.d.ts +0 -3
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js.map +0 -1
package/dist/index.js
DELETED
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
-
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
-
}) : x)(function(x) {
|
|
4
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
5
|
-
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
6
|
-
});
|
|
7
|
-
|
|
8
|
-
// src/lib/hook/useParam.ts
|
|
9
|
-
var useParam = (callBack) => {
|
|
10
|
-
const { ref } = __require("vue");
|
|
11
|
-
const { onLoad } = __require("@dcloudio/uni-app");
|
|
12
|
-
const query = ref({});
|
|
13
|
-
const json = ref({});
|
|
14
|
-
const param = ref({});
|
|
15
|
-
onLoad((op) => {
|
|
16
|
-
let jsonObj = {};
|
|
17
|
-
let queryObj = {};
|
|
18
|
-
if (!op || Object.keys(op).length === 0) {
|
|
19
|
-
param.value = {};
|
|
20
|
-
query.value = {};
|
|
21
|
-
json.value = {};
|
|
22
|
-
callBack?.({ option: {}, query: {}, json: {} });
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const decodedOp = {};
|
|
26
|
-
for (const key in op) {
|
|
27
|
-
if (typeof op[key] === "string") {
|
|
28
|
-
if (key === "json") {
|
|
29
|
-
try {
|
|
30
|
-
decodedOp[key] = JSON.parse(decodeURIComponent(op[key]));
|
|
31
|
-
jsonObj = decodedOp[key];
|
|
32
|
-
json.value = jsonObj;
|
|
33
|
-
} catch (e) {
|
|
34
|
-
}
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
|
-
decodedOp[key] = decodeURIComponent(op[key]);
|
|
38
|
-
} else {
|
|
39
|
-
decodedOp[key] = op[key];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
try {
|
|
43
|
-
queryObj = { ...decodedOp };
|
|
44
|
-
delete queryObj.json;
|
|
45
|
-
query.value = queryObj;
|
|
46
|
-
} catch (e) {
|
|
47
|
-
}
|
|
48
|
-
param.value = { ...jsonObj, ...queryObj };
|
|
49
|
-
callBack?.({ option: param.value, query: query.value, json: json.value });
|
|
50
|
-
});
|
|
51
|
-
return {
|
|
52
|
-
query,
|
|
53
|
-
param,
|
|
54
|
-
json
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
var useMountedLoad = (callBack) => {
|
|
58
|
-
const { ref, onMounted } = __require("vue");
|
|
59
|
-
const { onLoad } = __require("@dcloudio/uni-app");
|
|
60
|
-
const query = ref({});
|
|
61
|
-
const json = ref({});
|
|
62
|
-
const param = ref({});
|
|
63
|
-
onLoad((op) => {
|
|
64
|
-
let jsonObj = {};
|
|
65
|
-
let queryObj = {};
|
|
66
|
-
if (!op || Object.keys(op).length === 0) {
|
|
67
|
-
param.value = {};
|
|
68
|
-
query.value = {};
|
|
69
|
-
json.value = {};
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
const decodedOp = {};
|
|
73
|
-
for (const key in op) {
|
|
74
|
-
if (typeof op[key] === "string") {
|
|
75
|
-
if (key === "json") {
|
|
76
|
-
try {
|
|
77
|
-
decodedOp[key] = JSON.parse(decodeURIComponent(op[key]));
|
|
78
|
-
jsonObj = decodedOp[key];
|
|
79
|
-
json.value = jsonObj;
|
|
80
|
-
} catch (e) {
|
|
81
|
-
}
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
decodedOp[key] = decodeURIComponent(op[key]);
|
|
85
|
-
} else {
|
|
86
|
-
decodedOp[key] = op[key];
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
try {
|
|
90
|
-
queryObj = { ...decodedOp };
|
|
91
|
-
delete queryObj.json;
|
|
92
|
-
query.value = queryObj;
|
|
93
|
-
} catch (e) {
|
|
94
|
-
}
|
|
95
|
-
param.value = { ...jsonObj, ...queryObj };
|
|
96
|
-
});
|
|
97
|
-
onMounted(() => {
|
|
98
|
-
callBack?.({
|
|
99
|
-
option: param.value || {},
|
|
100
|
-
query: query.value || {},
|
|
101
|
-
json: json.value || {}
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
return {
|
|
105
|
-
query,
|
|
106
|
-
param,
|
|
107
|
-
json
|
|
108
|
-
};
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
// src/lib/http/ky.ts
|
|
112
|
-
var UniKyBase = class {
|
|
113
|
-
constructor(options = {}) {
|
|
114
|
-
this.defaultOptions = {
|
|
115
|
-
prefixUrl: "",
|
|
116
|
-
timeout: 6e4,
|
|
117
|
-
headers: {},
|
|
118
|
-
retry: 0,
|
|
119
|
-
hooks: {
|
|
120
|
-
beforeRequest: [],
|
|
121
|
-
afterResponse: []
|
|
122
|
-
},
|
|
123
|
-
...options
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
async request(url, options = {}) {
|
|
127
|
-
const mergedOptions = this.mergeOptions(options);
|
|
128
|
-
const fullUrl = this.getFullUrl(url, mergedOptions);
|
|
129
|
-
if (mergedOptions.hud) {
|
|
130
|
-
mergedOptions.hud.start();
|
|
131
|
-
}
|
|
132
|
-
let request = {
|
|
133
|
-
url: fullUrl,
|
|
134
|
-
method: (options.method || "GET").toUpperCase(),
|
|
135
|
-
headers: mergedOptions.headers || {},
|
|
136
|
-
body: options.data,
|
|
137
|
-
timeout: mergedOptions.timeout
|
|
138
|
-
};
|
|
139
|
-
if (mergedOptions.hooks?.beforeRequest?.length) {
|
|
140
|
-
for (const hook of mergedOptions.hooks.beforeRequest) {
|
|
141
|
-
const result = await hook(request, mergedOptions);
|
|
142
|
-
if (result !== void 0 && result !== null) {
|
|
143
|
-
request = result;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
const requestOptions = {
|
|
148
|
-
url: request.url,
|
|
149
|
-
method: request.method,
|
|
150
|
-
header: request.headers,
|
|
151
|
-
data: request.body,
|
|
152
|
-
timeout: request.timeout
|
|
153
|
-
};
|
|
154
|
-
try {
|
|
155
|
-
let retries = mergedOptions.retry || 0;
|
|
156
|
-
let response;
|
|
157
|
-
while (true) {
|
|
158
|
-
try {
|
|
159
|
-
response = await this.makeRequest(requestOptions, request.url);
|
|
160
|
-
break;
|
|
161
|
-
} catch (error) {
|
|
162
|
-
if (retries <= 0) {
|
|
163
|
-
response = error;
|
|
164
|
-
break;
|
|
165
|
-
}
|
|
166
|
-
retries--;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
if (mergedOptions.hooks?.afterResponse?.length) {
|
|
170
|
-
let processedResponse = response;
|
|
171
|
-
for (const hook of mergedOptions.hooks.afterResponse) {
|
|
172
|
-
const result = await hook(processedResponse, request, mergedOptions);
|
|
173
|
-
if (result !== void 0 && result !== null) {
|
|
174
|
-
processedResponse = result;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
if (mergedOptions.hud) {
|
|
178
|
-
mergedOptions.hud.end(
|
|
179
|
-
processedResponse.ok,
|
|
180
|
-
!processedResponse.ok ? processedResponse : void 0
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
|
-
if (!processedResponse.ok) {
|
|
184
|
-
throw processedResponse;
|
|
185
|
-
}
|
|
186
|
-
return processedResponse.data;
|
|
187
|
-
}
|
|
188
|
-
if (mergedOptions.hud) {
|
|
189
|
-
mergedOptions.hud.end(response.ok, !response.ok ? response : void 0);
|
|
190
|
-
}
|
|
191
|
-
if (!response.ok) {
|
|
192
|
-
throw response;
|
|
193
|
-
}
|
|
194
|
-
return response.data;
|
|
195
|
-
} catch (error) {
|
|
196
|
-
if (mergedOptions.hud && !error.statusCode) {
|
|
197
|
-
mergedOptions.hud.end(false, error);
|
|
198
|
-
}
|
|
199
|
-
throw error;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
makeRequest(options, originalUrl) {
|
|
203
|
-
return new Promise((resolve, reject) => {
|
|
204
|
-
uni.request({
|
|
205
|
-
...options,
|
|
206
|
-
success: (res) => {
|
|
207
|
-
const response = {
|
|
208
|
-
data: res.data,
|
|
209
|
-
statusCode: res.statusCode,
|
|
210
|
-
header: res.header,
|
|
211
|
-
cookies: res.cookies || [],
|
|
212
|
-
ok: res.statusCode >= 200 && res.statusCode < 300,
|
|
213
|
-
redirected: res.statusCode === 301 || res.statusCode === 302,
|
|
214
|
-
url: originalUrl
|
|
215
|
-
};
|
|
216
|
-
if (response.ok) {
|
|
217
|
-
resolve(response);
|
|
218
|
-
} else {
|
|
219
|
-
reject(response);
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
fail: (err) => {
|
|
223
|
-
reject({
|
|
224
|
-
...err,
|
|
225
|
-
ok: false,
|
|
226
|
-
statusCode: 0,
|
|
227
|
-
header: {},
|
|
228
|
-
cookies: [],
|
|
229
|
-
redirected: false,
|
|
230
|
-
url: originalUrl,
|
|
231
|
-
data: null
|
|
232
|
-
});
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
mergeOptions(options) {
|
|
238
|
-
const mergedHooks = {
|
|
239
|
-
beforeRequest: [...this.defaultOptions.hooks?.beforeRequest || []],
|
|
240
|
-
afterResponse: [...this.defaultOptions.hooks?.afterResponse || []]
|
|
241
|
-
};
|
|
242
|
-
if (options.hooks?.beforeRequest) {
|
|
243
|
-
if (Array.isArray(options.hooks.beforeRequest)) {
|
|
244
|
-
mergedHooks.beforeRequest.push(...options.hooks.beforeRequest);
|
|
245
|
-
} else {
|
|
246
|
-
mergedHooks.beforeRequest.push(options.hooks.beforeRequest);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
if (options.hooks?.afterResponse) {
|
|
250
|
-
if (Array.isArray(options.hooks.afterResponse)) {
|
|
251
|
-
mergedHooks.afterResponse.push(...options.hooks.afterResponse);
|
|
252
|
-
} else {
|
|
253
|
-
mergedHooks.afterResponse.push(options.hooks.afterResponse);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
return {
|
|
257
|
-
...this.defaultOptions,
|
|
258
|
-
...options,
|
|
259
|
-
headers: {
|
|
260
|
-
...this.defaultOptions.headers,
|
|
261
|
-
...options.headers
|
|
262
|
-
},
|
|
263
|
-
hooks: mergedHooks
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
addSearchParams(url, searchParams) {
|
|
267
|
-
if (!searchParams) {
|
|
268
|
-
return url;
|
|
269
|
-
}
|
|
270
|
-
let queryString = "";
|
|
271
|
-
if (typeof searchParams === "string") {
|
|
272
|
-
queryString = searchParams.startsWith("?") ? searchParams.substring(1) : searchParams;
|
|
273
|
-
} else if (typeof URLSearchParams !== "undefined" && searchParams instanceof URLSearchParams) {
|
|
274
|
-
queryString = searchParams.toString();
|
|
275
|
-
} else if (searchParams && typeof searchParams === "object") {
|
|
276
|
-
const params = [];
|
|
277
|
-
for (const [key, value] of Object.entries(searchParams)) {
|
|
278
|
-
if (value !== void 0 && value !== null) {
|
|
279
|
-
params.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
queryString = params.join("&");
|
|
283
|
-
}
|
|
284
|
-
const hasQueryString = url.includes("?");
|
|
285
|
-
if (queryString) {
|
|
286
|
-
return url + (hasQueryString ? "&" : "?") + queryString;
|
|
287
|
-
}
|
|
288
|
-
return url;
|
|
289
|
-
}
|
|
290
|
-
getFullUrl(url, options) {
|
|
291
|
-
const prefixUrl = options.prefixUrl ? options.prefixUrl.replace(/\/$/, "") : "";
|
|
292
|
-
if (url.startsWith("http://") || url.startsWith("https://")) {
|
|
293
|
-
return this.addSearchParams(url, options.searchParams);
|
|
294
|
-
}
|
|
295
|
-
const normalizedUrl = url.startsWith("/") ? url : `/${url}`;
|
|
296
|
-
const fullUrl = `${prefixUrl}${normalizedUrl}`;
|
|
297
|
-
return this.addSearchParams(fullUrl, options.searchParams);
|
|
298
|
-
}
|
|
299
|
-
// 创建具有 json 方法的 Promise
|
|
300
|
-
createUniKyPromise(promise) {
|
|
301
|
-
const uniKyPromise = promise;
|
|
302
|
-
uniKyPromise.json = function() {
|
|
303
|
-
return this.then((data) => {
|
|
304
|
-
if (typeof data === "string") {
|
|
305
|
-
try {
|
|
306
|
-
return JSON.parse(data);
|
|
307
|
-
} catch (e) {
|
|
308
|
-
return data;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
return data;
|
|
312
|
-
});
|
|
313
|
-
};
|
|
314
|
-
return uniKyPromise;
|
|
315
|
-
}
|
|
316
|
-
get(url, options = {}) {
|
|
317
|
-
return this.createUniKyPromise(this.request(url, { ...options, method: "GET" }));
|
|
318
|
-
}
|
|
319
|
-
post(url, options = {}) {
|
|
320
|
-
return this.createUniKyPromise(this.request(url, { ...options, method: "POST" }));
|
|
321
|
-
}
|
|
322
|
-
put(url, options = {}) {
|
|
323
|
-
return this.createUniKyPromise(this.request(url, { ...options, method: "PUT" }));
|
|
324
|
-
}
|
|
325
|
-
delete(url, options = {}) {
|
|
326
|
-
return this.createUniKyPromise(this.request(url, { ...options, method: "DELETE" }));
|
|
327
|
-
}
|
|
328
|
-
patch(url, options = {}) {
|
|
329
|
-
return this.createUniKyPromise(this.request(url, { ...options, method: "PATCH" }));
|
|
330
|
-
}
|
|
331
|
-
head(url, options = {}) {
|
|
332
|
-
return this.createUniKyPromise(this.request(url, { ...options, method: "HEAD" }));
|
|
333
|
-
}
|
|
334
|
-
options(url, options = {}) {
|
|
335
|
-
return this.createUniKyPromise(this.request(url, { ...options, method: "OPTIONS" }));
|
|
336
|
-
}
|
|
337
|
-
};
|
|
338
|
-
function createUniKy(defaultOptions = {}) {
|
|
339
|
-
const base = new UniKyBase(defaultOptions);
|
|
340
|
-
const uniKyFunction = (url, options = {}) => {
|
|
341
|
-
return base["createUniKyPromise"](base["request"](url, options));
|
|
342
|
-
};
|
|
343
|
-
uniKyFunction.get = base.get.bind(base);
|
|
344
|
-
uniKyFunction.post = base.post.bind(base);
|
|
345
|
-
uniKyFunction.put = base.put.bind(base);
|
|
346
|
-
uniKyFunction.delete = base.delete.bind(base);
|
|
347
|
-
uniKyFunction.patch = base.patch.bind(base);
|
|
348
|
-
uniKyFunction.head = base.head.bind(base);
|
|
349
|
-
uniKyFunction.options = base.options.bind(base);
|
|
350
|
-
uniKyFunction.create = (options) => {
|
|
351
|
-
const mergedHooks = {
|
|
352
|
-
beforeRequest: [...defaultOptions.hooks?.beforeRequest || []],
|
|
353
|
-
afterResponse: [...defaultOptions.hooks?.afterResponse || []]
|
|
354
|
-
};
|
|
355
|
-
if (options.hooks?.beforeRequest) {
|
|
356
|
-
if (Array.isArray(options.hooks.beforeRequest)) {
|
|
357
|
-
mergedHooks.beforeRequest.push(...options.hooks.beforeRequest);
|
|
358
|
-
} else {
|
|
359
|
-
mergedHooks.beforeRequest.push(options.hooks.beforeRequest);
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
if (options.hooks?.afterResponse) {
|
|
363
|
-
if (Array.isArray(options.hooks.afterResponse)) {
|
|
364
|
-
mergedHooks.afterResponse.push(...options.hooks.afterResponse);
|
|
365
|
-
} else {
|
|
366
|
-
mergedHooks.afterResponse.push(options.hooks.afterResponse);
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
return createUniKy({
|
|
370
|
-
...defaultOptions,
|
|
371
|
-
...options,
|
|
372
|
-
hooks: mergedHooks,
|
|
373
|
-
headers: {
|
|
374
|
-
...defaultOptions.headers,
|
|
375
|
-
...options.headers
|
|
376
|
-
}
|
|
377
|
-
});
|
|
378
|
-
};
|
|
379
|
-
uniKyFunction.extend = (options) => {
|
|
380
|
-
return uniKyFunction.create(options);
|
|
381
|
-
};
|
|
382
|
-
return uniKyFunction;
|
|
383
|
-
}
|
|
384
|
-
var uniKy = createUniKy();
|
|
385
|
-
|
|
386
|
-
export { uniKy, useMountedLoad, useParam };
|
|
387
|
-
//# sourceMappingURL=index.js.map
|
|
388
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/hook/useParam.ts","../src/lib/http/ky.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { Ref } from 'vue'\n\ntype AnyObject = Record<string, any>\n\ninterface UseParamReturn<Q, J> {\n query: Ref<Partial<Q>>\n param: Ref<Partial<Q & J>>\n json: Ref<Partial<J>>\n}\n\nexport const useParam = <Q extends object = {}, J extends object = {}>(\n callBack?: (params: { option: Partial<Q & J>; query: Partial<Q>; json: Partial<J> }) => void,\n): UseParamReturn<Q, J> => {\n const { ref } = require('vue') as any\n const { onLoad } = require('@dcloudio/uni-app') as any\n\n const query = ref<Partial<Q>>({})\n const json = ref<Partial<J>>({})\n const param = ref<Partial<Q & J>>({})\n\n onLoad((op?: AnyObject) => {\n let jsonObj: any = {}\n let queryObj: any = {}\n\n if (!op || Object.keys(op).length === 0) {\n param.value = {} as any\n query.value = {} as any\n json.value = {} as any\n callBack?.({ option: {} as any, query: {} as any, json: {} as any })\n return\n }\n\n const decodedOp: { [k: string]: any } = {}\n for (const key in op) {\n if (typeof op[key] === 'string') {\n if (key === 'json') {\n try {\n decodedOp[key] = JSON.parse(decodeURIComponent(op[key]))\n jsonObj = decodedOp[key]\n json.value = jsonObj\n } catch (e) {}\n continue\n }\n decodedOp[key] = decodeURIComponent(op[key])\n } else {\n decodedOp[key] = op[key]\n }\n }\n\n try {\n queryObj = { ...decodedOp }\n delete queryObj.json\n query.value = queryObj\n } catch (e) {}\n\n param.value = { ...jsonObj, ...queryObj }\n callBack?.({ option: param.value as any, query: query.value as any, json: json.value as any })\n })\n\n return {\n query,\n param,\n json,\n }\n}\n\nexport const useMountedLoad = <Q extends object = {}, J extends object = {}>(\n callBack?: (params: { option: Partial<Q & J>; query: Partial<Q>; json: Partial<J> }) => void,\n): UseParamReturn<Q, J> => {\n const { ref, onMounted } = require('vue') as any\n const { onLoad } = require('@dcloudio/uni-app') as any\n\n const query = ref<Partial<Q>>({})\n const json = ref<Partial<J>>({})\n const param = ref<Partial<Q & J>>({})\n\n onLoad((op?: AnyObject) => {\n let jsonObj: any = {}\n let queryObj: any = {}\n\n if (!op || Object.keys(op).length === 0) {\n param.value = {} as any\n query.value = {} as any\n json.value = {} as any\n return\n }\n\n const decodedOp: { [k: string]: any } = {}\n for (const key in op) {\n if (typeof op[key] === 'string') {\n if (key === 'json') {\n try {\n decodedOp[key] = JSON.parse(decodeURIComponent(op[key]))\n jsonObj = decodedOp[key]\n json.value = jsonObj\n } catch (e) {}\n continue\n }\n decodedOp[key] = decodeURIComponent(op[key])\n } else {\n decodedOp[key] = op[key]\n }\n }\n\n try {\n queryObj = { ...decodedOp }\n delete queryObj.json\n query.value = queryObj\n } catch (e) {}\n\n param.value = { ...jsonObj, ...queryObj }\n })\n\n onMounted(() => {\n callBack?.({\n option: (param.value || {}) as any,\n query: (query.value || {}) as any,\n json: (json.value || {}) as any\n })\n })\n\n return {\n query,\n param,\n json,\n }\n}","// uniKy.ts\n\n// 类型定义\nexport interface UniKyRequest {\n url: string\n method: string\n headers: Record<string, string>\n body?: any\n timeout?: number\n}\n\n// 添加 ActiveHud 接口定义\nexport interface ActiveHud {\n start(info?: any):void\n\n end(success: boolean, message?: any):void\n}\n\nexport interface UniKyOptions {\n prefixUrl?: string\n timeout?: number\n headers?: Record<string, string>\n retry?: number\n method?: string\n data?: any\n searchParams?: Record<string, any> | URLSearchParams | string\n hud?: ActiveHud // 添加 hud 属性\n hooks?: {\n beforeRequest?: Array<\n (\n request: UniKyRequest,\n options: UniKyOptions,\n ) => UniKyRequest | void | Promise<UniKyRequest | void>\n >\n afterResponse?: Array<\n (\n response: UniKyResponse,\n request: UniKyRequest,\n options: UniKyOptions,\n ) => any | void | Promise<any | void>\n >\n }\n\n [key: string]: any\n}\n\nexport interface UniKyResponse<T = any> {\n data: T\n statusCode: number\n header: Record<string, string>\n cookies: string[]\n ok: boolean\n redirected: boolean\n message?: string\n url: string\n}\n\nexport interface UniKyPromise<T = any> extends Promise<T> {\n json<R = T>(): Promise<R>\n}\n\nexport interface UniKyInstance {\n <T = any>(url: string, options?: UniKyOptions): UniKyPromise<T>\n\n get: <T = any>(url: string, options?: UniKyOptions) => UniKyPromise<T>\n post: <T = any>(url: string, options?: UniKyOptions) => UniKyPromise<T>\n put: <T = any>(url: string, options?: UniKyOptions) => UniKyPromise<T>\n delete: <T = any>(url: string, options?: UniKyOptions) => UniKyPromise<T>\n patch: <T = any>(url: string, options?: UniKyOptions) => UniKyPromise<T>\n head: <T = any>(url: string, options?: UniKyOptions) => UniKyPromise<T>\n options: <T = any>(url: string, options?: UniKyOptions) => UniKyPromise<T>\n create: (defaultOptions: UniKyOptions) => UniKyInstance\n extend: (options: UniKyOptions) => UniKyInstance\n}\n\n// 创建一个基础类实现所有方法\nclass UniKyBase {\n protected defaultOptions: UniKyOptions\n\n constructor(options: UniKyOptions = {}) {\n this.defaultOptions = {\n prefixUrl: '',\n timeout: 60000,\n headers: {},\n retry: 0,\n hooks: {\n beforeRequest: [],\n afterResponse: [],\n },\n ...options,\n }\n }\n\n protected async request<T = any>(url: string, options: UniKyOptions = {}): Promise<T> {\n const mergedOptions = this.mergeOptions(options)\n const fullUrl = this.getFullUrl(url, mergedOptions)\n\n // 如果有 hud,则调用 start 方法\n if (mergedOptions.hud) {\n mergedOptions.hud.start()\n }\n\n // 创建请求对象\n let request: UniKyRequest = {\n url: fullUrl,\n method: (options.method || 'GET').toUpperCase(),\n headers: mergedOptions.headers || {},\n body: options.data,\n timeout: mergedOptions.timeout,\n }\n\n // 执行请求前拦截器\n if (mergedOptions.hooks?.beforeRequest?.length) {\n for (const hook of mergedOptions.hooks.beforeRequest) {\n const result = await hook(request, mergedOptions)\n // 如果拦截器返回了新的请求对象,则使用它\n if (result !== undefined && result !== null) {\n request = result as UniKyRequest\n }\n // 如果拦截器没有返回值(void),则继续使用当前的请求对象\n }\n }\n\n // 转换为 uni.request 需要的格式\n const requestOptions: UniApp.RequestOptions = {\n url: request.url,\n method: request.method as\n | 'GET'\n | 'POST'\n | 'PUT'\n | 'DELETE'\n | 'CONNECT'\n | 'HEAD'\n | 'OPTIONS'\n | 'TRACE',\n header: request.headers,\n data: request.body,\n timeout: request.timeout,\n }\n\n try {\n let retries = mergedOptions.retry || 0\n let response: any\n\n while (true) {\n try {\n response = await this.makeRequest(requestOptions, request.url)\n break\n } catch (error) {\n if (retries <= 0) {\n // 如果是请求失败(网络错误等),直接使用错误对象\n response = error\n break\n }\n retries--\n }\n }\n\n // 无论成功还是HTTP错误(如404),都执行响应后拦截器\n if (mergedOptions.hooks?.afterResponse?.length) {\n let processedResponse = response\n for (const hook of mergedOptions.hooks.afterResponse) {\n const result = await hook(processedResponse, request, mergedOptions)\n // 如果拦截器返回了新的响应对象,则使用它\n if (result !== undefined && result !== null) {\n processedResponse = result\n }\n }\n\n // 只在这里调用一次 hud.end\n if (mergedOptions.hud) {\n mergedOptions.hud.end(\n processedResponse.ok,\n !processedResponse.ok ? processedResponse : undefined,\n )\n }\n\n // 如果是HTTP错误且没有被拦截器处理成功响应,则抛出\n if (!processedResponse.ok) {\n throw processedResponse\n }\n\n return processedResponse.data\n }\n\n // 只在这里调用一次 hud.end\n if (mergedOptions.hud) {\n mergedOptions.hud.end(response.ok, !response.ok ? response : undefined)\n }\n\n // 如果没有拦截器但有HTTP错误,抛出\n if (!response.ok) {\n throw response\n }\n\n return response.data\n } catch (error:any) {\n // 移除这里的 hud.end 调用,因为已经在上面调用过了\n // 如果是网络错误等未捕获的异常,才在这里调用 hud.end\n if (mergedOptions.hud && !error.statusCode) {\n mergedOptions.hud.end(false, error)\n }\n throw error\n }\n }\n\n protected makeRequest(\n options: UniApp.RequestOptions,\n originalUrl: string,\n ): Promise<UniKyResponse> {\n return new Promise((resolve, reject) => {\n uni.request({\n ...options,\n success: (res) => {\n const response: UniKyResponse = {\n data: res.data,\n statusCode: res.statusCode,\n header: res.header,\n cookies: res.cookies || [],\n ok: res.statusCode >= 200 && res.statusCode < 300,\n redirected: res.statusCode === 301 || res.statusCode === 302,\n url: originalUrl,\n }\n\n // 处理非2xx状态码\n if (response.ok) {\n resolve(response)\n } else {\n reject(response)\n }\n },\n fail: (err) => {\n reject({\n ...err,\n ok: false,\n statusCode: 0,\n header: {},\n cookies: [],\n redirected: false,\n url: originalUrl,\n data: null,\n })\n },\n })\n })\n }\n\n protected mergeOptions(options: UniKyOptions): UniKyOptions {\n // 创建新的 hooks 对象,确保不修改原始对象\n const mergedHooks = {\n beforeRequest: [...(this.defaultOptions.hooks?.beforeRequest || [])],\n afterResponse: [...(this.defaultOptions.hooks?.afterResponse || [])],\n }\n\n // 添加传入的 hooks\n if (options.hooks?.beforeRequest) {\n if (Array.isArray(options.hooks.beforeRequest)) {\n mergedHooks.beforeRequest.push(...options.hooks.beforeRequest)\n } else {\n // 如果不是数组,转换为数组\n mergedHooks.beforeRequest.push(options.hooks.beforeRequest as any)\n }\n }\n\n if (options.hooks?.afterResponse) {\n if (Array.isArray(options.hooks.afterResponse)) {\n mergedHooks.afterResponse.push(...options.hooks.afterResponse)\n } else {\n // 如果不是数组,转换为数组\n mergedHooks.afterResponse.push(options.hooks.afterResponse as any)\n }\n }\n\n return {\n ...this.defaultOptions,\n ...options,\n headers: {\n ...this.defaultOptions.headers,\n ...options.headers,\n },\n hooks: mergedHooks,\n }\n }\n\n protected addSearchParams(\n url: string,\n searchParams?: Record<string, any> | URLSearchParams | string,\n ): string {\n if (!searchParams) {\n return url\n }\n\n // 准备查询字符串\n let queryString = ''\n\n if (typeof searchParams === 'string') {\n // 如果是字符串,直接使用\n queryString = searchParams.startsWith('?') ? searchParams.substring(1) : searchParams\n } else if (typeof URLSearchParams !== 'undefined' && searchParams instanceof URLSearchParams) {\n // 如果是 URLSearchParams 实例,转为字符串\n queryString = searchParams.toString()\n } else if (searchParams && typeof searchParams === 'object') {\n // 如果是对象,手动构建查询字符串\n const params = []\n for (const [key, value] of Object.entries(searchParams)) {\n if (value !== undefined && value !== null) {\n // @ts-ignore\n params.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`)\n }\n }\n queryString = params.join('&')\n }\n\n // 添加到 URL\n const hasQueryString = url.includes('?')\n if (queryString) {\n return url + (hasQueryString ? '&' : '?') + queryString\n }\n\n return url\n }\n\n protected getFullUrl(url: string, options: UniKyOptions): string {\n const prefixUrl = options.prefixUrl ? options.prefixUrl.replace(/\\/$/, '') : ''\n\n // 首先判断是否是完整URL\n if (url.startsWith('http://') || url.startsWith('https://')) {\n // 对完整URL添加查询参数\n return this.addSearchParams(url, options.searchParams)\n }\n\n // 处理相对路径\n const normalizedUrl = url.startsWith('/') ? url : `/${url}`\n const fullUrl = `${prefixUrl}${normalizedUrl}`\n\n // 添加查询参数\n return this.addSearchParams(fullUrl, options.searchParams)\n }\n\n // 创建具有 json 方法的 Promise\n protected createUniKyPromise<T>(promise: Promise<T>): UniKyPromise<T> {\n const uniKyPromise = promise as UniKyPromise<T>\n\n uniKyPromise.json = function <R = T>() {\n return this.then((data) => {\n if (typeof data === 'string') {\n try {\n return JSON.parse(data)\n } catch (e) {\n return data as unknown as R\n }\n }\n return data as unknown as R\n })\n }\n\n return uniKyPromise\n }\n\n get<T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> {\n return this.createUniKyPromise(this.request<T>(url, { ...options, method: 'GET' }))\n }\n\n post<T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> {\n return this.createUniKyPromise(this.request<T>(url, { ...options, method: 'POST' }))\n }\n\n put<T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> {\n return this.createUniKyPromise(this.request<T>(url, { ...options, method: 'PUT' }))\n }\n\n delete<T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> {\n return this.createUniKyPromise(this.request<T>(url, { ...options, method: 'DELETE' }))\n }\n\n patch<T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> {\n return this.createUniKyPromise(this.request<T>(url, { ...options, method: 'PATCH' }))\n }\n\n head<T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> {\n return this.createUniKyPromise(this.request<T>(url, { ...options, method: 'HEAD' }))\n }\n\n options<T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> {\n return this.createUniKyPromise(this.request<T>(url, { ...options, method: 'OPTIONS' }))\n }\n}\n\n// 使用函数工厂模式创建符合 UniKyInstance 接口的实例\nfunction createUniKy(defaultOptions: UniKyOptions = {}): UniKyInstance {\n const base = new UniKyBase(defaultOptions)\n\n // 创建主函数\n const uniKyFunction = <T = any>(url: string, options: UniKyOptions = {}): UniKyPromise<T> => {\n return base['createUniKyPromise'](base['request']<T>(url, options))\n }\n\n // 添加所有方法\n uniKyFunction.get = base.get.bind(base)\n uniKyFunction.post = base.post.bind(base)\n uniKyFunction.put = base.put.bind(base)\n uniKyFunction.delete = base.delete.bind(base)\n uniKyFunction.patch = base.patch.bind(base)\n uniKyFunction.head = base.head.bind(base)\n uniKyFunction.options = base.options.bind(base)\n\n // 添加 create 方法\n uniKyFunction.create = (options: UniKyOptions): UniKyInstance => {\n // 深度合并 hooks\n const mergedHooks = {\n beforeRequest: [...(defaultOptions.hooks?.beforeRequest || [])],\n afterResponse: [...(defaultOptions.hooks?.afterResponse || [])],\n }\n\n // 添加传入的 hooks\n if (options.hooks?.beforeRequest) {\n if (Array.isArray(options.hooks.beforeRequest)) {\n mergedHooks.beforeRequest.push(...options.hooks.beforeRequest)\n } else {\n // 如果不是数组,转换为数组\n mergedHooks.beforeRequest.push(options.hooks.beforeRequest as any)\n }\n }\n\n if (options.hooks?.afterResponse) {\n if (Array.isArray(options.hooks.afterResponse)) {\n mergedHooks.afterResponse.push(...options.hooks.afterResponse)\n } else {\n // 如果不是数组,转换为数组\n mergedHooks.afterResponse.push(options.hooks.afterResponse as any)\n }\n }\n\n return createUniKy({\n ...defaultOptions,\n ...options,\n hooks: mergedHooks,\n headers: {\n ...defaultOptions.headers,\n ...options.headers,\n },\n })\n }\n\n // 添加 extend 方法\n uniKyFunction.extend = (options: UniKyOptions): UniKyInstance => {\n return uniKyFunction.create(options)\n }\n\n return uniKyFunction\n}\n\n// 默认导出实例\nexport const uniKy = createUniKy()\n"]}
|
package/dist/lib/hook/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/hook/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC"}
|
package/dist/lib/hook/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/hook/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,cAAc,eAAe,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export declare const useParam: <Q extends object = {}, J extends object = {}>(callBack?: (params: {
|
|
2
|
-
option: Partial<Q & J>;
|
|
3
|
-
query: Partial<Q>;
|
|
4
|
-
json: Partial<J>;
|
|
5
|
-
}) => void) => {
|
|
6
|
-
query: [Partial<Q>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<Q>, import("vue").Ref<import("vue").Ref<any, any> & Partial<Q>, import("vue").Ref<any, any> & Partial<Q>>, import("vue").Ref<any, any> & Partial<Q>> : import("vue").Ref<import("vue").UnwrapRef<Partial<Q>>, Partial<Q> | import("vue").UnwrapRef<Partial<Q>>>;
|
|
7
|
-
param: [Partial<Q & J>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<Q & J>, import("vue").Ref<import("vue").Ref<any, any> & Partial<Q & J>, import("vue").Ref<any, any> & Partial<Q & J>>, import("vue").Ref<any, any> & Partial<Q & J>> : import("vue").Ref<import("vue").UnwrapRef<Partial<Q & J>>, Partial<Q & J> | import("vue").UnwrapRef<Partial<Q & J>>>;
|
|
8
|
-
json: [Partial<J>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<J>, import("vue").Ref<import("vue").Ref<any, any> & Partial<J>, import("vue").Ref<any, any> & Partial<J>>, import("vue").Ref<any, any> & Partial<J>> : import("vue").Ref<import("vue").UnwrapRef<Partial<J>>, Partial<J> | import("vue").UnwrapRef<Partial<J>>>;
|
|
9
|
-
};
|
|
10
|
-
export declare const useMountedLoad: <Q extends object = {}, J extends object = {}>(callBack?: (params: {
|
|
11
|
-
option: Partial<Q & J>;
|
|
12
|
-
query: Partial<Q>;
|
|
13
|
-
json: Partial<J>;
|
|
14
|
-
}) => void) => {
|
|
15
|
-
query: [Partial<Q>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<Q>, import("vue").Ref<import("vue").Ref<any, any> & Partial<Q>, import("vue").Ref<any, any> & Partial<Q>>, import("vue").Ref<any, any> & Partial<Q>> : import("vue").Ref<import("vue").UnwrapRef<Partial<Q>>, Partial<Q> | import("vue").UnwrapRef<Partial<Q>>>;
|
|
16
|
-
param: [Partial<Q & J>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<Q & J>, import("vue").Ref<import("vue").Ref<any, any> & Partial<Q & J>, import("vue").Ref<any, any> & Partial<Q & J>>, import("vue").Ref<any, any> & Partial<Q & J>> : import("vue").Ref<import("vue").UnwrapRef<Partial<Q & J>>, Partial<Q & J> | import("vue").UnwrapRef<Partial<Q & J>>>;
|
|
17
|
-
json: [Partial<J>] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<import("vue").Ref<any, any> & Partial<J>, import("vue").Ref<import("vue").Ref<any, any> & Partial<J>, import("vue").Ref<any, any> & Partial<J>>, import("vue").Ref<any, any> & Partial<J>> : import("vue").Ref<import("vue").UnwrapRef<Partial<J>>, Partial<J> | import("vue").UnwrapRef<Partial<J>>>;
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=useParam.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useParam.d.ts","sourceRoot":"","sources":["../../../src/lib/hook/useParam.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,GAAG,EAAE,EAAE,CAAC,SAAS,MAAM,GAAG,EAAE,EACnE,WAAW,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,KAAK,IAAI;;;;CAkD7F,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,GAAG,EAAE,EAAE,CAAC,SAAS,MAAM,GAAG,EAAE,EACzE,WAAW,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,KAAK,IAAI;;;;CAwD7F,CAAA"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { onLoad } from '@dcloudio/uni-app';
|
|
2
|
-
import { onMounted, ref } from 'vue';
|
|
3
|
-
export const useParam = (callBack) => {
|
|
4
|
-
const query = ref({});
|
|
5
|
-
const json = ref({});
|
|
6
|
-
const param = ref({});
|
|
7
|
-
onLoad((op) => {
|
|
8
|
-
let jsonObj = {};
|
|
9
|
-
let queryObj = {};
|
|
10
|
-
if (!op || Object.keys(op).length === 0) {
|
|
11
|
-
param.value = {};
|
|
12
|
-
query.value = {};
|
|
13
|
-
json.value = {};
|
|
14
|
-
callBack?.({ option: {}, query: {}, json: {} });
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const decodedOp = {};
|
|
18
|
-
for (const key in op) {
|
|
19
|
-
if (typeof op[key] === 'string') {
|
|
20
|
-
if (key === 'json') {
|
|
21
|
-
try {
|
|
22
|
-
decodedOp[key] = JSON.parse(decodeURIComponent(op[key]));
|
|
23
|
-
jsonObj = decodedOp[key];
|
|
24
|
-
json.value = jsonObj;
|
|
25
|
-
}
|
|
26
|
-
catch (e) { }
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
decodedOp[key] = decodeURIComponent(op[key]);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
decodedOp[key] = op[key];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
queryObj = { ...decodedOp };
|
|
37
|
-
delete queryObj.json;
|
|
38
|
-
query.value = queryObj;
|
|
39
|
-
}
|
|
40
|
-
catch (e) { }
|
|
41
|
-
param.value = { ...jsonObj, ...queryObj };
|
|
42
|
-
callBack?.({ option: param.value, query: query.value, json: json.value });
|
|
43
|
-
});
|
|
44
|
-
return {
|
|
45
|
-
query,
|
|
46
|
-
param,
|
|
47
|
-
json,
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
export const useMountedLoad = (callBack) => {
|
|
51
|
-
const query = ref({});
|
|
52
|
-
const json = ref({});
|
|
53
|
-
const param = ref({});
|
|
54
|
-
onLoad((op) => {
|
|
55
|
-
let jsonObj = {};
|
|
56
|
-
let queryObj = {};
|
|
57
|
-
if (!op || Object.keys(op).length === 0) {
|
|
58
|
-
param.value = {};
|
|
59
|
-
query.value = {};
|
|
60
|
-
json.value = {};
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
const decodedOp = {};
|
|
64
|
-
for (const key in op) {
|
|
65
|
-
if (typeof op[key] === 'string') {
|
|
66
|
-
if (key === 'json') {
|
|
67
|
-
try {
|
|
68
|
-
decodedOp[key] = JSON.parse(decodeURIComponent(op[key]));
|
|
69
|
-
jsonObj = decodedOp[key];
|
|
70
|
-
json.value = jsonObj;
|
|
71
|
-
}
|
|
72
|
-
catch (e) { }
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
decodedOp[key] = decodeURIComponent(op[key]);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
decodedOp[key] = op[key];
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
try {
|
|
82
|
-
queryObj = { ...decodedOp };
|
|
83
|
-
delete queryObj.json;
|
|
84
|
-
query.value = queryObj;
|
|
85
|
-
}
|
|
86
|
-
catch (e) { }
|
|
87
|
-
param.value = { ...jsonObj, ...queryObj };
|
|
88
|
-
});
|
|
89
|
-
onMounted(() => {
|
|
90
|
-
callBack?.({
|
|
91
|
-
option: (param.value || {}),
|
|
92
|
-
query: (query.value || {}),
|
|
93
|
-
json: (json.value || {})
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
return {
|
|
97
|
-
query,
|
|
98
|
-
param,
|
|
99
|
-
json,
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=useParam.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useParam.js","sourceRoot":"","sources":["../../../src/lib/hook/useParam.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/http/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/http/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC"}
|
package/dist/lib/http/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/http/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,cAAc,SAAS,CAAC"}
|