@seayoo-web/request 1.5.6 → 1.6.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/inc/request.browser.d.ts +2 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +89 -80
- package/dist/node.cjs +1 -1
- package/dist/node.js +2 -2
- package/dist/{version-DCu7OI8o.js → version-CLBYgaXw.js} +1 -1
- package/dist/{version-nbk4F2gf.cjs → version-DJIdoURF.cjs} +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/wx.cjs +1 -1
- package/dist/wx.js +2 -2
- package/package.json +1 -1
|
@@ -15,8 +15,9 @@ export declare const xhRequest: NetRequestAgent;
|
|
|
15
15
|
/**
|
|
16
16
|
* 上传文件,支持进度信息和多文件上传,不抛错,限制在浏览器中使用,不支持重试
|
|
17
17
|
*/
|
|
18
|
-
export declare function xhrUpload(url: string, files: Record<string, Blob
|
|
18
|
+
export declare function xhrUpload(url: string, files: Record<string, Blob> | Blob, options?: Omit<IRequestOptions, keyof XHRequestOptions | keyof IRetryRequestOptions> & Omit<XHRequestOptions, "body" | "method"> & {
|
|
19
19
|
body?: Record<string, unknown>;
|
|
20
|
+
method?: "POST" | "PUT";
|
|
20
21
|
},
|
|
21
22
|
/** 全局配置中独有的配置,以受全局配置控制 */
|
|
22
23
|
config?: Omit<IRequestGlobalConfig, keyof IRequestOptions>): Promise<IResponseResult>;
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./version-
|
|
2
|
-
`).forEach(e=>{const r=e.trim();if(!r)return;const i=r.split(":"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./version-DJIdoURF.cjs"),T=async function(n,o,t){const e=await c.convertOptions(n,o,t),r=new URL(e.url),i=e.params;i instanceof Object&&Object.keys(i).forEach(s=>r.searchParams.set(s,i[s]));const a=new AbortController;function l(){a.signal.aborted||a.abort()}e.abort&&e.abort.addEventListener("abort",l);const b=e.timeout>0?setTimeout(l,e.timeout):null,h=new Request(r,{method:e.method,headers:new Headers(e.headers),body:e.body,credentials:e.credentials,signal:a.signal,redirect:"follow"});return await fetch(h).then(async s=>({url:r.toString(),method:e.method,status:s.status,statusText:s.statusText,headers:Object.fromEntries(s.headers.entries()),body:e.method==="HEAD"?"":await s.text()})).catch(s=>({url:r.toString(),method:e.method,status:-1,statusText:a.signal.aborted?"Aborted":"NetworkError",body:String(s)})).finally(()=>{b!==null&&clearTimeout(b),e.abort&&e.abort.removeEventListener("abort",l)})},p=async function(n,o,t){const e={...await c.convertOptions(n,o,t),onUploadProgress:t==null?void 0:t.onUploadProgress},r=e.method,i=e.onUploadProgress||c.Lt,a=c.Ct(e.url,e.params);return await new Promise(l=>{let b=1;function h(m){b=m.total,i({total:m.total,loaded:m.loaded})}let s=null,f=!1;const g=function(){f||(d.abort(),f=!0)};function w(){s!==null&&clearTimeout(s),e.abort&&e.abort.removeEventListener("abort",g)}const d=new XMLHttpRequest;d.open(r,a,!0),d.upload.addEventListener("progress",h),d.addEventListener("load",()=>{w(),i({loaded:b,total:b}),l({url:a,method:r,status:d.status,statusText:d.statusText,headers:q(d),body:r==="HEAD"?"":d.responseText})}),d.addEventListener("error",()=>{w(),l({url:a,method:r,status:-1,statusText:"Failed",body:""})}),d.addEventListener("abort",()=>{w(),l({url:a,method:r,status:-1,statusText:"Aborted",body:""})}),Object.entries(e.headers).forEach(([m,R])=>{d.setRequestHeader(m,R)}),e.credentials==="include"&&(d.withCredentials=!0),d.send(e.body||void 0),e.abort&&e.abort.addEventListener("abort",g),e.timeout>0&&(s=setTimeout(g,e.timeout))})};function q(n){const o={};if(!n)return o;const t=n.getAllResponseHeaders();return t&&t!=="null"&&t.replace(/\r/g,"").split(`
|
|
2
|
+
`).forEach(e=>{const r=e.trim();if(!r)return;const i=r.split(":"),a=i[0].trim();a&&(o[a]=(i[1]||"").trim())}),o}const H=async function(n,o,t){return c.handleResponse(await c.retryRequest(T,n,o,t),n,o,t)},E=async function(n,o,t){return c.handleResponse(await c.retryRequest(p,n,o,t),n,o,t)};async function C(n,o,t,e){const r=t==null?void 0:t.body,i=(t==null?void 0:t.method)==="PUT"?"PUT":"POST";if(o instanceof Blob){const s=new c.RequestGlobalConfig(e),f=await p(n,s,{...t,method:i,body:o});return c.handleResponse(f,n,s,t)}const a=new FormData,l={...o};r instanceof Object&&Object.entries(r).forEach(([s,f])=>{f instanceof Blob?l[s]=f:Array.isArray(f)?f.forEach((g,w)=>{a.append(`${s}[${w}]`,String(g))}):a.append(s,String(f))});for(const s in l)a.append(s,l[s]);const b=new c.RequestGlobalConfig(e),h=await p(n,b,{...t,method:i,body:a});return c.handleResponse(h,n,b,t)}async function x(n,o,t={}){const e=window;"callback"in t||(t.callback="jsonxData"+Math.random().toString(16).slice(2));const r=t.callback+"";if(!n)return null;const i=c.Ct(n,t,!0);return new Promise(a=>{e[r]=function(l){if(r in window&&delete e[r],o(l))return l;console.warn("response type check faild",n,l),a(null)},c.on(i).catch(function(){a(null),delete e[r]})})}async function v(n,o,t={}){const e=window;return"var"in t||(t.var="jsonxData"+Math.random().toString(16).slice(2)),n?await c.on(c.Ct(n,t,!0)).then(()=>{const r=e[t.var+""];return o(r)?r:(console.warn("response type check faild",n,r),null)}).catch(()=>null):null}const L=async function(n,o,t){return await C(n,o,t,{baseURL:u.getConfig("baseURL"),logHandler:u.getConfig("logHandler"),errorHandler:u.getConfig("errorHandler"),requestTransformer:u.getConfig("requestTransformer"),messageHandler:u.getConfig("messageHandler"),responseHandler:u.getConfig("responseHandler")})};function y(n){if("window"in globalThis)return"fetch"in window?new c.NetRequestHandler(H,n):new c.NetRequestHandler(E,n);throw new Error("Default Module Only Support In Browser")}const u=y(),j=u.setConfig,S=u.head,U=u.get,O=u.post,P=u.del,D=u.put,k=u.patch;exports.getResponseRulesDescription=c.getResponseRulesDescription;exports.version=c.version;exports.NetRequest=y;exports.del=P;exports.get=U;exports.head=S;exports.jsonp=x;exports.jsonx=v;exports.patch=k;exports.post=O;exports.put=D;exports.setGlobalConfig=j;exports.upload=L;
|
package/dist/index.js
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { g as J, v as K } from "./version-
|
|
1
|
+
import { c as E, C as p, L as q, h as m, r as H, R, o as x, N as T } from "./version-CLBYgaXw.js";
|
|
2
|
+
import { g as J, v as K } from "./version-CLBYgaXw.js";
|
|
3
3
|
const C = async function(n, o, e) {
|
|
4
|
-
const t = await
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
function
|
|
8
|
-
|
|
4
|
+
const t = await E(n, o, e), r = new URL(t.url), i = t.params;
|
|
5
|
+
i instanceof Object && Object.keys(i).forEach((a) => r.searchParams.set(a, i[a]));
|
|
6
|
+
const s = new AbortController();
|
|
7
|
+
function c() {
|
|
8
|
+
s.signal.aborted || s.abort();
|
|
9
9
|
}
|
|
10
|
-
t.abort && t.abort.addEventListener("abort",
|
|
11
|
-
const f = t.timeout > 0 ? setTimeout(
|
|
10
|
+
t.abort && t.abort.addEventListener("abort", c);
|
|
11
|
+
const f = t.timeout > 0 ? setTimeout(c, t.timeout) : null, b = new Request(r, {
|
|
12
12
|
method: t.method,
|
|
13
13
|
headers: new Headers(t.headers),
|
|
14
14
|
body: t.body,
|
|
15
15
|
credentials: t.credentials,
|
|
16
|
-
signal:
|
|
16
|
+
signal: s.signal,
|
|
17
17
|
redirect: "follow"
|
|
18
18
|
});
|
|
19
|
-
return await fetch(
|
|
19
|
+
return await fetch(b).then(async (a) => ({
|
|
20
20
|
url: r.toString(),
|
|
21
21
|
method: t.method,
|
|
22
|
-
status:
|
|
23
|
-
statusText:
|
|
24
|
-
headers: Object.fromEntries(
|
|
25
|
-
body: t.method === "HEAD" ? "" : await
|
|
26
|
-
})).catch((
|
|
22
|
+
status: a.status,
|
|
23
|
+
statusText: a.statusText,
|
|
24
|
+
headers: Object.fromEntries(a.headers.entries()),
|
|
25
|
+
body: t.method === "HEAD" ? "" : await a.text()
|
|
26
|
+
})).catch((a) => ({
|
|
27
27
|
url: r.toString(),
|
|
28
28
|
method: t.method,
|
|
29
29
|
status: -1,
|
|
30
|
-
statusText:
|
|
31
|
-
body: String(
|
|
30
|
+
statusText: s.signal.aborted ? "Aborted" : "NetworkError",
|
|
31
|
+
body: String(a)
|
|
32
32
|
})).finally(() => {
|
|
33
|
-
f !== null && clearTimeout(f), t.abort && t.abort.removeEventListener("abort",
|
|
33
|
+
f !== null && clearTimeout(f), t.abort && t.abort.removeEventListener("abort", c);
|
|
34
34
|
});
|
|
35
|
-
},
|
|
35
|
+
}, y = async function(n, o, e) {
|
|
36
36
|
const t = {
|
|
37
|
-
...await
|
|
37
|
+
...await E(n, o, e),
|
|
38
38
|
onUploadProgress: e == null ? void 0 : e.onUploadProgress
|
|
39
|
-
}, r = t.method,
|
|
40
|
-
return await new Promise((
|
|
39
|
+
}, r = t.method, i = t.onUploadProgress || q, s = p(t.url, t.params);
|
|
40
|
+
return await new Promise((c) => {
|
|
41
41
|
let f = 1;
|
|
42
|
-
function
|
|
43
|
-
f =
|
|
42
|
+
function b(w) {
|
|
43
|
+
f = w.total, i({ total: w.total, loaded: w.loaded });
|
|
44
44
|
}
|
|
45
|
-
let
|
|
46
|
-
const
|
|
47
|
-
|
|
45
|
+
let a = null, u = !1;
|
|
46
|
+
const h = function() {
|
|
47
|
+
u || (l.abort(), u = !0);
|
|
48
48
|
};
|
|
49
|
-
function
|
|
50
|
-
|
|
49
|
+
function g() {
|
|
50
|
+
a !== null && clearTimeout(a), t.abort && t.abort.removeEventListener("abort", h);
|
|
51
51
|
}
|
|
52
52
|
const l = new XMLHttpRequest();
|
|
53
|
-
l.open(r,
|
|
54
|
-
|
|
55
|
-
url:
|
|
53
|
+
l.open(r, s, !0), l.upload.addEventListener("progress", b), l.addEventListener("load", () => {
|
|
54
|
+
g(), i({ loaded: f, total: f }), c({
|
|
55
|
+
url: s,
|
|
56
56
|
method: r,
|
|
57
57
|
status: l.status,
|
|
58
58
|
statusText: l.statusText,
|
|
59
|
-
headers:
|
|
59
|
+
headers: U(l),
|
|
60
60
|
body: r === "HEAD" ? "" : l.responseText
|
|
61
61
|
});
|
|
62
62
|
}), l.addEventListener("error", () => {
|
|
63
|
-
|
|
64
|
-
url:
|
|
63
|
+
g(), c({
|
|
64
|
+
url: s,
|
|
65
65
|
method: r,
|
|
66
66
|
status: -1,
|
|
67
67
|
statusText: "Failed",
|
|
68
68
|
body: ""
|
|
69
69
|
});
|
|
70
70
|
}), l.addEventListener("abort", () => {
|
|
71
|
-
|
|
72
|
-
url:
|
|
71
|
+
g(), c({
|
|
72
|
+
url: s,
|
|
73
73
|
method: r,
|
|
74
74
|
status: -1,
|
|
75
75
|
statusText: "Aborted",
|
|
76
76
|
body: ""
|
|
77
77
|
});
|
|
78
|
-
}), Object.entries(t.headers).forEach(([
|
|
79
|
-
l.setRequestHeader(
|
|
80
|
-
}), t.credentials === "include" && (l.withCredentials = !0), l.send(t.body || void 0), t.abort && t.abort.addEventListener("abort",
|
|
78
|
+
}), Object.entries(t.headers).forEach(([w, L]) => {
|
|
79
|
+
l.setRequestHeader(w, L);
|
|
80
|
+
}), t.credentials === "include" && (l.withCredentials = !0), l.send(t.body || void 0), t.abort && t.abort.addEventListener("abort", h), t.timeout > 0 && (a = setTimeout(h, t.timeout));
|
|
81
81
|
});
|
|
82
82
|
};
|
|
83
|
-
function
|
|
83
|
+
function U(n) {
|
|
84
84
|
const o = {};
|
|
85
85
|
if (!n)
|
|
86
86
|
return o;
|
|
@@ -90,57 +90,66 @@ function v(n) {
|
|
|
90
90
|
const r = t.trim();
|
|
91
91
|
if (!r)
|
|
92
92
|
return;
|
|
93
|
-
const
|
|
94
|
-
|
|
93
|
+
const i = r.split(":"), s = i[0].trim();
|
|
94
|
+
s && (o[s] = (i[1] || "").trim());
|
|
95
95
|
}), o;
|
|
96
96
|
}
|
|
97
|
-
const
|
|
98
|
-
return
|
|
99
|
-
},
|
|
100
|
-
return
|
|
97
|
+
const v = async function(n, o, e) {
|
|
98
|
+
return m(await H(C, n, o, e), n, o, e);
|
|
99
|
+
}, S = async function(n, o, e) {
|
|
100
|
+
return m(await H(y, n, o, e), n, o, e);
|
|
101
101
|
};
|
|
102
|
-
async function
|
|
103
|
-
const r =
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
async function j(n, o, e, t) {
|
|
103
|
+
const r = e == null ? void 0 : e.body, i = (e == null ? void 0 : e.method) === "PUT" ? "PUT" : "POST";
|
|
104
|
+
if (o instanceof Blob) {
|
|
105
|
+
const a = new R(t), u = await y(n, a, {
|
|
106
|
+
...e,
|
|
107
|
+
method: i,
|
|
108
|
+
body: o
|
|
109
|
+
});
|
|
110
|
+
return m(u, n, a, e);
|
|
111
|
+
}
|
|
112
|
+
const s = new FormData(), c = { ...o };
|
|
113
|
+
r instanceof Object && Object.entries(r).forEach(([a, u]) => {
|
|
114
|
+
u instanceof Blob ? c[a] = u : Array.isArray(u) ? u.forEach((h, g) => {
|
|
115
|
+
s.append(`${a}[${g}]`, String(h));
|
|
116
|
+
}) : s.append(a, String(u));
|
|
108
117
|
});
|
|
109
|
-
for (const
|
|
110
|
-
|
|
111
|
-
const
|
|
118
|
+
for (const a in c)
|
|
119
|
+
s.append(a, c[a]);
|
|
120
|
+
const f = new R(t), b = await y(n, f, {
|
|
112
121
|
...e,
|
|
113
|
-
method:
|
|
114
|
-
body:
|
|
122
|
+
method: i,
|
|
123
|
+
body: s
|
|
115
124
|
});
|
|
116
|
-
return
|
|
125
|
+
return m(b, n, f, e);
|
|
117
126
|
}
|
|
118
|
-
async function
|
|
127
|
+
async function k(n, o, e = {}) {
|
|
119
128
|
const t = window;
|
|
120
129
|
"callback" in e || (e.callback = "jsonxData" + Math.random().toString(16).slice(2));
|
|
121
130
|
const r = e.callback + "";
|
|
122
131
|
if (!n)
|
|
123
132
|
return null;
|
|
124
|
-
const
|
|
125
|
-
return new Promise((
|
|
126
|
-
t[r] = function(
|
|
127
|
-
if (r in window && delete t[r], o(
|
|
128
|
-
return
|
|
129
|
-
console.warn("response type check faild", n,
|
|
130
|
-
},
|
|
131
|
-
|
|
133
|
+
const i = p(n, e, !0);
|
|
134
|
+
return new Promise((s) => {
|
|
135
|
+
t[r] = function(c) {
|
|
136
|
+
if (r in window && delete t[r], o(c))
|
|
137
|
+
return c;
|
|
138
|
+
console.warn("response type check faild", n, c), s(null);
|
|
139
|
+
}, x(i).catch(function() {
|
|
140
|
+
s(null), delete t[r];
|
|
132
141
|
});
|
|
133
142
|
});
|
|
134
143
|
}
|
|
135
|
-
async function
|
|
144
|
+
async function A(n, o, e = {}) {
|
|
136
145
|
const t = window;
|
|
137
|
-
return "var" in e || (e.var = "jsonxData" + Math.random().toString(16).slice(2)), n ? await
|
|
146
|
+
return "var" in e || (e.var = "jsonxData" + Math.random().toString(16).slice(2)), n ? await x(p(n, e, !0)).then(() => {
|
|
138
147
|
const r = t[e.var + ""];
|
|
139
148
|
return o(r) ? r : (console.warn("response type check faild", n, r), null);
|
|
140
149
|
}).catch(() => null) : null;
|
|
141
150
|
}
|
|
142
|
-
const
|
|
143
|
-
return await
|
|
151
|
+
const D = async function(n, o, e) {
|
|
152
|
+
return await j(n, o, e, {
|
|
144
153
|
baseURL: d.getConfig("baseURL"),
|
|
145
154
|
logHandler: d.getConfig("logHandler"),
|
|
146
155
|
errorHandler: d.getConfig("errorHandler"),
|
|
@@ -151,22 +160,22 @@ const P = async function(n, o, e) {
|
|
|
151
160
|
};
|
|
152
161
|
function O(n) {
|
|
153
162
|
if ("window" in globalThis)
|
|
154
|
-
return "fetch" in window ? new
|
|
163
|
+
return "fetch" in window ? new T(v, n) : new T(S, n);
|
|
155
164
|
throw new Error("Default Module Only Support In Browser");
|
|
156
165
|
}
|
|
157
|
-
const d = O(), M = d.setConfig, N = d.head, F = d.get,
|
|
166
|
+
const d = O(), M = d.setConfig, N = d.head, F = d.get, B = d.post, X = d.del, G = d.put, I = d.patch;
|
|
158
167
|
export {
|
|
159
168
|
O as NetRequest,
|
|
160
|
-
|
|
169
|
+
X as del,
|
|
161
170
|
F as get,
|
|
162
171
|
J as getResponseRulesDescription,
|
|
163
172
|
N as head,
|
|
164
|
-
|
|
165
|
-
|
|
173
|
+
k as jsonp,
|
|
174
|
+
A as jsonx,
|
|
166
175
|
I as patch,
|
|
167
|
-
|
|
176
|
+
B as post,
|
|
168
177
|
G as put,
|
|
169
178
|
M as setGlobalConfig,
|
|
170
|
-
|
|
179
|
+
D as upload,
|
|
171
180
|
K as version
|
|
172
181
|
};
|
package/dist/node.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("node:http"),q=require("node:https"),r=require("./version-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("node:http"),q=require("node:https"),r=require("./version-DJIdoURF.cjs"),R=async function(s,u,c){return r.handleResponse(await r.retryRequest(w,s,u,c),s,u,c)},w=async function(s,u,c){const t=await r.convertOptions(s,u,c);if(!r.R(t.url))return{url:t.url,method:t.method,status:-1,statusText:"URLFormatError",headers:{},body:""};const b=/^https:\/\//i.test(t.url)?q:y,a=new URL(t.url),i=t.params;i instanceof Object&&Object.keys(i).forEach(n=>a.searchParams.set(n,i[n]));const f=t.method==="HEAD";return new Promise(n=>{const d=b.request(a,{headers:t.headers,method:t.method,timeout:t.timeout>0?t.timeout:void 0},function(e){const p=[];e.on("data",h=>p.push(h)),e.on("end",()=>{const h=Object.fromEntries(Object.entries(e.headers).map(([g,m])=>[g.toLowerCase(),Array.isArray(m)?m.join(","):m]));n({url:a.toString(),method:t.method,status:e.statusCode||-1,statusText:e.statusMessage||"Unknown",headers:h,body:f?"":Buffer.concat(p).toString("utf-8")})})});d.on("error",e=>{n({url:a.toString(),method:t.method,status:-1,statusText:e.name||"Unknown",body:e.message})}),d.on("timeout",()=>{n({url:a.toString(),method:t.method,status:-1,statusText:"Timeout",body:""})}),t.body&&d.write(t.body),d.end()})};function l(s){return new r.NetRequestHandler(R,s)}const o=l(),j=o.setConfig,O=o.head,S=o.get,T=o.post,C=o.del,U=o.put,x=o.patch;exports.version=r.version;exports.NetRequest=l;exports.del=C;exports.get=S;exports.head=O;exports.patch=x;exports.post=T;exports.put=U;exports.setGlobalConfig=j;
|
package/dist/node.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import l from "node:http";
|
|
2
2
|
import y from "node:https";
|
|
3
|
-
import { h as R, r as g, c as q, a as w, N as x } from "./version-
|
|
4
|
-
import { v as F } from "./version-
|
|
3
|
+
import { h as R, r as g, c as q, a as w, N as x } from "./version-CLBYgaXw.js";
|
|
4
|
+
import { v as F } from "./version-CLBYgaXw.js";
|
|
5
5
|
const j = async function(s, a, u) {
|
|
6
6
|
return R(await g(O, s, a, u), s, a, u);
|
|
7
7
|
}, O = async function(s, a, u) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";var A=Object.defineProperty;var U=(t,e,n)=>e in t?A(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var f=(t,e,n)=>(U(t,typeof e!="symbol"?e+"":e,n),n);async function x(t,e,n){var b;const s=Object.assign({method:"GET"},n),r="FormData"in globalThis?s.body instanceof FormData:!1,a=r&&s.method!=="POST"&&s.method!=="PUT"?"POST":s.method;(a==="GET"||a==="HEAD"||a==="DELETE")&&s.body!==void 0&&(console.warn("request body is invalid with method get, head, delete"),delete s.body);const o=Object.assign(r?{}:{"Content-Type":"Blob"in globalThis&&s.body instanceof Blob?s.body.type||"application/octet-stream":"application/json;charset=utf-8"},s.headers),i=s.params||{},c={};Object.keys(i).forEach(h=>{i[h]!==void 0&&(c[h]=P(i[h]))});const d=e.getFullUrl(t),l=H(s.body),u=s.timeout||e.get("timeout"),g=await async function(){var O;const h=e.get("requestTransformer");return h?await h({headers:o,params:c,method:a,url:d,body:l}):await((O=e.get("requestHandler"))==null?void 0:O(o,c,a,t))}(),m=typeof g=="string"&&g?g:d;return(b=e.get("logHandler"))==null||b({type:"ready",url:m,method:a,headers:o,timeout:u,body:l}),{url:m,method:a,body:l,params:c,headers:o,timeout:u,abort:s.abort,credentials:s.credentials||e.get("credentials")}}function P(t){return typeof t=="string"?t:Array.isArray(t)?t.join(","):t+""}function H(t){if(t)return typeof t=="string"||t instanceof URLSearchParams||t instanceof ArrayBuffer||"Blob"in globalThis&&t instanceof Blob||"FormData"in globalThis&&t instanceof FormData?t:JSON.stringify(t)}function B(t){return new Promise(e=>setTimeout(e,Math.max(0,t)))}function k(){}function R(t,e){try{const n=JSON.parse(t);return e?e(n)?n:null:n}catch{return null}}""+Math.random().toString(32).slice(2);const q=/^(?:https?:)?\/\/.+$/i,I=/^https?:\/\/.+$/i,K=/^\{[\d\D]*\}$/,S=/^\[[\d\D]*\]$/;function p(t,e=!1){return e?q.test(t):I.test(t)}function N(t){return t==null}function M(t,...e){if(!t||typeof t!="object")return!1;const n=Object.getPrototypeOf(t);return n!==Object.prototype&&n!==null?!1:e.every(s=>s in t)}function C(t){return K.test(t)||S.test(t)}async function G(t){return await new Promise(function(e){const n=document.getElementsByTagName("head")[0],s=document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("charset","utf-8"),s.onload=function(){n.removeChild(s),e(!0)},s.onerror=function(){n.removeChild(s),e(!1)},s.setAttribute("src",t),n.appendChild(s)})}function J(t,e="数据未能正确识别"){return typeof t=="function"?{guard:t,message:e}:{guard:t.guard,message:t.message||e}}function $(t,e=""){return!e||p(t,!0)?v(t):(v(e)+"/"+t).replace(/\/{2,}/g,"/").replace(/:\//,"://")}function v(t){return p(t,!0)?t.startsWith("http")?t:("location"in globalThis?location.protocol:"https:")+t:("location"in globalThis?location.origin:"http://127.0.0.1")+"/"+t.replace(/^\/+/,"")}function _(t,e){if(e){if(e===!0)return t.replace(/\?[^#]*/,"")}else return t;const n=t.split("#"),s=n[0].split("?"),r=s[0],a=s.length>1?s[1]:"",o=n.length>1?"#"+n[1]:"",i=typeof e=="string"?[e]:Array.isArray(e)?e:[];return!i.length||!a?n[0]+o:(i.map(c=>c.replace(/([\\(){}[\]^$+\-*?|])/g,"\\$1")),(r+"?"+a.replace(new RegExp("(?:^|&)(?:"+i.join("|")+")=[^&$]+","g"),"").replace(/^&/,"")).replace(/\?$/,"")+o)}function V(t,e,n=!1){const s=typeof e=="string"?e:Object.keys(e).map(o=>`${o}=${encodeURIComponent(e[o])}`).join("&");if(!s)return t;const r=t.split("#");n&&(r[0]=_(r[0],(s.match(/([^=&#?]+)=[^&#]+/g)||[]).map(o=>o.replace(/=.+$/,""))));const a=r[0].indexOf("?")+1?"&":"?";return(r[0]+a+s+(r.length>1?"#"+r[1]:"")).replace(/\?&/,"?")}const E="data",y="message";function W(t,e,n,s,r){const a=r||s;return j(t)?te(a.ok||s.ok,t,e,n):X(a.failed||s.failed,e,n)}const Y=function(t){const e=[],n=t.failed||{resolve:"json"};switch(e.push("- 当http状态码 <200 或者 >=400 时"),n.resolve){case"body":e.push(" 将响应内容格式化为字符串并作为错误消息");break;case"json":e.push(" 将响应解析为json,并读取 "+(n.messageField||y)+" 作为错误消息");break}const s=t.ok||{resolve:"body"};switch(e.push("- 当http状态码 >=200 并且 <400 时"),s.resolve){case"body":e.push(" 将响应尝试解析为 json,并作为数据内容返回");break;case"json":e.push(" 将响应解析为 json,读取 "+(s.dataField||E)+" 作为响应数据,读取 "+(s.messageField||y)+" 作为提示消息"),s.statusField&&e.push(" 当 "+s.statusField+" 为 "+(s.statusOKValue||"空值")+" 时是成功提示,否则是错误消息"),s.ignoreMessage&&e.push(" 并忽略以下消息:"+s.ignoreMessage);break}return e.join(`
|
|
2
|
-
`)};function X(t,e,n){const s=t||{resolve:"json",messageField:y},r={ok:!1,code:e,message:n,data:null};switch(s.resolve){case"body":r.message=F(n)||n;break;case"json":const{code:a,message:o}=z(n,s.statusField,s.messageField);r.code=a||e,r.message=F(n)||o;break}return r}function z(t,e,n=y){if(!C(t))return{message:""};const s=R(t);return!s||!M(s)?{message:t}:{code:e?w(s,e):"",message:w(s,n)||t}}function w(t,e){const n=Array.isArray(e)?e:[e];for(const s of n)if(s in t)return Q(t[s]);return""}function Q(t){return t?typeof t=="string"?t:JSON.stringify(t):""}const Z=/<title>([^<]+)<\/title>/i,ee=/<message>([^<]+)<\/message>/i;function F(t){const e=t.match(Z);if(e)return e[1];const n=t.match(ee);return n?n[1]:""}function te(t,e,n,s){const r=t||{resolve:"body"},a={ok:!0,code:n,message:"",data:null};if(e===202||e===204||!s)return a;if(r.resolve==="body")return a.data=C(s)?R(s):s,a;const o=R(s);if(!o||!M(o))return a.ok=!1,a.code="ResponseFormatError",a.message="响应内容无法格式化为 Object",a;const i=r.statusField,c=r.statusOKValue||"",d=r.dataField||E,l=r.messageField||y,u=r.ignoreMessage||"";if(i&&!(i in o))return a.ok=!1,a.code="ResponseFieldMissing",a.message="响应内容找不到状态字段 "+i,a;const g=i?o[i]+"":"";return a.ok=i?g===c:!0,a.code=g||n,a.data=d===!0?o:d in o?o[d]:null,a.message=w(o,l),u&&a.message&&(Array.isArray(u)&&u.includes(a.message)||typeof u=="string"&&a.message===u)&&(a.message=""),a}function j(t){return t>=200&&t<400}async function D(t,e,n,s,r){const a=r||0,o=Math.max(0,Math.min(10,(s==null?void 0:s.maxRetry)??n.get("maxRetry")??0)),i=(s==null?void 0:s.retryResolve)??n.get("retryResolve"),c=n.get("logHandler")||k;c({type:"prepear",url:e,method:(s==null?void 0:s.method)||"GET",retry:a,maxRetry:o,message:a===0?"start":`retry ${a}/${o} start`,headers:s==null?void 0:s.headers,options:s});const d=Date.now(),l=await t(e,n,s),u=l.status,g=Date.now()-d,m=`[cost ${g}][${u}] ${u<0?l.body:""}`;c({type:"finished",url:e,method:l.method,retry:a,maxRetry:o,message:a===0?`finish ${m}`:`retry ${a}/${o} finish ${m}`,response:l,headers:l.headers,cost:g});const b=j(u);if(!o||i==="network"&&u>0||i==="status"&&b||Array.isArray(i)&&!i.includes(u)||typeof i=="function"&&i(l,a)!==!0||a>=o)return l;const h=(s==null?void 0:s.retryInterval)??n.get("retryInterval")??1e3;return await B(Math.max(100,h==="2EB"?Math.pow(2,a)*1e3:typeof h=="function"?h(a+1)||0:h)),await D(t,e,n,s,a+1)}function se(t,e,n,s){var o,i;if(t.status<0)return T({ok:!1,status:t.status,code:t.statusText,headers:{},message:"",data:null},`${t.method} ${e} ${t.statusText}`,t.method,e,n,s);j(t.status)||(o=n.get("errorHandler"))==null||o(t.status,t.method,e);const r={...W(t.status,t.statusText,t.body,n.get("responseRule"),s==null?void 0:s.responseRule),status:t.status,headers:Object.fromEntries(Object.entries(t.headers||{}).map(([c,d])=>[c.toLowerCase(),d]))};(i=n.get("responseHandler"))==null||i({...r},t.method,e);const a=r.ok?r.message:`${t.method} ${e} [${r.code||t.statusText}] ${r.message||t.statusText}`;return T(r,a,t.method,e,n,s)}function T(t,e,n,s,r,a){const o=r.get("message"),i=o===!1||(a==null?void 0:a.message)===!1?!1:(a==null?void 0:a.message)||o;if(i!==!1){const c=typeof i=="function"?i(t,n,s,e):e;c instanceof Error?r.showMessage(!0,c.message):c&&typeof c=="object"&&"message"in c?r.showMessage(!1,c.message):r.showMessage(!t.ok,c)}return t}class L{constructor(e){f(this,"config",{baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:5e3,cacheTTL:500,credentials:"same-origin",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}});e&&this.set(e)}set(e){if(e.baseURL&&!/^\/.+/.test(e.baseURL)&&!p(e.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,e)}get(e){return this.config[e]}getFullUrl(e){return e.startsWith("/")?$(e):$(e,this.config.baseURL)}showMessage(e,n){this.config.messageHandler&&n&&this.config.messageHandler(e,n)}}class ne{constructor(e=500){f(this,"ttl");f(this,"cache");this.cache={},this.ttl=Math.max(e,0)}getKey(e,n){const s=Object.keys(n||{}).sort().map(r=>`${r}#${n==null?void 0:n[r]}`);return e+s.join(",")}updateTTL(e){this.ttl=Math.max(e,0)}get(e){if(this.ttl===0)return null;const n=this.cache[e];return n?n.ttl<Date.now()?(delete this.cache[e],null):n.res:null}set(e,n){this.ttl!==0&&(this.cache[e]={ttl:Date.now()+this.ttl,res:n})}}function ae(t,e,n,s){if(e.ok&&!N(e.data)&&s){const r=J(s,"响应数据未能正确识别");return r.guard(e.data)||(console.error("ResponseCheckFaild",t,e.data),n.showMessage(!0,`${t} ${r.message}`),e.data=null),e}return e}class re{constructor(e,n){f(this,"agent");f(this,"config");f(this,"cache");this.config=new L(n),this.agent=e,this.cache=new ne(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}async exec(e,n){return await this.agent(e,this.config,n)}async guard(e,n,s){return ae(e,n,this.config,s)}setConfig(e){this.config.set(e),this.cache.updateTTL(this.config.get("cacheTTL"))}getConfig(e){return this.config.get(e)}async head(e,n){const s=Object.assign({},n||null);return s.method="HEAD",this.guard(e,await this.exec(e,s),null)}async get(e,n,s){const r=Object.assign({},s||null);r.method="GET";const a=this.cache.getKey(e,r.params),o=this.cache.get(a);if(o)return this.guard(e,await o,n||null);const i=this.exec(e,r);return this.cache.set(a,i),this.guard(e,await i,n||null)}async post(e,n,s,r){const a=Object.assign({},r||null);return a.method="POST",a.body=n,this.guard(e,await this.exec(e,a),s||null)}async del(e,n,s){const r=Object.assign({},s||null);return r.method="DELETE",this.guard(e,await this.exec(e,r),n||null)}async put(e,n,s,r){const a=Object.assign({},r||null);return a.method="PUT",a.body=n,this.guard(e,await this.exec(e,a),s||null)}async patch(e,n,s,r){const a=Object.assign({},r||null);return a.method="PATCH",a.body=n,this.guard(e,await this.exec(e,a),s||null)}}const oe="1.
|
|
2
|
+
`)};function X(t,e,n){const s=t||{resolve:"json",messageField:y},r={ok:!1,code:e,message:n,data:null};switch(s.resolve){case"body":r.message=F(n)||n;break;case"json":const{code:a,message:o}=z(n,s.statusField,s.messageField);r.code=a||e,r.message=F(n)||o;break}return r}function z(t,e,n=y){if(!C(t))return{message:""};const s=R(t);return!s||!M(s)?{message:t}:{code:e?w(s,e):"",message:w(s,n)||t}}function w(t,e){const n=Array.isArray(e)?e:[e];for(const s of n)if(s in t)return Q(t[s]);return""}function Q(t){return t?typeof t=="string"?t:JSON.stringify(t):""}const Z=/<title>([^<]+)<\/title>/i,ee=/<message>([^<]+)<\/message>/i;function F(t){const e=t.match(Z);if(e)return e[1];const n=t.match(ee);return n?n[1]:""}function te(t,e,n,s){const r=t||{resolve:"body"},a={ok:!0,code:n,message:"",data:null};if(e===202||e===204||!s)return a;if(r.resolve==="body")return a.data=C(s)?R(s):s,a;const o=R(s);if(!o||!M(o))return a.ok=!1,a.code="ResponseFormatError",a.message="响应内容无法格式化为 Object",a;const i=r.statusField,c=r.statusOKValue||"",d=r.dataField||E,l=r.messageField||y,u=r.ignoreMessage||"";if(i&&!(i in o))return a.ok=!1,a.code="ResponseFieldMissing",a.message="响应内容找不到状态字段 "+i,a;const g=i?o[i]+"":"";return a.ok=i?g===c:!0,a.code=g||n,a.data=d===!0?o:d in o?o[d]:null,a.message=w(o,l),u&&a.message&&(Array.isArray(u)&&u.includes(a.message)||typeof u=="string"&&a.message===u)&&(a.message=""),a}function j(t){return t>=200&&t<400}async function D(t,e,n,s,r){const a=r||0,o=Math.max(0,Math.min(10,(s==null?void 0:s.maxRetry)??n.get("maxRetry")??0)),i=(s==null?void 0:s.retryResolve)??n.get("retryResolve"),c=n.get("logHandler")||k;c({type:"prepear",url:e,method:(s==null?void 0:s.method)||"GET",retry:a,maxRetry:o,message:a===0?"start":`retry ${a}/${o} start`,headers:s==null?void 0:s.headers,options:s});const d=Date.now(),l=await t(e,n,s),u=l.status,g=Date.now()-d,m=`[cost ${g}][${u}] ${u<0?l.body:""}`;c({type:"finished",url:e,method:l.method,retry:a,maxRetry:o,message:a===0?`finish ${m}`:`retry ${a}/${o} finish ${m}`,response:l,headers:l.headers,cost:g});const b=j(u);if(!o||i==="network"&&u>0||i==="status"&&b||Array.isArray(i)&&!i.includes(u)||typeof i=="function"&&i(l,a)!==!0||a>=o)return l;const h=(s==null?void 0:s.retryInterval)??n.get("retryInterval")??1e3;return await B(Math.max(100,h==="2EB"?Math.pow(2,a)*1e3:typeof h=="function"?h(a+1)||0:h)),await D(t,e,n,s,a+1)}function se(t,e,n,s){var o,i;if(t.status<0)return T({ok:!1,status:t.status,code:t.statusText,headers:{},message:"",data:null},`${t.method} ${e} ${t.statusText}`,t.method,e,n,s);j(t.status)||(o=n.get("errorHandler"))==null||o(t.status,t.method,e);const r={...W(t.status,t.statusText,t.body,n.get("responseRule"),s==null?void 0:s.responseRule),status:t.status,headers:Object.fromEntries(Object.entries(t.headers||{}).map(([c,d])=>[c.toLowerCase(),d]))};(i=n.get("responseHandler"))==null||i({...r},t.method,e);const a=r.ok?r.message:`${t.method} ${e} [${r.code||t.statusText}] ${r.message||t.statusText}`;return T(r,a,t.method,e,n,s)}function T(t,e,n,s,r,a){const o=r.get("message"),i=o===!1||(a==null?void 0:a.message)===!1?!1:(a==null?void 0:a.message)||o;if(i!==!1){const c=typeof i=="function"?i(t,n,s,e):e;c instanceof Error?r.showMessage(!0,c.message):c&&typeof c=="object"&&"message"in c?r.showMessage(!1,c.message):r.showMessage(!t.ok,c)}return t}class L{constructor(e){f(this,"config",{baseURL:"",maxRetry:0,retryInterval:1e3,retryResolve:"network",timeout:5e3,cacheTTL:500,credentials:"same-origin",responseRule:{ok:{resolve:"body"},failed:{resolve:"json",messageField:"message"}}});e&&this.set(e)}set(e){if(e.baseURL&&!/^\/.+/.test(e.baseURL)&&!p(e.baseURL))throw console.warn("baseURL 需要以 / 开头,或者是完整的 url 地址"),new Error("BaseURLError");Object.assign(this.config,e)}get(e){return this.config[e]}getFullUrl(e){return e.startsWith("/")?$(e):$(e,this.config.baseURL)}showMessage(e,n){this.config.messageHandler&&n&&this.config.messageHandler(e,n)}}class ne{constructor(e=500){f(this,"ttl");f(this,"cache");this.cache={},this.ttl=Math.max(e,0)}getKey(e,n){const s=Object.keys(n||{}).sort().map(r=>`${r}#${n==null?void 0:n[r]}`);return e+s.join(",")}updateTTL(e){this.ttl=Math.max(e,0)}get(e){if(this.ttl===0)return null;const n=this.cache[e];return n?n.ttl<Date.now()?(delete this.cache[e],null):n.res:null}set(e,n){this.ttl!==0&&(this.cache[e]={ttl:Date.now()+this.ttl,res:n})}}function ae(t,e,n,s){if(e.ok&&!N(e.data)&&s){const r=J(s,"响应数据未能正确识别");return r.guard(e.data)||(console.error("ResponseCheckFaild",t,e.data),n.showMessage(!0,`${t} ${r.message}`),e.data=null),e}return e}class re{constructor(e,n){f(this,"agent");f(this,"config");f(this,"cache");this.config=new L(n),this.agent=e,this.cache=new ne(this.config.get("cacheTTL")),this.setConfig=this.setConfig.bind(this),this.getConfig=this.getConfig.bind(this),this.get=this.get.bind(this),this.post=this.post.bind(this),this.del=this.del.bind(this),this.patch=this.patch.bind(this),this.put=this.put.bind(this),this.head=this.head.bind(this)}async exec(e,n){return await this.agent(e,this.config,n)}async guard(e,n,s){return ae(e,n,this.config,s)}setConfig(e){this.config.set(e),this.cache.updateTTL(this.config.get("cacheTTL"))}getConfig(e){return this.config.get(e)}async head(e,n){const s=Object.assign({},n||null);return s.method="HEAD",this.guard(e,await this.exec(e,s),null)}async get(e,n,s){const r=Object.assign({},s||null);r.method="GET";const a=this.cache.getKey(e,r.params),o=this.cache.get(a);if(o)return this.guard(e,await o,n||null);const i=this.exec(e,r);return this.cache.set(a,i),this.guard(e,await i,n||null)}async post(e,n,s,r){const a=Object.assign({},r||null);return a.method="POST",a.body=n,this.guard(e,await this.exec(e,a),s||null)}async del(e,n,s){const r=Object.assign({},s||null);return r.method="DELETE",this.guard(e,await this.exec(e,r),n||null)}async put(e,n,s,r){const a=Object.assign({},r||null);return a.method="PUT",a.body=n,this.guard(e,await this.exec(e,a),s||null)}async patch(e,n,s,r){const a=Object.assign({},r||null);return a.method="PATCH",a.body=n,this.guard(e,await this.exec(e,a),s||null)}}const oe="1.6.0";exports.Ct=V;exports.Lt=k;exports.NetRequestHandler=re;exports.R=p;exports.RequestGlobalConfig=L;exports.convertOptions=x;exports.getResponseRulesDescription=Y;exports.handleResponse=se;exports.on=G;exports.retryRequest=D;exports.version=oe;
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.
|
|
1
|
+
export declare const version = "1.6.0";
|
package/dist/wx.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./version-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./version-DJIdoURF.cjs"),l=async function(t,n,r){return s.handleResponse(await s.retryRequest(f,t,n,r),t,n,r)},f=async function(t,n,r){const e=await s.convertOptions(t,n,r),u=e.method==="PATCH"?"POST":e.method,a=s.Ct(e.url,e.params);return globalThis.wx?new Promise(i=>{wx.request({url:a,data:e.body,header:e.headers,method:u,dataType:"string",responseType:"text",fail(){i({url:a,method:u,status:-1,statusText:"NetworkError",body:""})},success(c){i({url:a,method:u,status:c.statusCode,statusText:c.statusCode+"",headers:{...c.header},body:e.method==="HEAD"?"":p(c.data)})}})}):{url:a,method:u,status:-1,statusText:"NotSupport",body:"NotFound namespace of wx"}};function p(t){return typeof t=="string"?t:t instanceof ArrayBuffer&&"TextDecoder"in globalThis?new TextDecoder().decode(t):JSON.stringify(t)}function d(t){return new s.NetRequestHandler(l,t)}const o=d(),g=o.setConfig,h=o.head,y=o.get,T=o.post,b=o.del,x=o.put;exports.version=s.version;exports.NetRequest=d;exports.del=b;exports.get=y;exports.head=h;exports.post=T;exports.put=x;exports.setGlobalConfig=g;
|
package/dist/wx.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { h as d, r as i, c as f, C as l, N as p } from "./version-
|
|
2
|
-
import { v as A } from "./version-
|
|
1
|
+
import { h as d, r as i, c as f, C as l, N as p } from "./version-CLBYgaXw.js";
|
|
2
|
+
import { v as A } from "./version-CLBYgaXw.js";
|
|
3
3
|
const h = async function(t, o, r) {
|
|
4
4
|
return d(await i(x, t, o, r), t, o, r);
|
|
5
5
|
}, x = async function(t, o, r) {
|