@xingm/http-request-sdk 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -154,6 +154,7 @@ const { request } = useRequestSdk();
154
154
  setupRequestSdk({
155
155
  baseURL: "/admin-api",
156
156
  timeout: 30000,
157
+ lang: "zh-CN",
157
158
  unwrapData: true,
158
159
  successCodes: [0, 200],
159
160
  authHeaderName: "Authorization",
@@ -179,6 +180,46 @@ setupRequestSdk({
179
180
  });
180
181
  ```
181
182
 
183
+ ## 国际化
184
+
185
+ SDK 内置默认文案支持 `zh-CN` 和 `en-US`,接入项目可以通过 `lang` 指定:
186
+
187
+ ```ts
188
+ setupRequestSdk({
189
+ baseURL: "/admin-api",
190
+ lang: "en-US",
191
+ });
192
+ ```
193
+
194
+ 如果项目已有自己的 i18n,可以继续使用 `locale.translate`,它的优先级高于 `lang` 内置文案:
195
+
196
+ ```ts
197
+ setupRequestSdk({
198
+ lang: "zh-CN",
199
+ locale: {
200
+ translate: (key, defaultMessage) => i18n.global.t(key) || defaultMessage,
201
+ },
202
+ });
203
+ ```
204
+
205
+ ## 请求参数格式
206
+
207
+ SDK 同时兼容对象式和分参式写法:
208
+
209
+ ```ts
210
+ request.get({ url: "/system/user/list", params: { pageNo: 1 } });
211
+ request.get("/system/user/list", { pageNo: 1 });
212
+
213
+ request.post({ url: "/system/user/create", data: formData });
214
+ request.post("/system/user/create", formData);
215
+
216
+ request.post({ url: "/system/user/list", params: { pageNo: 1 } });
217
+ request.delete({ url: "/system/user/delete", params: { id: 1 } });
218
+ request.delete("/system/user/delete", { id: 1 });
219
+ ```
220
+
221
+ 如果第二个参数是 axios config,比如 `{ params, headers, responseType }`,SDK 会保留原样传给 axios。
222
+
182
223
  ## 导出能力
183
224
 
184
225
  主入口:
@@ -274,4 +315,4 @@ setupRequestSdk({
274
315
  },
275
316
  });
276
317
  const defHttp = request
277
- export { defHttp };
318
+ export { defHttp };
@@ -1 +1 @@
1
- {"version":3,"file":"create-request-sdk.d.ts","sourceRoot":"","sources":["../src/create-request-sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAQV,UAAU,EACV,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAWjB,eAAO,MAAM,2BAA2B,2CACE,CAAC;AAE3C,eAAO,MAAM,gBAAgB,GAAI,SAAS,GAAG,OAAO,EAClD,UAAS,iBAAiB,CAAC,SAAS,CAAM,KACzC,UA8bF,CAAC"}
1
+ {"version":3,"file":"create-request-sdk.d.ts","sourceRoot":"","sources":["../src/create-request-sdk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EASV,UAAU,EACV,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAWjB,eAAO,MAAM,2BAA2B,2CACE,CAAC;AAE3C,eAAO,MAAM,gBAAgB,GAAI,SAAS,GAAG,OAAO,EAClD,UAAS,iBAAiB,CAAC,SAAS,CAAM,KACzC,UA+cF,CAAC"}
@@ -0,0 +1,474 @@
1
+ import j from "axios";
2
+ const U = [0, 200], I = {
3
+ "api.accountExpired": "Your account has expired. Please log in again.",
4
+ "api.permissionExpiredTitle": "Permission expired",
5
+ "api.permissionExpiredContent": "Your account has expired. Please log in again.",
6
+ "api.permissionExpiredOkText": "OK",
7
+ "api.networkExceptionMsg": "Network connection error",
8
+ "api.systemException": "System error",
9
+ "api.noPermissionOperation": "No permission to perform this operation",
10
+ "api.exportFailed": "Export failed",
11
+ "api.tokenExpired": "Your account has expired. Please log in again."
12
+ }, O = (e, t, a) => H(a) ? I[e] ?? t ?? e : t ?? e, H = (e) => typeof e == "string" && e.toLowerCase().startsWith("en"), F = (e) => {
13
+ var i, d, u;
14
+ if (typeof e != "string") return;
15
+ const t = ((i = e.match(/【([^】]+)】/)) == null ? void 0 : i[1]) || ((d = e.match(/\(([^)]+)\)/)) == null ? void 0 : d[1]), a = (u = e.match(/原因[::]\s*(.+)$/)) == null ? void 0 : u[1], c = {};
16
+ return t && (c.value = t), a && (c.reason = a), Object.keys(c).length ? c : void 0;
17
+ }, $ = (e, t) => (a, c, i) => {
18
+ var u;
19
+ const d = (u = e == null ? void 0 : e.translate) == null ? void 0 : u.call(e, a, c, i);
20
+ return d && d !== a ? d : O(a, c, t);
21
+ }, M = (e, t, a, c) => {
22
+ var l, p;
23
+ const d = `api.errMsg${String(e ?? "")}`, u = (l = a == null ? void 0 : a.translate) == null ? void 0 : l.call(a, d, void 0, F(t));
24
+ return u && u !== d ? u : typeof t == "string" && t || ((p = a == null ? void 0 : a.translate) == null ? void 0 : p.call(a, "api.systemException", "系统异常")) || O("api.systemException", "系统异常", c);
25
+ }, V = (e, t, a = "/admin-api") => typeof e == "function" ? e(t) : e ?? `${a}/system/auth/refresh-token?refreshToken=${t ?? ""}`, W = (e) => typeof e == "function" ? e() : e ?? "/login", D = (e, t = U) => t.some((a) => String(a) === String(e)), Y = (e, t = "Bearer") => typeof t == "function" ? t(e) : t ? `${t} ${e}` : e, _ = () => typeof window < "u" && typeof document < "u", K = "http-request-sdk:authorization-expired", G = (e = {}) => {
26
+ const t = $(e.locale, e.lang);
27
+ let a = !1, c = null;
28
+ const i = j.create({
29
+ baseURL: e.baseURL ?? "/admin-api",
30
+ timeout: e.timeout ?? 3e4,
31
+ validateStatus: (s) => s >= 200 && s < 300 || s === 400,
32
+ headers: {
33
+ "Content-Type": "application/json;charset=UTF-8"
34
+ },
35
+ ...e.axiosConfig
36
+ }), d = () => {
37
+ var s, r, n;
38
+ return ((s = e.getAccessToken) == null ? void 0 : s.call(e)) ?? ((n = (r = e.token) == null ? void 0 : r.getAccessToken) == null ? void 0 : n.call(r));
39
+ }, u = () => {
40
+ var s, r, n;
41
+ return ((s = e.getLocale) == null ? void 0 : s.call(e)) ?? ((n = (r = e.locale) == null ? void 0 : r.getLocale) == null ? void 0 : n.call(r)) ?? e.lang;
42
+ }, l = (s) => {
43
+ var r;
44
+ (r = e.onBusinessError) == null || r.call(e, s);
45
+ }, p = (s) => {
46
+ var r;
47
+ (r = e.onHttpError) == null || r.call(e, s);
48
+ }, E = (s) => {
49
+ var r, n;
50
+ (n = (r = e.ui) == null ? void 0 : r.error) == null || n.call(r, s);
51
+ }, R = (s) => {
52
+ var r, n;
53
+ (n = (r = e.ui) == null ? void 0 : r.warning) == null || n.call(r, s);
54
+ }, h = (s, r) => {
55
+ console.info("[http-request-sdk][permission-expired]", s, r ?? {});
56
+ }, T = () => t("api.accountExpired", "您的账号已失效,请重新登录"), S = async (s) => {
57
+ var m, f;
58
+ const r = {
59
+ ...s,
60
+ message: T()
61
+ };
62
+ if (h("triggerTokenExpired:start", {
63
+ code: r.code,
64
+ message: r.message,
65
+ hasShowPermissionExpired: !!((m = e.ui) != null && m.showPermissionExpired),
66
+ modalVisible: a
67
+ }), a) {
68
+ h("triggerTokenExpired:skip-visible", {
69
+ code: r.code
70
+ });
71
+ return;
72
+ }
73
+ const n = () => {
74
+ a = !1, h("modal:visible-reset", {
75
+ code: r.code
76
+ });
77
+ }, g = async () => {
78
+ var k, w, o, y;
79
+ h("modal:onOk:start", {
80
+ code: r.code,
81
+ hasOnTokenExpired: !!e.onTokenExpired
82
+ });
83
+ try {
84
+ e.onTokenExpired ? await e.onTokenExpired(r) : (await ((w = (k = e.token) == null ? void 0 : k.logout) == null ? void 0 : w.call(k)), (y = (o = e.token) == null ? void 0 : o.clearToken) == null || y.call(o), _() && (window.location.href = W(e.loginUrl))), n(), h("modal:onOk:success", {
85
+ code: r.code
86
+ });
87
+ } catch (N) {
88
+ h("modal:onOk:error", {
89
+ code: r.code,
90
+ error: N
91
+ }), n();
92
+ }
93
+ };
94
+ if (a = !0, h("modal:visible-set", {
95
+ code: r.code
96
+ }), (f = e.ui) != null && f.showPermissionExpired) {
97
+ h("modal:showPermissionExpired:call", {
98
+ code: r.code
99
+ }), e.ui.showPermissionExpired({
100
+ title: t("api.permissionExpiredTitle", "权限失效提醒"),
101
+ content: r.message,
102
+ okText: t("api.permissionExpiredOkText", "我知道了"),
103
+ onOk: g,
104
+ onCancel: n
105
+ });
106
+ return;
107
+ }
108
+ if (_()) {
109
+ h("modal:adapter-missing:native-alert", {
110
+ code: r.code
111
+ }), window.alert(
112
+ `${t("api.permissionExpiredTitle", "权限失效提醒")}
113
+
114
+ ${r.message}`
115
+ ), await g();
116
+ return;
117
+ }
118
+ h("modal:adapter-missing:run-onOk-without-browser", {
119
+ code: r.code
120
+ }), await g();
121
+ }, b = (s) => {
122
+ var r, n, g, m, f;
123
+ if (s)
124
+ return s.accessToken && ((n = (r = e.token) == null ? void 0 : r.setToken) == null || n.call(r, s.accessToken)), s.refreshToken && ((m = (g = e.token) == null ? void 0 : g.setRefreshToken) == null || m.call(g, s.refreshToken)), (f = e.onRefreshTokenSuccess) == null || f.call(e, s), s.loginInfo;
125
+ }, x = async () => {
126
+ var g, m, f, k, w, o;
127
+ if (e.refreshAccessToken) {
128
+ const y = await e.refreshAccessToken({
129
+ refreshToken: (m = (g = e.token) == null ? void 0 : g.getRefreshToken) == null ? void 0 : m.call(g),
130
+ service: i
131
+ });
132
+ return b(y);
133
+ }
134
+ const s = (k = (f = e.token) == null ? void 0 : f.getRefreshToken) == null ? void 0 : k.call(f), r = await j.post(
135
+ V(
136
+ e.refreshTokenUrl,
137
+ s,
138
+ e.baseURL ?? "/admin-api"
139
+ )
140
+ ), n = ((o = (w = e.token) == null ? void 0 : w.normalizeRefreshResponse) == null ? void 0 : o.call(w, r)) ?? J(r);
141
+ if (n.code === 401 || n.code === 400)
142
+ throw new Error(T());
143
+ return b(n);
144
+ }, q = () => (c || (c = x().finally(() => {
145
+ c = null;
146
+ })), c);
147
+ i.interceptors.request.use(
148
+ (s) => {
149
+ const r = d(), n = u();
150
+ return r && B(
151
+ s,
152
+ e.authHeaderName ?? "Authorization",
153
+ Y(r, e.authScheme)
154
+ ), n && B(s, e.localeHeaderName ?? "Accept-Language", n), s;
155
+ },
156
+ (s) => {
157
+ var r;
158
+ return (r = e.onRequestError) == null || r.call(e, s), Promise.reject(s);
159
+ }
160
+ );
161
+ const A = (async (s) => {
162
+ var w;
163
+ if (s.config.responseType === "blob")
164
+ return X(s, e, t);
165
+ if (s.status !== 200 && s.status !== 400) {
166
+ const o = t("api.networkExceptionMsg", "网络连接异常");
167
+ return E(o), p({ message: o, response: s }), Promise.reject(new Error(((w = s.data) == null ? void 0 : w.message) || "Error"));
168
+ }
169
+ const { code: r, msg: n, message: g, data: m } = s.data, k = n || g || t("api.systemException", "系统异常");
170
+ if (Number(r) === 400) {
171
+ const o = T();
172
+ return h("response:code-400:show-modal", {
173
+ httpStatus: s.status,
174
+ code: r,
175
+ message: o,
176
+ url: s.config.url
177
+ }), await S({ code: r, message: o, response: s }), l({ code: r, message: o, response: s }), Promise.reject(new Error(o));
178
+ }
179
+ if (re(s, e)) {
180
+ h("response:should-refresh-token", {
181
+ httpStatus: s.status,
182
+ code: r,
183
+ message: k,
184
+ url: s.config.url
185
+ });
186
+ const o = s.config;
187
+ if (o._retry) {
188
+ const y = T();
189
+ return h("response:retry-already-used", {
190
+ code: r,
191
+ url: s.config.url
192
+ }), await S({ code: r, message: y, response: s }), Promise.reject(new Error(y));
193
+ }
194
+ o._retry = !0;
195
+ try {
196
+ return h("refresh-token:start", {
197
+ code: r,
198
+ url: s.config.url
199
+ }), await q(), h("refresh-token:success:retry-request", {
200
+ code: r,
201
+ url: s.config.url
202
+ }), i.request(o);
203
+ } catch (y) {
204
+ const N = T();
205
+ return h("refresh-token:error:trigger-modal", {
206
+ code: r,
207
+ url: s.config.url,
208
+ error: y
209
+ }), await S({
210
+ code: r,
211
+ message: N,
212
+ response: s,
213
+ error: y
214
+ }), Promise.reject(new Error(N));
215
+ }
216
+ }
217
+ if (Number(r) === 403) {
218
+ const o = t("api.noPermissionOperation", "暂无操作权限");
219
+ return R(o), l({ code: r, message: o, response: s }), Promise.reject(new Error(o));
220
+ }
221
+ if (Number(r) === 510) {
222
+ const o = {
223
+ machineCode: L(m, "machineCode"),
224
+ expireTime: L(m, "expireTime"),
225
+ rawData: m
226
+ };
227
+ Q(o, s, e);
228
+ return;
229
+ }
230
+ if (Number(r) === 1002031003)
231
+ return l({ code: r, message: k, response: s }), Promise.reject(new Error(k));
232
+ if (!D(r, e.successCodes)) {
233
+ const o = M(
234
+ r,
235
+ k,
236
+ e.locale,
237
+ e.lang
238
+ );
239
+ return E(o), l({ code: r, message: o, response: s }), Promise.reject(new Error(o));
240
+ }
241
+ return e.transformResponse ? e.transformResponse(s.data) : e.unwrapData ? s.data.data : s.data;
242
+ });
243
+ return i.interceptors.response.use(A, (s) => {
244
+ var n, g;
245
+ const { response: r } = s;
246
+ if (r && ((n = r.config) == null ? void 0 : n.responseType) === "blob" && typeof Blob < "u" && r.data instanceof Blob)
247
+ r.data.text().then((m) => {
248
+ try {
249
+ const f = JSON.parse(m), k = M(
250
+ f.code,
251
+ f.msg || f.message,
252
+ e.locale,
253
+ e.lang
254
+ );
255
+ Number(f.code) === 403 ? R(t("api.noPermissionOperation", "暂无操作权限")) : E(k || t("api.exportFailed", "导出失败")), p({
256
+ code: f.code,
257
+ message: k || t("api.exportFailed", "导出失败"),
258
+ response: r,
259
+ error: s
260
+ });
261
+ } catch {
262
+ const f = t("api.exportFailed", "导出失败");
263
+ E(f), p({ message: f, response: r, error: s });
264
+ }
265
+ });
266
+ else if ((r == null ? void 0 : r.status) === 403) {
267
+ const m = t("api.noPermissionOperation", "暂无操作权限");
268
+ R(m), p({ code: 403, message: m, response: r, error: s });
269
+ } else if ((r == null ? void 0 : r.status) !== 404) {
270
+ const m = t("api.networkExceptionMsg", "网络连接异常");
271
+ E(m), p({ code: r == null ? void 0 : r.status, message: m, response: r, error: s });
272
+ }
273
+ return (g = e.onResponseError) == null || g.call(e, s), Promise.reject(s);
274
+ }), {
275
+ service: i,
276
+ refreshToken: x,
277
+ request: {
278
+ request: (s) => i.request(s),
279
+ get: (s, r = {}) => typeof s == "string" ? i.get(
280
+ s,
281
+ C(r)
282
+ ) : i.request({
283
+ ...s,
284
+ method: "get"
285
+ }),
286
+ post: (s, r, n = {}) => typeof s == "string" ? i.post(s, r, n) : i.request(
287
+ v(s, "post", r, n)
288
+ ),
289
+ put: (s, r, n = {}) => typeof s == "string" ? i.put(s, r, n) : i.request(
290
+ v(s, "put", r, n)
291
+ ),
292
+ patch: (s, r, n = {}) => typeof s == "string" ? i.patch(s, r, n) : i.request(
293
+ v(s, "patch", r, n)
294
+ ),
295
+ delete: (s, r = {}) => typeof s == "string" ? i.delete(
296
+ s,
297
+ C(r)
298
+ ) : i.request({
299
+ ...s,
300
+ method: "delete"
301
+ })
302
+ }
303
+ };
304
+ }, J = (e) => {
305
+ const t = e.data.data, a = e.data;
306
+ return {
307
+ code: e.data.code,
308
+ accessToken: (t == null ? void 0 : t.accessToken) ?? a.accessToken,
309
+ refreshToken: (t == null ? void 0 : t.refreshToken) ?? a.refreshToken,
310
+ loginInfo: t
311
+ };
312
+ }, X = async (e, t, a) => {
313
+ var d, u, l, p, E, R, h, T, S, b;
314
+ const c = ((d = e.headers) == null ? void 0 : d["content-type"]) || "";
315
+ if (!String(c).includes("application/json"))
316
+ return e.data;
317
+ const i = await e.data.text();
318
+ try {
319
+ const x = JSON.parse(i);
320
+ if (Number(x.code) === 403) {
321
+ const A = a("api.noPermissionOperation", "暂无操作权限");
322
+ return (l = (u = t.ui) == null ? void 0 : u.warning) == null || l.call(u, A), (p = t.onBusinessError) == null || p.call(t, { code: x.code, message: A, response: e }), Promise.reject(new Error(A));
323
+ }
324
+ if (D(x.code, t.successCodes)) return e.data;
325
+ const q = M(
326
+ x.code,
327
+ x.msg || x.message,
328
+ t.locale,
329
+ t.lang
330
+ );
331
+ return (R = (E = t.ui) == null ? void 0 : E.error) == null || R.call(E, q), (h = t.onBusinessError) == null || h.call(t, { code: x.code, message: q, response: e }), Promise.reject(new Error(q));
332
+ } catch {
333
+ const x = a("api.exportFailed", "导出失败");
334
+ return (S = (T = t.ui) == null ? void 0 : T.error) == null || S.call(T, x), (b = t.onHttpError) == null || b.call(t, { message: x, response: e }), Promise.reject(new Error(x));
335
+ }
336
+ }, Q = (e, t, a) => {
337
+ var c, i, d, u, l;
338
+ if ((c = a.onAuthorizationExpired) == null || c.call(a, { payload: e, response: t }), Z(a)) {
339
+ ee(e, a);
340
+ return;
341
+ }
342
+ e.expireTime ? (d = (i = a.authorization) == null ? void 0 : i.openExpired) == null || d.call(i, e) : (l = (u = a.authorization) == null ? void 0 : u.open) == null || l.call(u, e);
343
+ }, Z = (e) => {
344
+ var a;
345
+ if ((a = e.authorization) != null && a.isInMicroApp)
346
+ return e.authorization.isInMicroApp();
347
+ if (!_()) return !1;
348
+ const t = window;
349
+ return !!(t.__MICRO_APP_ENVIRONMENT__ || t.__MICRO_APP_BASE_APPLICATION__);
350
+ }, ee = (e, t) => {
351
+ var i, d, u, l;
352
+ if ((i = t.authorization) != null && i.dispatchMicroAppEvent) {
353
+ t.authorization.dispatchMicroAppEvent(e);
354
+ return;
355
+ }
356
+ if (!_()) return;
357
+ const a = {
358
+ type: "authorization_expired",
359
+ machineCode: e.machineCode,
360
+ expireTime: e.expireTime
361
+ }, c = (d = t.authorization) == null ? void 0 : d.eventCenterName;
362
+ if (c) {
363
+ const E = window[c];
364
+ if (typeof (E == null ? void 0 : E.dispatch) == "function") {
365
+ E.dispatch({
366
+ myname: ((u = t.authorization) == null ? void 0 : u.microAppName) ?? c,
367
+ data: a
368
+ });
369
+ return;
370
+ }
371
+ }
372
+ window.dispatchEvent(
373
+ new CustomEvent(((l = t.authorization) == null ? void 0 : l.eventName) ?? K, {
374
+ detail: a
375
+ })
376
+ );
377
+ }, L = (e, t) => {
378
+ if (!e || typeof e != "object") return;
379
+ const a = e;
380
+ return typeof a[t] == "string" ? a[t] : void 0;
381
+ }, B = (e, t, a) => {
382
+ const c = e.headers;
383
+ if (c && typeof c.set == "function") {
384
+ c.set(t, a);
385
+ return;
386
+ }
387
+ e.headers[t] = a;
388
+ }, re = (e, t) => {
389
+ var a;
390
+ return t.shouldRefreshToken ? t.shouldRefreshToken(e) : Number((a = e.data) == null ? void 0 : a.code) === 401;
391
+ }, v = (e, t, a, c = {}) => ({
392
+ ...c,
393
+ ...e,
394
+ method: t,
395
+ data: e.data ?? a ?? c.data
396
+ }), C = (e) => e ? se(e) ? e : {
397
+ params: e
398
+ } : {}, te = /* @__PURE__ */ new Set([
399
+ "adapter",
400
+ "auth",
401
+ "baseURL",
402
+ "cancelToken",
403
+ "data",
404
+ "decompress",
405
+ "headers",
406
+ "httpAgent",
407
+ "httpsAgent",
408
+ "maxBodyLength",
409
+ "maxContentLength",
410
+ "method",
411
+ "onDownloadProgress",
412
+ "onUploadProgress",
413
+ "params",
414
+ "paramsSerializer",
415
+ "proxy",
416
+ "responseEncoding",
417
+ "responseType",
418
+ "signal",
419
+ "socketPath",
420
+ "timeout",
421
+ "timeoutErrorMessage",
422
+ "transformRequest",
423
+ "transformResponse",
424
+ "transitional",
425
+ "url",
426
+ "validateStatus",
427
+ "withCredentials",
428
+ "xsrfCookieName",
429
+ "xsrfHeaderName"
430
+ ]), se = (e) => !e || typeof e != "object" || typeof URLSearchParams < "u" && e instanceof URLSearchParams ? !1 : Object.keys(e).some((t) => te.has(t));
431
+ let z = null;
432
+ const ne = (e) => {
433
+ const t = G(e);
434
+ return z = t, t;
435
+ }, ie = (e) => (z = e, e), P = () => {
436
+ if (!z)
437
+ throw new Error(
438
+ "Request SDK is not initialized. Call setupRequestSdk(...) or install the Vue plugin first."
439
+ );
440
+ return z;
441
+ }, ce = {
442
+ request: (e) => P().request.request(e),
443
+ get: (e, t) => P().request.get(
444
+ e,
445
+ t
446
+ ),
447
+ post: (e, t, a) => P().request.post(e, t, a),
448
+ put: (e, t, a) => P().request.put(e, t, a),
449
+ patch: (e, t, a) => P().request.patch(e, t, a),
450
+ delete: (e, t) => P().request.delete(
451
+ e,
452
+ t
453
+ )
454
+ }, oe = new Proxy(
455
+ {},
456
+ {
457
+ get(e, t) {
458
+ return Reflect.get(P().service, t);
459
+ }
460
+ }
461
+ );
462
+ export {
463
+ K as A,
464
+ P as a,
465
+ Y as b,
466
+ G as c,
467
+ ne as d,
468
+ F as e,
469
+ M as g,
470
+ oe as h,
471
+ D as i,
472
+ ce as r,
473
+ ie as s
474
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";const D=require("axios"),F=[0,200],$={"api.accountExpired":"Your account has expired. Please log in again.","api.permissionExpiredTitle":"Permission expired","api.permissionExpiredContent":"Your account has expired. Please log in again.","api.permissionExpiredOkText":"OK","api.networkExceptionMsg":"Network connection error","api.systemException":"System error","api.noPermissionOperation":"No permission to perform this operation","api.exportFailed":"Export failed","api.tokenExpired":"Your account has expired. Please log in again."},C=(e,t,a)=>W(a)?$[e]??t??e:t??e,W=e=>typeof e=="string"&&e.toLowerCase().startsWith("en"),I=e=>{var i,d,u;if(typeof e!="string")return;const t=((i=e.match(/【([^】]+)】/))==null?void 0:i[1])||((d=e.match(/\(([^)]+)\)/))==null?void 0:d[1]),a=(u=e.match(/原因[::]\s*(.+)$/))==null?void 0:u[1],c={};return t&&(c.value=t),a&&(c.reason=a),Object.keys(c).length?c:void 0},Y=(e,t)=>(a,c,i)=>{var u;const d=(u=e==null?void 0:e.translate)==null?void 0:u.call(e,a,c,i);return d&&d!==a?d:C(a,c,t)},_=(e,t,a,c)=>{var l,T;const d=`api.errMsg${String(e??"")}`,u=(l=a==null?void 0:a.translate)==null?void 0:l.call(a,d,void 0,I(t));return u&&u!==d?u:typeof t=="string"&&t||((T=a==null?void 0:a.translate)==null?void 0:T.call(a,"api.systemException","系统异常"))||C("api.systemException","系统异常",c)},K=(e,t,a="/admin-api")=>typeof e=="function"?e(t):e??`${a}/system/auth/refresh-token?refreshToken=${t??""}`,X=e=>typeof e=="function"?e():e??"/login",j=(e,t=F)=>t.some(a=>String(a)===String(e)),U=(e,t="Bearer")=>typeof t=="function"?t(e):t?`${t} ${e}`:e,z=()=>typeof window<"u"&&typeof document<"u",H="http-request-sdk:authorization-expired",V=(e={})=>{const t=Y(e.locale,e.lang);let a=!1,c=null;const i=D.create({baseURL:e.baseURL??"/admin-api",timeout:e.timeout??3e4,validateStatus:s=>s>=200&&s<300||s===400,headers:{"Content-Type":"application/json;charset=UTF-8"},...e.axiosConfig}),d=()=>{var s,r,n;return((s=e.getAccessToken)==null?void 0:s.call(e))??((n=(r=e.token)==null?void 0:r.getAccessToken)==null?void 0:n.call(r))},u=()=>{var s,r,n;return((s=e.getLocale)==null?void 0:s.call(e))??((n=(r=e.locale)==null?void 0:r.getLocale)==null?void 0:n.call(r))??e.lang},l=s=>{var r;(r=e.onBusinessError)==null||r.call(e,s)},T=s=>{var r;(r=e.onHttpError)==null||r.call(e,s)},E=s=>{var r,n;(n=(r=e.ui)==null?void 0:r.error)==null||n.call(r,s)},S=s=>{var r,n;(n=(r=e.ui)==null?void 0:r.warning)==null||n.call(r,s)},h=(s,r)=>{console.info("[http-request-sdk][permission-expired]",s,r??{})},p=()=>t("api.accountExpired","您的账号已失效,请重新登录"),P=async s=>{var m,f;const r={...s,message:p()};if(h("triggerTokenExpired:start",{code:r.code,message:r.message,hasShowPermissionExpired:!!((m=e.ui)!=null&&m.showPermissionExpired),modalVisible:a}),a){h("triggerTokenExpired:skip-visible",{code:r.code});return}const n=()=>{a=!1,h("modal:visible-reset",{code:r.code})},g=async()=>{var k,w,o,y;h("modal:onOk:start",{code:r.code,hasOnTokenExpired:!!e.onTokenExpired});try{e.onTokenExpired?await e.onTokenExpired(r):(await((w=(k=e.token)==null?void 0:k.logout)==null?void 0:w.call(k)),(y=(o=e.token)==null?void 0:o.clearToken)==null||y.call(o),z()&&(window.location.href=X(e.loginUrl))),n(),h("modal:onOk:success",{code:r.code})}catch(N){h("modal:onOk:error",{code:r.code,error:N}),n()}};if(a=!0,h("modal:visible-set",{code:r.code}),(f=e.ui)!=null&&f.showPermissionExpired){h("modal:showPermissionExpired:call",{code:r.code}),e.ui.showPermissionExpired({title:t("api.permissionExpiredTitle","权限失效提醒"),content:r.message,okText:t("api.permissionExpiredOkText","我知道了"),onOk:g,onCancel:n});return}if(z()){h("modal:adapter-missing:native-alert",{code:r.code}),window.alert(`${t("api.permissionExpiredTitle","权限失效提醒")}
2
+
3
+ ${r.message}`),await g();return}h("modal:adapter-missing:run-onOk-without-browser",{code:r.code}),await g()},q=s=>{var r,n,g,m,f;if(s)return s.accessToken&&((n=(r=e.token)==null?void 0:r.setToken)==null||n.call(r,s.accessToken)),s.refreshToken&&((m=(g=e.token)==null?void 0:g.setRefreshToken)==null||m.call(g,s.refreshToken)),(f=e.onRefreshTokenSuccess)==null||f.call(e,s),s.loginInfo},x=async()=>{var g,m,f,k,w,o;if(e.refreshAccessToken){const y=await e.refreshAccessToken({refreshToken:(m=(g=e.token)==null?void 0:g.getRefreshToken)==null?void 0:m.call(g),service:i});return q(y)}const s=(k=(f=e.token)==null?void 0:f.getRefreshToken)==null?void 0:k.call(f),r=await D.post(K(e.refreshTokenUrl,s,e.baseURL??"/admin-api")),n=((o=(w=e.token)==null?void 0:w.normalizeRefreshResponse)==null?void 0:o.call(w,r))??G(r);if(n.code===401||n.code===400)throw new Error(p());return q(n)},A=()=>(c||(c=x().finally(()=>{c=null})),c);i.interceptors.request.use(s=>{const r=d(),n=u();return r&&O(s,e.authHeaderName??"Authorization",U(r,e.authScheme)),n&&O(s,e.localeHeaderName??"Accept-Language",n),s},s=>{var r;return(r=e.onRequestError)==null||r.call(e,s),Promise.reject(s)});const b=(async s=>{var w;if(s.config.responseType==="blob")return J(s,e,t);if(s.status!==200&&s.status!==400){const o=t("api.networkExceptionMsg","网络连接异常");return E(o),T({message:o,response:s}),Promise.reject(new Error(((w=s.data)==null?void 0:w.message)||"Error"))}const{code:r,msg:n,message:g,data:m}=s.data,k=n||g||t("api.systemException","系统异常");if(Number(r)===400){const o=p();return h("response:code-400:show-modal",{httpStatus:s.status,code:r,message:o,url:s.config.url}),await P({code:r,message:o,response:s}),l({code:r,message:o,response:s}),Promise.reject(new Error(o))}if(re(s,e)){h("response:should-refresh-token",{httpStatus:s.status,code:r,message:k,url:s.config.url});const o=s.config;if(o._retry){const y=p();return h("response:retry-already-used",{code:r,url:s.config.url}),await P({code:r,message:y,response:s}),Promise.reject(new Error(y))}o._retry=!0;try{return h("refresh-token:start",{code:r,url:s.config.url}),await A(),h("refresh-token:success:retry-request",{code:r,url:s.config.url}),i.request(o)}catch(y){const N=p();return h("refresh-token:error:trigger-modal",{code:r,url:s.config.url,error:y}),await P({code:r,message:N,response:s,error:y}),Promise.reject(new Error(N))}}if(Number(r)===403){const o=t("api.noPermissionOperation","暂无操作权限");return S(o),l({code:r,message:o,response:s}),Promise.reject(new Error(o))}if(Number(r)===510){const o={machineCode:L(m,"machineCode"),expireTime:L(m,"expireTime"),rawData:m};Z(o,s,e);return}if(Number(r)===1002031003)return l({code:r,message:k,response:s}),Promise.reject(new Error(k));if(!j(r,e.successCodes)){const o=_(r,k,e.locale,e.lang);return E(o),l({code:r,message:o,response:s}),Promise.reject(new Error(o))}return e.transformResponse?e.transformResponse(s.data):e.unwrapData?s.data.data:s.data});return i.interceptors.response.use(b,s=>{var n,g;const{response:r}=s;if(r&&((n=r.config)==null?void 0:n.responseType)==="blob"&&typeof Blob<"u"&&r.data instanceof Blob)r.data.text().then(m=>{try{const f=JSON.parse(m),k=_(f.code,f.msg||f.message,e.locale,e.lang);Number(f.code)===403?S(t("api.noPermissionOperation","暂无操作权限")):E(k||t("api.exportFailed","导出失败")),T({code:f.code,message:k||t("api.exportFailed","导出失败"),response:r,error:s})}catch{const f=t("api.exportFailed","导出失败");E(f),T({message:f,response:r,error:s})}});else if((r==null?void 0:r.status)===403){const m=t("api.noPermissionOperation","暂无操作权限");S(m),T({code:403,message:m,response:r,error:s})}else if((r==null?void 0:r.status)!==404){const m=t("api.networkExceptionMsg","网络连接异常");E(m),T({code:r==null?void 0:r.status,message:m,response:r,error:s})}return(g=e.onResponseError)==null||g.call(e,s),Promise.reject(s)}),{service:i,refreshToken:x,request:{request:s=>i.request(s),get:(s,r={})=>typeof s=="string"?i.get(s,B(r)):i.request({...s,method:"get"}),post:(s,r,n={})=>typeof s=="string"?i.post(s,r,n):i.request(M(s,"post",r,n)),put:(s,r,n={})=>typeof s=="string"?i.put(s,r,n):i.request(M(s,"put",r,n)),patch:(s,r,n={})=>typeof s=="string"?i.patch(s,r,n):i.request(M(s,"patch",r,n)),delete:(s,r={})=>typeof s=="string"?i.delete(s,B(r)):i.request({...s,method:"delete"})}}},G=e=>{const t=e.data.data,a=e.data;return{code:e.data.code,accessToken:(t==null?void 0:t.accessToken)??a.accessToken,refreshToken:(t==null?void 0:t.refreshToken)??a.refreshToken,loginInfo:t}},J=async(e,t,a)=>{var d,u,l,T,E,S,h,p,P,q;const c=((d=e.headers)==null?void 0:d["content-type"])||"";if(!String(c).includes("application/json"))return e.data;const i=await e.data.text();try{const x=JSON.parse(i);if(Number(x.code)===403){const b=a("api.noPermissionOperation","暂无操作权限");return(l=(u=t.ui)==null?void 0:u.warning)==null||l.call(u,b),(T=t.onBusinessError)==null||T.call(t,{code:x.code,message:b,response:e}),Promise.reject(new Error(b))}if(j(x.code,t.successCodes))return e.data;const A=_(x.code,x.msg||x.message,t.locale,t.lang);return(S=(E=t.ui)==null?void 0:E.error)==null||S.call(E,A),(h=t.onBusinessError)==null||h.call(t,{code:x.code,message:A,response:e}),Promise.reject(new Error(A))}catch{const x=a("api.exportFailed","导出失败");return(P=(p=t.ui)==null?void 0:p.error)==null||P.call(p,x),(q=t.onHttpError)==null||q.call(t,{message:x,response:e}),Promise.reject(new Error(x))}},Z=(e,t,a)=>{var c,i,d,u,l;if((c=a.onAuthorizationExpired)==null||c.call(a,{payload:e,response:t}),Q(a)){ee(e,a);return}e.expireTime?(d=(i=a.authorization)==null?void 0:i.openExpired)==null||d.call(i,e):(l=(u=a.authorization)==null?void 0:u.open)==null||l.call(u,e)},Q=e=>{var a;if((a=e.authorization)!=null&&a.isInMicroApp)return e.authorization.isInMicroApp();if(!z())return!1;const t=window;return!!(t.__MICRO_APP_ENVIRONMENT__||t.__MICRO_APP_BASE_APPLICATION__)},ee=(e,t)=>{var i,d,u,l;if((i=t.authorization)!=null&&i.dispatchMicroAppEvent){t.authorization.dispatchMicroAppEvent(e);return}if(!z())return;const a={type:"authorization_expired",machineCode:e.machineCode,expireTime:e.expireTime},c=(d=t.authorization)==null?void 0:d.eventCenterName;if(c){const E=window[c];if(typeof(E==null?void 0:E.dispatch)=="function"){E.dispatch({myname:((u=t.authorization)==null?void 0:u.microAppName)??c,data:a});return}}window.dispatchEvent(new CustomEvent(((l=t.authorization)==null?void 0:l.eventName)??H,{detail:a}))},L=(e,t)=>{if(!e||typeof e!="object")return;const a=e;return typeof a[t]=="string"?a[t]:void 0},O=(e,t,a)=>{const c=e.headers;if(c&&typeof c.set=="function"){c.set(t,a);return}e.headers[t]=a},re=(e,t)=>{var a;return t.shouldRefreshToken?t.shouldRefreshToken(e):Number((a=e.data)==null?void 0:a.code)===401},M=(e,t,a,c={})=>({...c,...e,method:t,data:e.data??a??c.data}),B=e=>e?se(e)?e:{params:e}:{},te=new Set(["adapter","auth","baseURL","cancelToken","data","decompress","headers","httpAgent","httpsAgent","maxBodyLength","maxContentLength","method","onDownloadProgress","onUploadProgress","params","paramsSerializer","proxy","responseEncoding","responseType","signal","socketPath","timeout","timeoutErrorMessage","transformRequest","transformResponse","transitional","url","validateStatus","withCredentials","xsrfCookieName","xsrfHeaderName"]),se=e=>!e||typeof e!="object"||typeof URLSearchParams<"u"&&e instanceof URLSearchParams?!1:Object.keys(e).some(t=>te.has(t));let v=null;const ae=e=>{const t=V(e);return v=t,t},ne=e=>(v=e,e),R=()=>{if(!v)throw new Error("Request SDK is not initialized. Call setupRequestSdk(...) or install the Vue plugin first.");return v},ie={request:e=>R().request.request(e),get:(e,t)=>R().request.get(e,t),post:(e,t,a)=>R().request.post(e,t,a),put:(e,t,a)=>R().request.put(e,t,a),patch:(e,t,a)=>R().request.patch(e,t,a),delete:(e,t)=>R().request.delete(e,t)},ce=new Proxy({},{get(e,t){return Reflect.get(R().service,t)}});exports.AUTHORIZATION_EXPIRED_EVENT=H;exports.buildAuthHeaderValue=U;exports.createRequestSdk=V;exports.extractI18nParams=I;exports.getBizErrorMsg=_;exports.getDefaultRequestSdk=R;exports.http=ce;exports.isSuccessCode=j;exports.request=ie;exports.setDefaultRequestSdk=ne;exports.setupRequestSdk=ae;
@@ -1 +1 @@
1
- {"version":3,"file":"default-sdk.d.ts","sourceRoot":"","sources":["../src/default-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,cAAc,EACd,UAAU,EACV,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,eAAe,GAAI,SAAS,GAAG,OAAO,EACjD,SAAS,iBAAiB,CAAC,SAAS,CAAC,eAKtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,UAAU,eAGnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,kBAOhC,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,cA0BrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAOZ,UAAU,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"default-sdk.d.ts","sourceRoot":"","sources":["../src/default-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,cAAc,EACd,UAAU,EACV,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,eAAe,GAAI,SAAS,GAAG,OAAO,EACjD,SAAS,iBAAiB,CAAC,SAAS,CAAC,eAKtC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,KAAK,UAAU,eAGnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,kBAOhC,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,cAkCrB,CAAC;AAEF,eAAO,MAAM,IAAI,EAOZ,UAAU,CAAC,SAAS,CAAC,CAAC"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./default-sdk-CVE4xLv-.cjs"),t=require("./adapters/storage-token.cjs");exports.AUTHORIZATION_EXPIRED_EVENT=e.AUTHORIZATION_EXPIRED_EVENT;exports.buildAuthHeaderValue=e.buildAuthHeaderValue;exports.createRequestSdk=e.createRequestSdk;exports.extractI18nParams=e.extractI18nParams;exports.getBizErrorMsg=e.getBizErrorMsg;exports.getDefaultRequestSdk=e.getDefaultRequestSdk;exports.http=e.http;exports.isSuccessCode=e.isSuccessCode;exports.request=e.request;exports.setDefaultRequestSdk=e.setDefaultRequestSdk;exports.setupRequestSdk=e.setupRequestSdk;exports.createStorageTokenAdapter=t.createStorageTokenAdapter;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./default-sdk-DIaiH3-1.cjs"),t=require("./adapters/storage-token.cjs");exports.AUTHORIZATION_EXPIRED_EVENT=e.AUTHORIZATION_EXPIRED_EVENT;exports.buildAuthHeaderValue=e.buildAuthHeaderValue;exports.createRequestSdk=e.createRequestSdk;exports.extractI18nParams=e.extractI18nParams;exports.getBizErrorMsg=e.getBizErrorMsg;exports.getDefaultRequestSdk=e.getDefaultRequestSdk;exports.http=e.http;exports.isSuccessCode=e.isSuccessCode;exports.request=e.request;exports.setDefaultRequestSdk=e.setDefaultRequestSdk;exports.setupRequestSdk=e.setupRequestSdk;exports.createStorageTokenAdapter=t.createStorageTokenAdapter;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as a, b as t, c as r, e as u, g as d, a as o, h as c, i as R, r as S, s as g, d as k } from "./default-sdk-DTtBvsKI.js";
1
+ import { A as a, b as t, c as r, e as u, g as d, a as o, h as c, i as R, r as S, s as g, d as k } from "./default-sdk-Bg2PRToD.js";
2
2
  import { createStorageTokenAdapter as q } from "./adapters/storage-token.js";
3
3
  export {
4
4
  a as AUTHORIZATION_EXPIRED_EVENT,
package/dist/types.d.ts CHANGED
@@ -71,10 +71,12 @@ export interface AuthorizationAdapter {
71
71
  openExpired?: (payload: AuthorizationExpiredPayload) => void;
72
72
  open?: (payload: AuthorizationExpiredPayload) => void;
73
73
  }
74
+ export type RequestSdkLang = "zh-CN" | "en-US" | string;
74
75
  export interface RequestSdkOptions<LoginInfo = unknown> {
75
76
  axiosConfig?: AxiosRequestConfig;
76
77
  baseURL?: string;
77
78
  timeout?: number;
79
+ lang?: RequestSdkLang;
78
80
  authHeaderName?: string;
79
81
  authScheme?: string | ((accessToken: string) => string);
80
82
  localeHeaderName?: string;
@@ -102,17 +104,18 @@ export interface RequestSdkOptions<LoginInfo = unknown> {
102
104
  export interface RequestMethodConfig extends AxiosRequestConfig {
103
105
  url: string;
104
106
  }
107
+ export type RequestParams = Record<string, unknown> | URLSearchParams;
105
108
  export interface RequestMethods {
106
109
  request: <T = unknown>(config: AxiosRequestConfig) => Promise<T>;
107
110
  get: {
108
- <T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
111
+ <T = unknown>(url: string, paramsOrConfig?: RequestParams | AxiosRequestConfig): Promise<T>;
109
112
  <T = unknown>(config: RequestMethodConfig): Promise<T>;
110
113
  };
111
114
  post: <T = unknown>(urlOrConfig: string | RequestMethodConfig, data?: unknown, config?: AxiosRequestConfig) => Promise<T>;
112
115
  put: <T = unknown>(urlOrConfig: string | RequestMethodConfig, data?: unknown, config?: AxiosRequestConfig) => Promise<T>;
113
116
  patch: <T = unknown>(urlOrConfig: string | RequestMethodConfig, data?: unknown, config?: AxiosRequestConfig) => Promise<T>;
114
117
  delete: {
115
- <T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
118
+ <T = unknown>(url: string, paramsOrConfig?: RequestParams | AxiosRequestConfig): Promise<T>;
116
119
  <T = unknown>(config: RequestMethodConfig): Promise<T>;
117
120
  };
118
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import type { LocaleAdapter } from "./types";
1
+ import type { LocaleAdapter, RequestSdkLang } from "./types";
2
2
  export declare const DEFAULT_SUCCESS_CODES: Array<number | string>;
3
3
  export declare const extractI18nParams: (rawMsg?: unknown) => Record<string, string> | undefined;
4
- export declare const createTranslator: (locale?: LocaleAdapter) => (key: string, defaultMessage?: string, params?: Record<string, unknown>) => string;
5
- export declare const getBizErrorMsg: (code: unknown, rawMsg: unknown, locale?: LocaleAdapter) => string;
4
+ export declare const createTranslator: (locale?: LocaleAdapter, lang?: RequestSdkLang) => (key: string, defaultMessage?: string, params?: Record<string, unknown>) => string;
5
+ export declare const getBizErrorMsg: (code: unknown, rawMsg: unknown, locale?: LocaleAdapter, lang?: RequestSdkLang) => string;
6
6
  export declare const resolveUrl: (url: string | ((token?: string | null) => string) | undefined, token?: string | null, baseURL?: string) => string;
7
7
  export declare const resolveLoginUrl: (loginUrl?: string | (() => string)) => string;
8
8
  export declare const isSuccessCode: (code: unknown, successCodes?: Array<number | string>) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAY,CAAC;AAEtE,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,uCAYjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,SAAS,aAAa,MAEnD,KAAK,MAAM,EACX,iBAAiB,MAAM,EACvB,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAMnC,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,OAAO,EACb,QAAQ,OAAO,EACf,SAAS,aAAa,WAavB,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,SAAS,EAC7D,QAAQ,MAAM,GAAG,IAAI,EACrB,gBAAsB,WAIvB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WAGjE,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,OAAO,EACb,eAAc,KAAK,CAAC,MAAM,GAAG,MAAM,CAAyB,YAG7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,SAAQ,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAY,WAK9D,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7D,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAY,CAAC;AA2BtE,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,uCAYjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,aAAa,EACtB,OAAO,cAAc,MAGnB,KAAK,MAAM,EACX,iBAAiB,MAAM,EACvB,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAMnC,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,MAAM,OAAO,EACb,QAAQ,OAAO,EACf,SAAS,aAAa,EACtB,OAAO,cAAc,WAatB,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAC,GAAG,SAAS,EAC7D,QAAQ,MAAM,GAAG,IAAI,EACrB,gBAAsB,WAIvB,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WAGjE,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,MAAM,OAAO,EACb,eAAc,KAAK,CAAC,MAAM,GAAG,MAAM,CAAyB,YAG7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,EACb,SAAQ,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAY,WAK9D,CAAC;AAEF,eAAO,MAAM,SAAS,eAErB,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),s=require("../default-sdk-CVE4xLv-.cjs"),u=Symbol("requestSdk"),l=r=>{const e=s.createRequestSdk(r);return{sdk:e,install(t){s.setDefaultRequestSdk(e),t.provide(u,e),t.config.globalProperties.$request=e.request,t.config.globalProperties.$http=e.service}}},n=()=>o.inject(u,null)??s.getDefaultRequestSdk();exports.createRequestSdkPlugin=l;exports.requestSdkKey=u;exports.useRequestSdk=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("vue"),s=require("../default-sdk-DIaiH3-1.cjs"),u=Symbol("requestSdk"),l=r=>{const e=s.createRequestSdk(r);return{sdk:e,install(t){s.setDefaultRequestSdk(e),t.provide(u,e),t.config.globalProperties.$request=e.request,t.config.globalProperties.$http=e.service}}},n=()=>o.inject(u,null)??s.getDefaultRequestSdk();exports.createRequestSdkPlugin=l;exports.requestSdkKey=u;exports.useRequestSdk=n;
package/dist/vue/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { inject as o } from "vue";
2
- import { c as u, a as l, s as n } from "../default-sdk-DTtBvsKI.js";
2
+ import { c as u, a as l, s as n } from "../default-sdk-Bg2PRToD.js";
3
3
  const s = Symbol("requestSdk"), a = (r) => {
4
4
  const e = u(r);
5
5
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xingm/http-request-sdk",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Reusable axios request SDK for Vue 3 applications.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,3 +0,0 @@
1
- "use strict";const M=require("axios"),L=[0,200],I=e=>{var n,d,f;if(typeof e!="string")return;const t=((n=e.match(/【([^】]+)】/))==null?void 0:n[1])||((d=e.match(/\(([^)]+)\)/))==null?void 0:d[1]),a=(f=e.match(/原因[::]\s*(.+)$/))==null?void 0:f[1],u={};return t&&(u.value=t),a&&(u.reason=a),Object.keys(u).length?u:void 0},U=e=>(t,a,u)=>{var d;const n=(d=e==null?void 0:e.translate)==null?void 0:d.call(e,t,a,u);return n&&n!==t?n:a??t},A=(e,t,a)=>{var f,k;const n=`api.errMsg${String(e??"")}`,d=(f=a==null?void 0:a.translate)==null?void 0:f.call(a,n,void 0,I(t));return d&&d!==n?d:typeof t=="string"&&t||((k=a==null?void 0:a.translate)==null?void 0:k.call(a,"api.systemException","系统异常"))||"系统异常"},V=(e,t,a="/admin-api")=>typeof e=="function"?e(t):e??`${a}/system/auth/refresh-token?refreshToken=${t??""}`,$=e=>typeof e=="function"?e():e??"/login",_=(e,t=L)=>t.some(a=>String(a)===String(e)),O=(e,t="Bearer")=>typeof t=="function"?t(e):t?`${t} ${e}`:e,N=()=>typeof window<"u"&&typeof document<"u",C="http-request-sdk:authorization-expired",H=(e={})=>{const t=U(e.locale);let a=!1,u=null;const n=M.create({baseURL:e.baseURL??"/admin-api",timeout:e.timeout??3e4,validateStatus:r=>r>=200&&r<300||r===400,headers:{"Content-Type":"application/json;charset=UTF-8"},...e.axiosConfig}),d=()=>{var r,s,i;return((r=e.getAccessToken)==null?void 0:r.call(e))??((i=(s=e.token)==null?void 0:s.getAccessToken)==null?void 0:i.call(s))},f=()=>{var r,s,i;return((r=e.getLocale)==null?void 0:r.call(e))??((i=(s=e.locale)==null?void 0:s.getLocale)==null?void 0:i.call(s))},k=r=>{var s;(s=e.onBusinessError)==null||s.call(e,r)},x=r=>{var s;(s=e.onHttpError)==null||s.call(e,r)},E=r=>{var s,i;(i=(s=e.ui)==null?void 0:s.error)==null||i.call(s,r)},P=r=>{var s,i;(i=(s=e.ui)==null?void 0:s.warning)==null||i.call(s,r)},h=(r,s)=>{console.info("[http-request-sdk][permission-expired]",r,s??{})},y=async r=>{var g,m;if(h("triggerTokenExpired:start",{code:r.code,message:r.message,hasShowPermissionExpired:!!((g=e.ui)!=null&&g.showPermissionExpired),modalVisible:a}),a){h("triggerTokenExpired:skip-visible",{code:r.code});return}const s=()=>{a=!1,h("modal:visible-reset",{code:r.code})},i=async()=>{var o,T,w,c;h("modal:onOk:start",{code:r.code,hasOnTokenExpired:!!e.onTokenExpired});try{e.onTokenExpired?await e.onTokenExpired(r):(await((T=(o=e.token)==null?void 0:o.logout)==null?void 0:T.call(o)),(c=(w=e.token)==null?void 0:w.clearToken)==null||c.call(w),N()&&(window.location.href=$(e.loginUrl))),s(),h("modal:onOk:success",{code:r.code})}catch(R){h("modal:onOk:error",{code:r.code,error:R}),s()}};if(a=!0,h("modal:visible-set",{code:r.code}),(m=e.ui)!=null&&m.showPermissionExpired){h("modal:showPermissionExpired:call",{code:r.code}),e.ui.showPermissionExpired({title:t("api.permissionExpiredTitle","权限失效提醒"),content:r.message||t("api.permissionExpiredContent","您的账号已失效,请重新登录"),okText:t("api.permissionExpiredOkText","我知道了"),onOk:i,onCancel:s});return}if(N()){h("modal:adapter-missing:native-alert",{code:r.code}),window.alert(`${t("api.permissionExpiredTitle","权限失效提醒")}
2
-
3
- ${r.message||t("api.permissionExpiredContent","您的账号已失效,请重新登录")}`),await i();return}h("modal:adapter-missing:run-onOk-without-browser",{code:r.code}),await i()},S=r=>{var s,i,g,m,o;if(r)return r.accessToken&&((i=(s=e.token)==null?void 0:s.setToken)==null||i.call(s,r.accessToken)),r.refreshToken&&((m=(g=e.token)==null?void 0:g.setRefreshToken)==null||m.call(g,r.refreshToken)),(o=e.onRefreshTokenSuccess)==null||o.call(e,r),r.loginInfo},p=async()=>{var g,m,o,T,w,c;if(e.refreshAccessToken){const R=await e.refreshAccessToken({refreshToken:(m=(g=e.token)==null?void 0:g.getRefreshToken)==null?void 0:m.call(g),service:n});return S(R)}const r=(T=(o=e.token)==null?void 0:o.getRefreshToken)==null?void 0:T.call(o),s=await M.post(V(e.refreshTokenUrl,r,e.baseURL??"/admin-api")),i=((c=(w=e.token)==null?void 0:w.normalizeRefreshResponse)==null?void 0:c.call(w,s))??F(s);if(i.code===401||i.code===400)throw new Error(t("api.tokenExpired","Token已过期,请重新登录"));return S(i)},l=()=>(u||(u=p().finally(()=>{u=null})),u);n.interceptors.request.use(r=>{const s=d(),i=f();return s&&D(r,e.authHeaderName??"Authorization",O(s,e.authScheme)),i&&D(r,e.localeHeaderName??"Accept-Language",i),r},r=>{var s;return(s=e.onRequestError)==null||s.call(e,r),Promise.reject(r)});const b=(async r=>{var w;if(r.config.responseType==="blob")return W(r,e,t);if(console.log("!!!!!!!!!!!!!!",r),r.status!==200&&r.status!==400){const c=t("api.networkExceptionMsg","网络连接异常");return E(c),x({message:c,response:r}),Promise.reject(new Error(((w=r.data)==null?void 0:w.message)||"Error"))}const{code:s,msg:i,message:g,data:m}=r.data,o=i||g,T=o||t("api.systemException","系统异常");if(Number(s)===400){const c=o||t("api.tokenExpired","Token已过期,请重新登录");return h("response:code-400:show-modal",{httpStatus:r.status,code:s,message:c,url:r.config.url}),await y({code:s,message:c,response:r}),k({code:s,message:c,response:r}),Promise.reject(new Error(c))}if(K(r,e)){h("response:should-refresh-token",{httpStatus:r.status,code:s,message:T,url:r.config.url});const c=r.config;if(c._retry){const R=t("api.tokenExpired","Token已过期,请重新登录");return h("response:retry-already-used",{code:s,url:r.config.url}),await y({code:s,message:R,response:r}),Promise.reject(new Error(R))}c._retry=!0;try{return h("refresh-token:start",{code:s,url:r.config.url}),await l(),h("refresh-token:success:retry-request",{code:s,url:r.config.url}),n.request(c)}catch(R){const j=t("api.tokenExpired","Token已过期,请重新登录");return h("refresh-token:error:trigger-modal",{code:s,url:r.config.url,error:R}),await y({code:s,message:j,response:r,error:R}),Promise.reject(R instanceof Error?R:new Error(j))}}if(Number(s)===403){const c=t("api.noPermissionOperation","暂无操作权限");return P(c),k({code:s,message:c,response:r}),Promise.reject(new Error(c))}if(Number(s)===510){const c={machineCode:B(m,"machineCode"),expireTime:B(m,"expireTime"),rawData:m};J(c,r,e);return}if(Number(s)===1002031003)return k({code:s,message:T,response:r}),Promise.reject(new Error(T));if(!_(s,e.successCodes)){const c=A(s,T,e.locale);return E(c),k({code:s,message:c,response:r}),Promise.reject(new Error(c))}return e.transformResponse?e.transformResponse(r.data):e.unwrapData?r.data.data:r.data});return n.interceptors.response.use(b,r=>{var i,g;const{response:s}=r;if(s&&((i=s.config)==null?void 0:i.responseType)==="blob"&&typeof Blob<"u"&&s.data instanceof Blob)s.data.text().then(m=>{try{const o=JSON.parse(m),T=A(o.code,o.msg||o.message,e.locale);Number(o.code)===403?P(t("api.noPermissionOperation","暂无操作权限")):E(T||t("api.exportFailed","导出失败")),x({code:o.code,message:T||t("api.exportFailed","导出失败"),response:s,error:r})}catch{const o=t("api.exportFailed","导出失败");E(o),x({message:o,response:s,error:r})}});else if((s==null?void 0:s.status)===403){const m=t("api.noPermissionOperation","暂无操作权限");P(m),x({code:403,message:m,response:s,error:r})}else if((s==null?void 0:s.status)!==404){const m=t("api.networkExceptionMsg","网络连接异常");E(m),x({code:s==null?void 0:s.status,message:m,response:s,error:r})}return(g=e.onResponseError)==null||g.call(e,r),Promise.reject(r)}),{service:n,refreshToken:p,request:{request:r=>n.request(r),get:(r,s={})=>typeof r=="string"?n.get(r,s):n.request({...r,method:"get"}),post:(r,s,i={})=>typeof r=="string"?n.post(r,s,i):n.request(z(r,"post",s)),put:(r,s,i={})=>typeof r=="string"?n.put(r,s,i):n.request(z(r,"put",s)),patch:(r,s,i={})=>typeof r=="string"?n.patch(r,s,i):n.request(z(r,"patch",s)),delete:(r,s={})=>typeof r=="string"?n.delete(r,s):n.request({...r,method:"delete"})}}},F=e=>{const t=e.data.data,a=e.data;return{code:e.data.code,accessToken:(t==null?void 0:t.accessToken)??a.accessToken,refreshToken:(t==null?void 0:t.refreshToken)??a.refreshToken,loginInfo:t}},W=async(e,t,a)=>{var d,f,k,x,E,P,h,y,S,p;const u=((d=e.headers)==null?void 0:d["content-type"])||"";if(!String(u).includes("application/json"))return e.data;const n=await e.data.text();try{const l=JSON.parse(n);if(Number(l.code)===403){const r=a("api.noPermissionOperation","暂无操作权限");return(k=(f=t.ui)==null?void 0:f.warning)==null||k.call(f,r),(x=t.onBusinessError)==null||x.call(t,{code:l.code,message:r,response:e}),Promise.reject(new Error(r))}if(_(l.code,t.successCodes))return e.data;const b=A(l.code,l.msg||l.message,t.locale);return(P=(E=t.ui)==null?void 0:E.error)==null||P.call(E,b),(h=t.onBusinessError)==null||h.call(t,{code:l.code,message:b,response:e}),Promise.reject(new Error(b))}catch{const l=a("api.exportFailed","导出失败");return(S=(y=t.ui)==null?void 0:y.error)==null||S.call(y,l),(p=t.onHttpError)==null||p.call(t,{message:l,response:e}),Promise.reject(new Error(l))}},J=(e,t,a)=>{var u,n,d,f,k;if((u=a.onAuthorizationExpired)==null||u.call(a,{payload:e,response:t}),X(a)){Z(e,a);return}e.expireTime?(d=(n=a.authorization)==null?void 0:n.openExpired)==null||d.call(n,e):(k=(f=a.authorization)==null?void 0:f.open)==null||k.call(f,e)},X=e=>{var a;if((a=e.authorization)!=null&&a.isInMicroApp)return e.authorization.isInMicroApp();if(!N())return!1;const t=window;return!!(t.__MICRO_APP_ENVIRONMENT__||t.__MICRO_APP_BASE_APPLICATION__)},Z=(e,t)=>{var n,d,f,k;if((n=t.authorization)!=null&&n.dispatchMicroAppEvent){t.authorization.dispatchMicroAppEvent(e);return}if(!N())return;const a={type:"authorization_expired",machineCode:e.machineCode,expireTime:e.expireTime},u=(d=t.authorization)==null?void 0:d.eventCenterName;if(u){const E=window[u];if(typeof(E==null?void 0:E.dispatch)=="function"){E.dispatch({myname:((f=t.authorization)==null?void 0:f.microAppName)??u,data:a});return}}window.dispatchEvent(new CustomEvent(((k=t.authorization)==null?void 0:k.eventName)??C,{detail:a}))},B=(e,t)=>{if(!e||typeof e!="object")return;const a=e;return typeof a[t]=="string"?a[t]:void 0},D=(e,t,a)=>{const u=e.headers;if(u&&typeof u.set=="function"){u.set(t,a);return}e.headers[t]=a},K=(e,t)=>{var a;return t.shouldRefreshToken?t.shouldRefreshToken(e):Number((a=e.data)==null?void 0:a.code)===401},z=(e,t,a)=>({...e,method:t,data:e.data??a});let v=null;const G=e=>{const t=H(e);return v=t,t},Q=e=>(v=e,e),q=()=>{if(!v)throw new Error("Request SDK is not initialized. Call setupRequestSdk(...) or install the Vue plugin first.");return v},Y={request:e=>q().request.request(e),get:(e,t)=>q().request.get(e,t),post:(e,t,a)=>q().request.post(e,t,a),put:(e,t,a)=>q().request.put(e,t,a),patch:(e,t,a)=>q().request.patch(e,t,a),delete:(e,t)=>q().request.delete(e,t)},ee=new Proxy({},{get(e,t){return Reflect.get(q().service,t)}});exports.AUTHORIZATION_EXPIRED_EVENT=C;exports.buildAuthHeaderValue=O;exports.createRequestSdk=H;exports.extractI18nParams=I;exports.getBizErrorMsg=A;exports.getDefaultRequestSdk=q;exports.http=ee;exports.isSuccessCode=_;exports.request=Y;exports.setDefaultRequestSdk=Q;exports.setupRequestSdk=G;
@@ -1,406 +0,0 @@
1
- import j from "axios";
2
- const D = [0, 200], O = (e) => {
3
- var n, d, m;
4
- if (typeof e != "string") return;
5
- const t = ((n = e.match(/【([^】]+)】/)) == null ? void 0 : n[1]) || ((d = e.match(/\(([^)]+)\)/)) == null ? void 0 : d[1]), a = (m = e.match(/原因[::]\s*(.+)$/)) == null ? void 0 : m[1], o = {};
6
- return t && (o.value = t), a && (o.reason = a), Object.keys(o).length ? o : void 0;
7
- }, I = (e) => (t, a, o) => {
8
- var d;
9
- const n = (d = e == null ? void 0 : e.translate) == null ? void 0 : d.call(e, t, a, o);
10
- return n && n !== t ? n : a ?? t;
11
- }, N = (e, t, a) => {
12
- var m, k;
13
- const n = `api.errMsg${String(e ?? "")}`, d = (m = a == null ? void 0 : a.translate) == null ? void 0 : m.call(a, n, void 0, O(t));
14
- return d && d !== n ? d : typeof t == "string" && t || ((k = a == null ? void 0 : a.translate) == null ? void 0 : k.call(a, "api.systemException", "系统异常")) || "系统异常";
15
- }, L = (e, t, a = "/admin-api") => typeof e == "function" ? e(t) : e ?? `${a}/system/auth/refresh-token?refreshToken=${t ?? ""}`, U = (e) => typeof e == "function" ? e() : e ?? "/login", C = (e, t = D) => t.some((a) => String(a) === String(e)), H = (e, t = "Bearer") => typeof t == "function" ? t(e) : t ? `${t} ${e}` : e, A = () => typeof window < "u" && typeof document < "u", $ = "http-request-sdk:authorization-expired", V = (e = {}) => {
16
- const t = I(e.locale);
17
- let a = !1, o = null;
18
- const n = j.create({
19
- baseURL: e.baseURL ?? "/admin-api",
20
- timeout: e.timeout ?? 3e4,
21
- validateStatus: (r) => r >= 200 && r < 300 || r === 400,
22
- headers: {
23
- "Content-Type": "application/json;charset=UTF-8"
24
- },
25
- ...e.axiosConfig
26
- }), d = () => {
27
- var r, s, i;
28
- return ((r = e.getAccessToken) == null ? void 0 : r.call(e)) ?? ((i = (s = e.token) == null ? void 0 : s.getAccessToken) == null ? void 0 : i.call(s));
29
- }, m = () => {
30
- var r, s, i;
31
- return ((r = e.getLocale) == null ? void 0 : r.call(e)) ?? ((i = (s = e.locale) == null ? void 0 : s.getLocale) == null ? void 0 : i.call(s));
32
- }, k = (r) => {
33
- var s;
34
- (s = e.onBusinessError) == null || s.call(e, r);
35
- }, y = (r) => {
36
- var s;
37
- (s = e.onHttpError) == null || s.call(e, r);
38
- }, E = (r) => {
39
- var s, i;
40
- (i = (s = e.ui) == null ? void 0 : s.error) == null || i.call(s, r);
41
- }, p = (r) => {
42
- var s, i;
43
- (i = (s = e.ui) == null ? void 0 : s.warning) == null || i.call(s, r);
44
- }, h = (r, s) => {
45
- console.info("[http-request-sdk][permission-expired]", r, s ?? {});
46
- }, R = async (r) => {
47
- var g, f;
48
- if (h("triggerTokenExpired:start", {
49
- code: r.code,
50
- message: r.message,
51
- hasShowPermissionExpired: !!((g = e.ui) != null && g.showPermissionExpired),
52
- modalVisible: a
53
- }), a) {
54
- h("triggerTokenExpired:skip-visible", {
55
- code: r.code
56
- });
57
- return;
58
- }
59
- const s = () => {
60
- a = !1, h("modal:visible-reset", {
61
- code: r.code
62
- });
63
- }, i = async () => {
64
- var u, T, w, c;
65
- h("modal:onOk:start", {
66
- code: r.code,
67
- hasOnTokenExpired: !!e.onTokenExpired
68
- });
69
- try {
70
- e.onTokenExpired ? await e.onTokenExpired(r) : (await ((T = (u = e.token) == null ? void 0 : u.logout) == null ? void 0 : T.call(u)), (c = (w = e.token) == null ? void 0 : w.clearToken) == null || c.call(w), A() && (window.location.href = U(e.loginUrl))), s(), h("modal:onOk:success", {
71
- code: r.code
72
- });
73
- } catch (x) {
74
- h("modal:onOk:error", {
75
- code: r.code,
76
- error: x
77
- }), s();
78
- }
79
- };
80
- if (a = !0, h("modal:visible-set", {
81
- code: r.code
82
- }), (f = e.ui) != null && f.showPermissionExpired) {
83
- h("modal:showPermissionExpired:call", {
84
- code: r.code
85
- }), e.ui.showPermissionExpired({
86
- title: t("api.permissionExpiredTitle", "权限失效提醒"),
87
- content: r.message || t("api.permissionExpiredContent", "您的账号已失效,请重新登录"),
88
- okText: t("api.permissionExpiredOkText", "我知道了"),
89
- onOk: i,
90
- onCancel: s
91
- });
92
- return;
93
- }
94
- if (A()) {
95
- h("modal:adapter-missing:native-alert", {
96
- code: r.code
97
- }), window.alert(
98
- `${t("api.permissionExpiredTitle", "权限失效提醒")}
99
-
100
- ${r.message || t("api.permissionExpiredContent", "您的账号已失效,请重新登录")}`
101
- ), await i();
102
- return;
103
- }
104
- h("modal:adapter-missing:run-onOk-without-browser", {
105
- code: r.code
106
- }), await i();
107
- }, q = (r) => {
108
- var s, i, g, f, u;
109
- if (r)
110
- return r.accessToken && ((i = (s = e.token) == null ? void 0 : s.setToken) == null || i.call(s, r.accessToken)), r.refreshToken && ((f = (g = e.token) == null ? void 0 : g.setRefreshToken) == null || f.call(g, r.refreshToken)), (u = e.onRefreshTokenSuccess) == null || u.call(e, r), r.loginInfo;
111
- }, b = async () => {
112
- var g, f, u, T, w, c;
113
- if (e.refreshAccessToken) {
114
- const x = await e.refreshAccessToken({
115
- refreshToken: (f = (g = e.token) == null ? void 0 : g.getRefreshToken) == null ? void 0 : f.call(g),
116
- service: n
117
- });
118
- return q(x);
119
- }
120
- const r = (T = (u = e.token) == null ? void 0 : u.getRefreshToken) == null ? void 0 : T.call(u), s = await j.post(
121
- L(
122
- e.refreshTokenUrl,
123
- r,
124
- e.baseURL ?? "/admin-api"
125
- )
126
- ), i = ((c = (w = e.token) == null ? void 0 : w.normalizeRefreshResponse) == null ? void 0 : c.call(w, s)) ?? F(s);
127
- if (i.code === 401 || i.code === 400)
128
- throw new Error(t("api.tokenExpired", "Token已过期,请重新登录"));
129
- return q(i);
130
- }, l = () => (o || (o = b().finally(() => {
131
- o = null;
132
- })), o);
133
- n.interceptors.request.use(
134
- (r) => {
135
- const s = d(), i = m();
136
- return s && B(
137
- r,
138
- e.authHeaderName ?? "Authorization",
139
- H(s, e.authScheme)
140
- ), i && B(r, e.localeHeaderName ?? "Accept-Language", i), r;
141
- },
142
- (r) => {
143
- var s;
144
- return (s = e.onRequestError) == null || s.call(e, r), Promise.reject(r);
145
- }
146
- );
147
- const S = (async (r) => {
148
- var w;
149
- if (r.config.responseType === "blob")
150
- return W(r, e, t);
151
- if (console.log("!!!!!!!!!!!!!!", r), r.status !== 200 && r.status !== 400) {
152
- const c = t("api.networkExceptionMsg", "网络连接异常");
153
- return E(c), y({ message: c, response: r }), Promise.reject(new Error(((w = r.data) == null ? void 0 : w.message) || "Error"));
154
- }
155
- const { code: s, msg: i, message: g, data: f } = r.data, u = i || g, T = u || t("api.systemException", "系统异常");
156
- if (Number(s) === 400) {
157
- const c = u || t("api.tokenExpired", "Token已过期,请重新登录");
158
- return h("response:code-400:show-modal", {
159
- httpStatus: r.status,
160
- code: s,
161
- message: c,
162
- url: r.config.url
163
- }), await R({ code: s, message: c, response: r }), k({ code: s, message: c, response: r }), Promise.reject(new Error(c));
164
- }
165
- if (Z(r, e)) {
166
- h("response:should-refresh-token", {
167
- httpStatus: r.status,
168
- code: s,
169
- message: T,
170
- url: r.config.url
171
- });
172
- const c = r.config;
173
- if (c._retry) {
174
- const x = t("api.tokenExpired", "Token已过期,请重新登录");
175
- return h("response:retry-already-used", {
176
- code: s,
177
- url: r.config.url
178
- }), await R({ code: s, message: x, response: r }), Promise.reject(new Error(x));
179
- }
180
- c._retry = !0;
181
- try {
182
- return h("refresh-token:start", {
183
- code: s,
184
- url: r.config.url
185
- }), await l(), h("refresh-token:success:retry-request", {
186
- code: s,
187
- url: r.config.url
188
- }), n.request(c);
189
- } catch (x) {
190
- const _ = t("api.tokenExpired", "Token已过期,请重新登录");
191
- return h("refresh-token:error:trigger-modal", {
192
- code: s,
193
- url: r.config.url,
194
- error: x
195
- }), await R({
196
- code: s,
197
- message: _,
198
- response: r,
199
- error: x
200
- }), Promise.reject(x instanceof Error ? x : new Error(_));
201
- }
202
- }
203
- if (Number(s) === 403) {
204
- const c = t("api.noPermissionOperation", "暂无操作权限");
205
- return p(c), k({ code: s, message: c, response: r }), Promise.reject(new Error(c));
206
- }
207
- if (Number(s) === 510) {
208
- const c = {
209
- machineCode: M(f, "machineCode"),
210
- expireTime: M(f, "expireTime"),
211
- rawData: f
212
- };
213
- J(c, r, e);
214
- return;
215
- }
216
- if (Number(s) === 1002031003)
217
- return k({ code: s, message: T, response: r }), Promise.reject(new Error(T));
218
- if (!C(s, e.successCodes)) {
219
- const c = N(s, T, e.locale);
220
- return E(c), k({ code: s, message: c, response: r }), Promise.reject(new Error(c));
221
- }
222
- return e.transformResponse ? e.transformResponse(r.data) : e.unwrapData ? r.data.data : r.data;
223
- });
224
- return n.interceptors.response.use(S, (r) => {
225
- var i, g;
226
- const { response: s } = r;
227
- if (s && ((i = s.config) == null ? void 0 : i.responseType) === "blob" && typeof Blob < "u" && s.data instanceof Blob)
228
- s.data.text().then((f) => {
229
- try {
230
- const u = JSON.parse(f), T = N(
231
- u.code,
232
- u.msg || u.message,
233
- e.locale
234
- );
235
- Number(u.code) === 403 ? p(t("api.noPermissionOperation", "暂无操作权限")) : E(T || t("api.exportFailed", "导出失败")), y({
236
- code: u.code,
237
- message: T || t("api.exportFailed", "导出失败"),
238
- response: s,
239
- error: r
240
- });
241
- } catch {
242
- const u = t("api.exportFailed", "导出失败");
243
- E(u), y({ message: u, response: s, error: r });
244
- }
245
- });
246
- else if ((s == null ? void 0 : s.status) === 403) {
247
- const f = t("api.noPermissionOperation", "暂无操作权限");
248
- p(f), y({ code: 403, message: f, response: s, error: r });
249
- } else if ((s == null ? void 0 : s.status) !== 404) {
250
- const f = t("api.networkExceptionMsg", "网络连接异常");
251
- E(f), y({ code: s == null ? void 0 : s.status, message: f, response: s, error: r });
252
- }
253
- return (g = e.onResponseError) == null || g.call(e, r), Promise.reject(r);
254
- }), {
255
- service: n,
256
- refreshToken: b,
257
- request: {
258
- request: (r) => n.request(r),
259
- get: (r, s = {}) => typeof r == "string" ? n.get(r, s) : n.request({
260
- ...r,
261
- method: "get"
262
- }),
263
- post: (r, s, i = {}) => typeof r == "string" ? n.post(r, s, i) : n.request(
264
- z(r, "post", s)
265
- ),
266
- put: (r, s, i = {}) => typeof r == "string" ? n.put(r, s, i) : n.request(
267
- z(r, "put", s)
268
- ),
269
- patch: (r, s, i = {}) => typeof r == "string" ? n.patch(r, s, i) : n.request(
270
- z(r, "patch", s)
271
- ),
272
- delete: (r, s = {}) => typeof r == "string" ? n.delete(r, s) : n.request({
273
- ...r,
274
- method: "delete"
275
- })
276
- }
277
- };
278
- }, F = (e) => {
279
- const t = e.data.data, a = e.data;
280
- return {
281
- code: e.data.code,
282
- accessToken: (t == null ? void 0 : t.accessToken) ?? a.accessToken,
283
- refreshToken: (t == null ? void 0 : t.refreshToken) ?? a.refreshToken,
284
- loginInfo: t
285
- };
286
- }, W = async (e, t, a) => {
287
- var d, m, k, y, E, p, h, R, q, b;
288
- const o = ((d = e.headers) == null ? void 0 : d["content-type"]) || "";
289
- if (!String(o).includes("application/json"))
290
- return e.data;
291
- const n = await e.data.text();
292
- try {
293
- const l = JSON.parse(n);
294
- if (Number(l.code) === 403) {
295
- const r = a("api.noPermissionOperation", "暂无操作权限");
296
- return (k = (m = t.ui) == null ? void 0 : m.warning) == null || k.call(m, r), (y = t.onBusinessError) == null || y.call(t, { code: l.code, message: r, response: e }), Promise.reject(new Error(r));
297
- }
298
- if (C(l.code, t.successCodes)) return e.data;
299
- const S = N(
300
- l.code,
301
- l.msg || l.message,
302
- t.locale
303
- );
304
- return (p = (E = t.ui) == null ? void 0 : E.error) == null || p.call(E, S), (h = t.onBusinessError) == null || h.call(t, { code: l.code, message: S, response: e }), Promise.reject(new Error(S));
305
- } catch {
306
- const l = a("api.exportFailed", "导出失败");
307
- return (q = (R = t.ui) == null ? void 0 : R.error) == null || q.call(R, l), (b = t.onHttpError) == null || b.call(t, { message: l, response: e }), Promise.reject(new Error(l));
308
- }
309
- }, J = (e, t, a) => {
310
- var o, n, d, m, k;
311
- if ((o = a.onAuthorizationExpired) == null || o.call(a, { payload: e, response: t }), K(a)) {
312
- X(e, a);
313
- return;
314
- }
315
- e.expireTime ? (d = (n = a.authorization) == null ? void 0 : n.openExpired) == null || d.call(n, e) : (k = (m = a.authorization) == null ? void 0 : m.open) == null || k.call(m, e);
316
- }, K = (e) => {
317
- var a;
318
- if ((a = e.authorization) != null && a.isInMicroApp)
319
- return e.authorization.isInMicroApp();
320
- if (!A()) return !1;
321
- const t = window;
322
- return !!(t.__MICRO_APP_ENVIRONMENT__ || t.__MICRO_APP_BASE_APPLICATION__);
323
- }, X = (e, t) => {
324
- var n, d, m, k;
325
- if ((n = t.authorization) != null && n.dispatchMicroAppEvent) {
326
- t.authorization.dispatchMicroAppEvent(e);
327
- return;
328
- }
329
- if (!A()) return;
330
- const a = {
331
- type: "authorization_expired",
332
- machineCode: e.machineCode,
333
- expireTime: e.expireTime
334
- }, o = (d = t.authorization) == null ? void 0 : d.eventCenterName;
335
- if (o) {
336
- const E = window[o];
337
- if (typeof (E == null ? void 0 : E.dispatch) == "function") {
338
- E.dispatch({
339
- myname: ((m = t.authorization) == null ? void 0 : m.microAppName) ?? o,
340
- data: a
341
- });
342
- return;
343
- }
344
- }
345
- window.dispatchEvent(
346
- new CustomEvent(((k = t.authorization) == null ? void 0 : k.eventName) ?? $, {
347
- detail: a
348
- })
349
- );
350
- }, M = (e, t) => {
351
- if (!e || typeof e != "object") return;
352
- const a = e;
353
- return typeof a[t] == "string" ? a[t] : void 0;
354
- }, B = (e, t, a) => {
355
- const o = e.headers;
356
- if (o && typeof o.set == "function") {
357
- o.set(t, a);
358
- return;
359
- }
360
- e.headers[t] = a;
361
- }, Z = (e, t) => {
362
- var a;
363
- return t.shouldRefreshToken ? t.shouldRefreshToken(e) : Number((a = e.data) == null ? void 0 : a.code) === 401;
364
- }, z = (e, t, a) => ({
365
- ...e,
366
- method: t,
367
- data: e.data ?? a
368
- });
369
- let v = null;
370
- const Q = (e) => {
371
- const t = V(e);
372
- return v = t, t;
373
- }, Y = (e) => (v = e, e), P = () => {
374
- if (!v)
375
- throw new Error(
376
- "Request SDK is not initialized. Call setupRequestSdk(...) or install the Vue plugin first."
377
- );
378
- return v;
379
- }, ee = {
380
- request: (e) => P().request.request(e),
381
- get: (e, t) => P().request.get(e, t),
382
- post: (e, t, a) => P().request.post(e, t, a),
383
- put: (e, t, a) => P().request.put(e, t, a),
384
- patch: (e, t, a) => P().request.patch(e, t, a),
385
- delete: (e, t) => P().request.delete(e, t)
386
- }, re = new Proxy(
387
- {},
388
- {
389
- get(e, t) {
390
- return Reflect.get(P().service, t);
391
- }
392
- }
393
- );
394
- export {
395
- $ as A,
396
- P as a,
397
- H as b,
398
- V as c,
399
- Q as d,
400
- O as e,
401
- N as g,
402
- re as h,
403
- C as i,
404
- ee as r,
405
- Y as s
406
- };