@bwg-ui/core 1.2.9 → 1.2.11
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/chunks/{MenuReport-CuAfCZbc.cjs → MenuReport-CXsmjSvg.cjs} +1 -1
- package/dist/chunks/{MenuReport-iuRC_snf.js → MenuReport-Dgq2wH6w.js} +1 -1
- package/dist/chunks/{common-components-CFIJNFN0.js → common-components-Bp95qOup.js} +6 -6
- package/dist/chunks/{common-components-CioS_8Bi.cjs → common-components-CoRIM-Z-.cjs} +2 -2
- package/dist/chunks/{layout-components-DMR4tl9_.cjs → layout-components-hCEUMfz3.cjs} +2 -2
- package/dist/chunks/{layout-components-C-9ATcL9.js → layout-components-yyItu5pi.js} +2 -2
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +5 -5
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +107 -107
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/components/pages/auth/CMAuthMstrM01.d.ts +7 -0
- package/dist/components/pages/auth/CMAuthMstrM01.d.ts.map +1 -0
- package/dist/components/pages/auth/CMRoleMstrM01.d.ts +3 -0
- package/dist/components/pages/auth/CMRoleMstrM01.d.ts.map +1 -0
- package/dist/components/pages/guide/BwgComponentGuideM01.d.ts +3 -0
- package/dist/components/pages/guide/BwgComponentGuideM01.d.ts.map +1 -0
- package/dist/components/pages/guide/BwgDeveloperGuideM01.d.ts +3 -0
- package/dist/components/pages/guide/BwgDeveloperGuideM01.d.ts.map +1 -0
- package/dist/components/pages/guide/BwgReactGuideM01.d.ts +3 -0
- package/dist/components/pages/guide/BwgReactGuideM01.d.ts.map +1 -0
- package/dist/components/pages/index.d.ts +20 -0
- package/dist/components/pages/index.d.ts.map +1 -0
- package/dist/components/pages/rsrc/CMFileMstrM01.d.ts +3 -0
- package/dist/components/pages/rsrc/CMFileMstrM01.d.ts.map +1 -0
- package/dist/components/pages/rsrc/CMMenuMstrM01.d.ts +3 -0
- package/dist/components/pages/rsrc/CMMenuMstrM01.d.ts.map +1 -0
- package/dist/components/pages/rsrc/CMMenuPrgrSelectModal.d.ts +16 -0
- package/dist/components/pages/rsrc/CMMenuPrgrSelectModal.d.ts.map +1 -0
- package/dist/components/pages/rsrc/CMMenuPrntSelectModal.d.ts +16 -0
- package/dist/components/pages/rsrc/CMMenuPrntSelectModal.d.ts.map +1 -0
- package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts +3 -0
- package/dist/components/pages/rsrc/CMPopuMstrM01.d.ts.map +1 -0
- package/dist/components/pages/rsrc/CMPrgrMstrM01.d.ts +3 -0
- package/dist/components/pages/rsrc/CMPrgrMstrM01.d.ts.map +1 -0
- package/dist/components/pages/syst/CMSystCfgM01.d.ts +3 -0
- package/dist/components/pages/syst/CMSystCfgM01.d.ts.map +1 -0
- package/dist/components/pages/syst/CMSystCodeM01.d.ts +3 -0
- package/dist/components/pages/syst/CMSystCodeM01.d.ts.map +1 -0
- package/dist/components/pages/user/CMUserMstrM01.d.ts +3 -0
- package/dist/components/pages/user/CMUserMstrM01.d.ts.map +1 -0
- package/dist/components/popup/SearchAddressModalM01.d.ts +7 -0
- package/dist/components/popup/SearchAddressModalM01.d.ts.map +1 -0
- package/dist/components/popup/index.cjs +1 -1
- package/dist/components/popup/index.d.ts +1 -1
- package/dist/components/popup/index.d.ts.map +1 -1
- package/dist/components/popup/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +17 -17
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.js +1 -1
- package/dist/styles/assets/images/header/icon/ico-bell.svg +3 -3
- package/dist/styles/assets/images/header/icon/ico-logout.svg +10 -10
- package/dist/styles/assets/images/header/icon/ico-setting.svg +4 -4
- package/dist/styles/assets/images/header/icon/ico-sidebar-arrow.svg +3 -3
- package/dist/types/bwg-global.d.ts +2 -1
- package/dist/utils/commonUtils.d.ts +0 -6
- package/dist/utils/commonUtils.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1386 -748
- package/package.json +1 -1
- package/dist/chunks/core-CA7iRgyb.cjs +0 -1
- package/dist/chunks/core-D18HD1It.js +0 -513
- package/dist/chunks/enc-base64-CdWu8KMI.js +0 -101
- package/dist/chunks/enc-base64-DSIiAsI5.cjs +0 -1
- package/dist/chunks/sha256-D5iKSlK6.cjs +0 -1
- package/dist/chunks/sha256-DQcqzuys.js +0 -78
package/dist/utils/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { notification as
|
|
5
|
-
import { useUserStore as
|
|
6
|
-
const
|
|
1
|
+
import ae from "axios";
|
|
2
|
+
import { g as Qe, c as oe, a as V } from "../chunks/common-components-Bp95qOup.js";
|
|
3
|
+
import $ from "dayjs";
|
|
4
|
+
import { notification as B, message as A } from "antd";
|
|
5
|
+
import { useUserStore as k, useMenuViewStore as we, useLoadingStore as ne, usePopupLoadingStore as se } from "../stores/index.js";
|
|
6
|
+
const xe = {
|
|
7
7
|
// 권한 관련
|
|
8
8
|
AUTH_BTNS: "SCMSIGN00202",
|
|
9
9
|
// 버튼 권한 조회
|
|
@@ -18,438 +18,1076 @@ const de = {
|
|
|
18
18
|
AUTH_BMRK: "SCMBMRK00101"
|
|
19
19
|
// 즐겨찾기 관리
|
|
20
20
|
};
|
|
21
|
-
let
|
|
22
|
-
function
|
|
23
|
-
|
|
21
|
+
let F = {};
|
|
22
|
+
function et(e) {
|
|
23
|
+
F = e, console.log("🔧 Provider 서비스코드 오버라이드 설정:", e);
|
|
24
24
|
}
|
|
25
|
-
function
|
|
26
|
-
return
|
|
25
|
+
function Se(e) {
|
|
26
|
+
return F[e] && F[e].trim() !== "" ? F[e] : xe[e];
|
|
27
27
|
}
|
|
28
|
-
function
|
|
28
|
+
function Ce() {
|
|
29
29
|
const e = {};
|
|
30
|
-
for (const t of Object.keys(
|
|
31
|
-
e[t] =
|
|
30
|
+
for (const t of Object.keys(xe))
|
|
31
|
+
e[t] = Se(t);
|
|
32
32
|
return e;
|
|
33
33
|
}
|
|
34
|
-
function
|
|
34
|
+
function tt() {
|
|
35
35
|
console.log("🔧 bwg-core 서비스코드 설정:"), console.log("📋 Provider 설정 > 기본값 순서로 확인");
|
|
36
|
-
const e =
|
|
36
|
+
const e = Ce();
|
|
37
37
|
for (const [t, r] of Object.entries(e)) {
|
|
38
|
-
const o =
|
|
38
|
+
const o = F[t] ? "Provider 설정" : "기본값";
|
|
39
39
|
console.log(` ${t}: ${r} (${o})`);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
const
|
|
42
|
+
const Me = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
43
43
|
__proto__: null,
|
|
44
|
-
getAllServiceCodes:
|
|
45
|
-
getServiceCode:
|
|
46
|
-
logServiceCodeConfig:
|
|
47
|
-
setServiceCodeOverrides:
|
|
48
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
49
|
-
const e =
|
|
50
|
-
return
|
|
51
|
-
},
|
|
52
|
-
const e =
|
|
44
|
+
getAllServiceCodes: Ce,
|
|
45
|
+
getServiceCode: Se,
|
|
46
|
+
logServiceCodeConfig: tt,
|
|
47
|
+
setServiceCodeOverrides: et
|
|
48
|
+
}, Symbol.toStringTag, { value: "Module" })), be = () => k.getState().user?.crprCd || null, _e = () => {
|
|
49
|
+
const e = k.getState().user;
|
|
50
|
+
return k.getState().hrInfo?.empNo || e?.userId || null;
|
|
51
|
+
}, $e = () => k.getState().user?.userNm || null, rt = () => k.getState().user?.userDvsn || null, ot = () => k.getState().user?.emplNo || null, Te = () => {
|
|
52
|
+
const e = k.getState().hrInfo, t = k.getState().user;
|
|
53
53
|
return e?.deptCd || t?.dprtCd || null;
|
|
54
|
-
},
|
|
55
|
-
const t =
|
|
54
|
+
}, De = () => k.getState().user?.dprtNm || null, ee = () => k.getState().user?.roleList || null, nt = (e) => {
|
|
55
|
+
const t = ee();
|
|
56
56
|
return t ? t.includes(e) : !1;
|
|
57
|
-
},
|
|
58
|
-
const t =
|
|
57
|
+
}, st = (e) => {
|
|
58
|
+
const t = ee();
|
|
59
59
|
return t ? e.some((r) => t.includes(r)) : !1;
|
|
60
|
-
},
|
|
61
|
-
const t =
|
|
60
|
+
}, at = (e) => {
|
|
61
|
+
const t = ee();
|
|
62
62
|
return t ? e.every((r) => t.includes(r)) : !1;
|
|
63
|
-
},
|
|
64
|
-
const e =
|
|
63
|
+
}, it = () => k.getState().isLoggedIn, H = () => k.getState().user, ct = () => H() !== null, ut = () => {
|
|
64
|
+
const e = $e(), t = _e();
|
|
65
65
|
return e || t || null;
|
|
66
|
-
},
|
|
67
|
-
const e =
|
|
66
|
+
}, lt = () => {
|
|
67
|
+
const e = De(), t = Te();
|
|
68
68
|
return e || (t ? String(t) : null);
|
|
69
|
-
},
|
|
69
|
+
}, L = () => k.getState().hrInfo, dt = () => L()?.jbpsCd || null, ft = () => L()?.jbgdCd || null, ht = () => L()?.jbdtCd || null, mt = () => L()?.jbkdCd || null, pt = () => L()?.wkplCd || null, ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
70
70
|
__proto__: null,
|
|
71
|
-
getCrprCd:
|
|
72
|
-
getDepartmentInfo:
|
|
73
|
-
getDisplayName:
|
|
74
|
-
getDprtCd:
|
|
75
|
-
getDprtNm:
|
|
76
|
-
getEmplNo:
|
|
77
|
-
getHrInfo:
|
|
78
|
-
getJbdtCd:
|
|
79
|
-
getJbgdCd:
|
|
80
|
-
getJbkdCd:
|
|
81
|
-
getJbpsCd:
|
|
82
|
-
getRoleList:
|
|
83
|
-
getUserDvsn:
|
|
84
|
-
getUserId:
|
|
85
|
-
getUserInfo:
|
|
86
|
-
getUserNm:
|
|
87
|
-
getWkplCd:
|
|
88
|
-
hasAllRoles:
|
|
89
|
-
hasAnyRole:
|
|
90
|
-
hasRole:
|
|
91
|
-
hasUserInfo:
|
|
92
|
-
isLoggedIn:
|
|
71
|
+
getCrprCd: be,
|
|
72
|
+
getDepartmentInfo: lt,
|
|
73
|
+
getDisplayName: ut,
|
|
74
|
+
getDprtCd: Te,
|
|
75
|
+
getDprtNm: De,
|
|
76
|
+
getEmplNo: ot,
|
|
77
|
+
getHrInfo: L,
|
|
78
|
+
getJbdtCd: ht,
|
|
79
|
+
getJbgdCd: ft,
|
|
80
|
+
getJbkdCd: mt,
|
|
81
|
+
getJbpsCd: dt,
|
|
82
|
+
getRoleList: ee,
|
|
83
|
+
getUserDvsn: rt,
|
|
84
|
+
getUserId: _e,
|
|
85
|
+
getUserInfo: H,
|
|
86
|
+
getUserNm: $e,
|
|
87
|
+
getWkplCd: pt,
|
|
88
|
+
hasAllRoles: at,
|
|
89
|
+
hasAnyRole: st,
|
|
90
|
+
hasRole: nt,
|
|
91
|
+
hasUserInfo: ct,
|
|
92
|
+
isLoggedIn: it
|
|
93
93
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
94
|
-
var
|
|
95
|
-
function
|
|
96
|
-
|
|
94
|
+
var q = { exports: {} };
|
|
95
|
+
function gt(e) {
|
|
96
|
+
throw new Error('Could not dynamically require "' + e + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
97
|
+
}
|
|
98
|
+
var K = { exports: {} };
|
|
99
|
+
const yt = {}, vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
100
|
+
__proto__: null,
|
|
101
|
+
default: yt
|
|
102
|
+
}, Symbol.toStringTag, { value: "Module" })), wt = /* @__PURE__ */ Qe(vt);
|
|
103
|
+
var xt = K.exports, he;
|
|
104
|
+
function Oe() {
|
|
105
|
+
return he || (he = 1, (function(e, t) {
|
|
106
|
+
(function(r, o) {
|
|
107
|
+
e.exports = o();
|
|
108
|
+
})(xt, function() {
|
|
109
|
+
var r = r || (function(o, l) {
|
|
110
|
+
var m;
|
|
111
|
+
if (typeof window < "u" && window.crypto && (m = window.crypto), typeof self < "u" && self.crypto && (m = self.crypto), typeof globalThis < "u" && globalThis.crypto && (m = globalThis.crypto), !m && typeof window < "u" && window.msCrypto && (m = window.msCrypto), !m && typeof oe < "u" && oe.crypto && (m = oe.crypto), !m && typeof gt == "function")
|
|
112
|
+
try {
|
|
113
|
+
m = wt;
|
|
114
|
+
} catch {
|
|
115
|
+
}
|
|
116
|
+
var x = function() {
|
|
117
|
+
if (m) {
|
|
118
|
+
if (typeof m.getRandomValues == "function")
|
|
119
|
+
try {
|
|
120
|
+
return m.getRandomValues(new Uint32Array(1))[0];
|
|
121
|
+
} catch {
|
|
122
|
+
}
|
|
123
|
+
if (typeof m.randomBytes == "function")
|
|
124
|
+
try {
|
|
125
|
+
return m.randomBytes(4).readInt32LE();
|
|
126
|
+
} catch {
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
throw new Error("Native crypto module could not be used to get secure random number.");
|
|
130
|
+
}, M = Object.create || /* @__PURE__ */ (function() {
|
|
131
|
+
function s() {
|
|
132
|
+
}
|
|
133
|
+
return function(i) {
|
|
134
|
+
var h;
|
|
135
|
+
return s.prototype = i, h = new s(), s.prototype = null, h;
|
|
136
|
+
};
|
|
137
|
+
})(), p = {}, v = p.lib = {}, g = v.Base = /* @__PURE__ */ (function() {
|
|
138
|
+
return {
|
|
139
|
+
/**
|
|
140
|
+
* Creates a new object that inherits from this object.
|
|
141
|
+
*
|
|
142
|
+
* @param {Object} overrides Properties to copy into the new object.
|
|
143
|
+
*
|
|
144
|
+
* @return {Object} The new object.
|
|
145
|
+
*
|
|
146
|
+
* @static
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
*
|
|
150
|
+
* var MyType = CryptoJS.lib.Base.extend({
|
|
151
|
+
* field: 'value',
|
|
152
|
+
*
|
|
153
|
+
* method: function () {
|
|
154
|
+
* }
|
|
155
|
+
* });
|
|
156
|
+
*/
|
|
157
|
+
extend: function(s) {
|
|
158
|
+
var i = M(this);
|
|
159
|
+
return s && i.mixIn(s), (!i.hasOwnProperty("init") || this.init === i.init) && (i.init = function() {
|
|
160
|
+
i.$super.init.apply(this, arguments);
|
|
161
|
+
}), i.init.prototype = i, i.$super = this, i;
|
|
162
|
+
},
|
|
163
|
+
/**
|
|
164
|
+
* Extends this object and runs the init method.
|
|
165
|
+
* Arguments to create() will be passed to init().
|
|
166
|
+
*
|
|
167
|
+
* @return {Object} The new object.
|
|
168
|
+
*
|
|
169
|
+
* @static
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
*
|
|
173
|
+
* var instance = MyType.create();
|
|
174
|
+
*/
|
|
175
|
+
create: function() {
|
|
176
|
+
var s = this.extend();
|
|
177
|
+
return s.init.apply(s, arguments), s;
|
|
178
|
+
},
|
|
179
|
+
/**
|
|
180
|
+
* Initializes a newly created object.
|
|
181
|
+
* Override this method to add some logic when your objects are created.
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
*
|
|
185
|
+
* var MyType = CryptoJS.lib.Base.extend({
|
|
186
|
+
* init: function () {
|
|
187
|
+
* // ...
|
|
188
|
+
* }
|
|
189
|
+
* });
|
|
190
|
+
*/
|
|
191
|
+
init: function() {
|
|
192
|
+
},
|
|
193
|
+
/**
|
|
194
|
+
* Copies properties into this object.
|
|
195
|
+
*
|
|
196
|
+
* @param {Object} properties The properties to mix in.
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
*
|
|
200
|
+
* MyType.mixIn({
|
|
201
|
+
* field: 'value'
|
|
202
|
+
* });
|
|
203
|
+
*/
|
|
204
|
+
mixIn: function(s) {
|
|
205
|
+
for (var i in s)
|
|
206
|
+
s.hasOwnProperty(i) && (this[i] = s[i]);
|
|
207
|
+
s.hasOwnProperty("toString") && (this.toString = s.toString);
|
|
208
|
+
},
|
|
209
|
+
/**
|
|
210
|
+
* Creates a copy of this object.
|
|
211
|
+
*
|
|
212
|
+
* @return {Object} The clone.
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
*
|
|
216
|
+
* var clone = instance.clone();
|
|
217
|
+
*/
|
|
218
|
+
clone: function() {
|
|
219
|
+
return this.init.prototype.extend(this);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
})(), f = v.WordArray = g.extend({
|
|
223
|
+
/**
|
|
224
|
+
* Initializes a newly created word array.
|
|
225
|
+
*
|
|
226
|
+
* @param {Array} words (Optional) An array of 32-bit words.
|
|
227
|
+
* @param {number} sigBytes (Optional) The number of significant bytes in the words.
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
*
|
|
231
|
+
* var wordArray = CryptoJS.lib.WordArray.create();
|
|
232
|
+
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
|
|
233
|
+
* var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
|
|
234
|
+
*/
|
|
235
|
+
init: function(s, i) {
|
|
236
|
+
s = this.words = s || [], i != l ? this.sigBytes = i : this.sigBytes = s.length * 4;
|
|
237
|
+
},
|
|
238
|
+
/**
|
|
239
|
+
* Converts this word array to a string.
|
|
240
|
+
*
|
|
241
|
+
* @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
|
|
242
|
+
*
|
|
243
|
+
* @return {string} The stringified word array.
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
*
|
|
247
|
+
* var string = wordArray + '';
|
|
248
|
+
* var string = wordArray.toString();
|
|
249
|
+
* var string = wordArray.toString(CryptoJS.enc.Utf8);
|
|
250
|
+
*/
|
|
251
|
+
toString: function(s) {
|
|
252
|
+
return (s || a).stringify(this);
|
|
253
|
+
},
|
|
254
|
+
/**
|
|
255
|
+
* Concatenates a word array to this word array.
|
|
256
|
+
*
|
|
257
|
+
* @param {WordArray} wordArray The word array to append.
|
|
258
|
+
*
|
|
259
|
+
* @return {WordArray} This word array.
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
*
|
|
263
|
+
* wordArray1.concat(wordArray2);
|
|
264
|
+
*/
|
|
265
|
+
concat: function(s) {
|
|
266
|
+
var i = this.words, h = s.words, y = this.sigBytes, S = s.sigBytes;
|
|
267
|
+
if (this.clamp(), y % 4)
|
|
268
|
+
for (var C = 0; C < S; C++) {
|
|
269
|
+
var b = h[C >>> 2] >>> 24 - C % 4 * 8 & 255;
|
|
270
|
+
i[y + C >>> 2] |= b << 24 - (y + C) % 4 * 8;
|
|
271
|
+
}
|
|
272
|
+
else
|
|
273
|
+
for (var _ = 0; _ < S; _ += 4)
|
|
274
|
+
i[y + _ >>> 2] = h[_ >>> 2];
|
|
275
|
+
return this.sigBytes += S, this;
|
|
276
|
+
},
|
|
277
|
+
/**
|
|
278
|
+
* Removes insignificant bits.
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
*
|
|
282
|
+
* wordArray.clamp();
|
|
283
|
+
*/
|
|
284
|
+
clamp: function() {
|
|
285
|
+
var s = this.words, i = this.sigBytes;
|
|
286
|
+
s[i >>> 2] &= 4294967295 << 32 - i % 4 * 8, s.length = o.ceil(i / 4);
|
|
287
|
+
},
|
|
288
|
+
/**
|
|
289
|
+
* Creates a copy of this word array.
|
|
290
|
+
*
|
|
291
|
+
* @return {WordArray} The clone.
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
*
|
|
295
|
+
* var clone = wordArray.clone();
|
|
296
|
+
*/
|
|
297
|
+
clone: function() {
|
|
298
|
+
var s = g.clone.call(this);
|
|
299
|
+
return s.words = this.words.slice(0), s;
|
|
300
|
+
},
|
|
301
|
+
/**
|
|
302
|
+
* Creates a word array filled with random bytes.
|
|
303
|
+
*
|
|
304
|
+
* @param {number} nBytes The number of random bytes to generate.
|
|
305
|
+
*
|
|
306
|
+
* @return {WordArray} The random word array.
|
|
307
|
+
*
|
|
308
|
+
* @static
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
*
|
|
312
|
+
* var wordArray = CryptoJS.lib.WordArray.random(16);
|
|
313
|
+
*/
|
|
314
|
+
random: function(s) {
|
|
315
|
+
for (var i = [], h = 0; h < s; h += 4)
|
|
316
|
+
i.push(x());
|
|
317
|
+
return new f.init(i, s);
|
|
318
|
+
}
|
|
319
|
+
}), c = p.enc = {}, a = c.Hex = {
|
|
320
|
+
/**
|
|
321
|
+
* Converts a word array to a hex string.
|
|
322
|
+
*
|
|
323
|
+
* @param {WordArray} wordArray The word array.
|
|
324
|
+
*
|
|
325
|
+
* @return {string} The hex string.
|
|
326
|
+
*
|
|
327
|
+
* @static
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
*
|
|
331
|
+
* var hexString = CryptoJS.enc.Hex.stringify(wordArray);
|
|
332
|
+
*/
|
|
333
|
+
stringify: function(s) {
|
|
334
|
+
for (var i = s.words, h = s.sigBytes, y = [], S = 0; S < h; S++) {
|
|
335
|
+
var C = i[S >>> 2] >>> 24 - S % 4 * 8 & 255;
|
|
336
|
+
y.push((C >>> 4).toString(16)), y.push((C & 15).toString(16));
|
|
337
|
+
}
|
|
338
|
+
return y.join("");
|
|
339
|
+
},
|
|
340
|
+
/**
|
|
341
|
+
* Converts a hex string to a word array.
|
|
342
|
+
*
|
|
343
|
+
* @param {string} hexStr The hex string.
|
|
344
|
+
*
|
|
345
|
+
* @return {WordArray} The word array.
|
|
346
|
+
*
|
|
347
|
+
* @static
|
|
348
|
+
*
|
|
349
|
+
* @example
|
|
350
|
+
*
|
|
351
|
+
* var wordArray = CryptoJS.enc.Hex.parse(hexString);
|
|
352
|
+
*/
|
|
353
|
+
parse: function(s) {
|
|
354
|
+
for (var i = s.length, h = [], y = 0; y < i; y += 2)
|
|
355
|
+
h[y >>> 3] |= parseInt(s.substr(y, 2), 16) << 24 - y % 8 * 4;
|
|
356
|
+
return new f.init(h, i / 2);
|
|
357
|
+
}
|
|
358
|
+
}, u = c.Latin1 = {
|
|
359
|
+
/**
|
|
360
|
+
* Converts a word array to a Latin1 string.
|
|
361
|
+
*
|
|
362
|
+
* @param {WordArray} wordArray The word array.
|
|
363
|
+
*
|
|
364
|
+
* @return {string} The Latin1 string.
|
|
365
|
+
*
|
|
366
|
+
* @static
|
|
367
|
+
*
|
|
368
|
+
* @example
|
|
369
|
+
*
|
|
370
|
+
* var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
|
|
371
|
+
*/
|
|
372
|
+
stringify: function(s) {
|
|
373
|
+
for (var i = s.words, h = s.sigBytes, y = [], S = 0; S < h; S++) {
|
|
374
|
+
var C = i[S >>> 2] >>> 24 - S % 4 * 8 & 255;
|
|
375
|
+
y.push(String.fromCharCode(C));
|
|
376
|
+
}
|
|
377
|
+
return y.join("");
|
|
378
|
+
},
|
|
379
|
+
/**
|
|
380
|
+
* Converts a Latin1 string to a word array.
|
|
381
|
+
*
|
|
382
|
+
* @param {string} latin1Str The Latin1 string.
|
|
383
|
+
*
|
|
384
|
+
* @return {WordArray} The word array.
|
|
385
|
+
*
|
|
386
|
+
* @static
|
|
387
|
+
*
|
|
388
|
+
* @example
|
|
389
|
+
*
|
|
390
|
+
* var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
|
|
391
|
+
*/
|
|
392
|
+
parse: function(s) {
|
|
393
|
+
for (var i = s.length, h = [], y = 0; y < i; y++)
|
|
394
|
+
h[y >>> 2] |= (s.charCodeAt(y) & 255) << 24 - y % 4 * 8;
|
|
395
|
+
return new f.init(h, i);
|
|
396
|
+
}
|
|
397
|
+
}, n = c.Utf8 = {
|
|
398
|
+
/**
|
|
399
|
+
* Converts a word array to a UTF-8 string.
|
|
400
|
+
*
|
|
401
|
+
* @param {WordArray} wordArray The word array.
|
|
402
|
+
*
|
|
403
|
+
* @return {string} The UTF-8 string.
|
|
404
|
+
*
|
|
405
|
+
* @static
|
|
406
|
+
*
|
|
407
|
+
* @example
|
|
408
|
+
*
|
|
409
|
+
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
|
|
410
|
+
*/
|
|
411
|
+
stringify: function(s) {
|
|
412
|
+
try {
|
|
413
|
+
return decodeURIComponent(escape(u.stringify(s)));
|
|
414
|
+
} catch {
|
|
415
|
+
throw new Error("Malformed UTF-8 data");
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
/**
|
|
419
|
+
* Converts a UTF-8 string to a word array.
|
|
420
|
+
*
|
|
421
|
+
* @param {string} utf8Str The UTF-8 string.
|
|
422
|
+
*
|
|
423
|
+
* @return {WordArray} The word array.
|
|
424
|
+
*
|
|
425
|
+
* @static
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
*
|
|
429
|
+
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
|
|
430
|
+
*/
|
|
431
|
+
parse: function(s) {
|
|
432
|
+
return u.parse(unescape(encodeURIComponent(s)));
|
|
433
|
+
}
|
|
434
|
+
}, d = v.BufferedBlockAlgorithm = g.extend({
|
|
435
|
+
/**
|
|
436
|
+
* Resets this block algorithm's data buffer to its initial state.
|
|
437
|
+
*
|
|
438
|
+
* @example
|
|
439
|
+
*
|
|
440
|
+
* bufferedBlockAlgorithm.reset();
|
|
441
|
+
*/
|
|
442
|
+
reset: function() {
|
|
443
|
+
this._data = new f.init(), this._nDataBytes = 0;
|
|
444
|
+
},
|
|
445
|
+
/**
|
|
446
|
+
* Adds new data to this block algorithm's buffer.
|
|
447
|
+
*
|
|
448
|
+
* @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
|
|
449
|
+
*
|
|
450
|
+
* @example
|
|
451
|
+
*
|
|
452
|
+
* bufferedBlockAlgorithm._append('data');
|
|
453
|
+
* bufferedBlockAlgorithm._append(wordArray);
|
|
454
|
+
*/
|
|
455
|
+
_append: function(s) {
|
|
456
|
+
typeof s == "string" && (s = n.parse(s)), this._data.concat(s), this._nDataBytes += s.sigBytes;
|
|
457
|
+
},
|
|
458
|
+
/**
|
|
459
|
+
* Processes available data blocks.
|
|
460
|
+
*
|
|
461
|
+
* This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
|
|
462
|
+
*
|
|
463
|
+
* @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
|
|
464
|
+
*
|
|
465
|
+
* @return {WordArray} The processed data.
|
|
466
|
+
*
|
|
467
|
+
* @example
|
|
468
|
+
*
|
|
469
|
+
* var processedData = bufferedBlockAlgorithm._process();
|
|
470
|
+
* var processedData = bufferedBlockAlgorithm._process(!!'flush');
|
|
471
|
+
*/
|
|
472
|
+
_process: function(s) {
|
|
473
|
+
var i, h = this._data, y = h.words, S = h.sigBytes, C = this.blockSize, b = C * 4, _ = S / b;
|
|
474
|
+
s ? _ = o.ceil(_) : _ = o.max((_ | 0) - this._minBufferSize, 0);
|
|
475
|
+
var D = _ * C, O = o.min(D * 4, S);
|
|
476
|
+
if (D) {
|
|
477
|
+
for (var R = 0; R < D; R += C)
|
|
478
|
+
this._doProcessBlock(y, R);
|
|
479
|
+
i = y.splice(0, D), h.sigBytes -= O;
|
|
480
|
+
}
|
|
481
|
+
return new f.init(i, O);
|
|
482
|
+
},
|
|
483
|
+
/**
|
|
484
|
+
* Creates a copy of this object.
|
|
485
|
+
*
|
|
486
|
+
* @return {Object} The clone.
|
|
487
|
+
*
|
|
488
|
+
* @example
|
|
489
|
+
*
|
|
490
|
+
* var clone = bufferedBlockAlgorithm.clone();
|
|
491
|
+
*/
|
|
492
|
+
clone: function() {
|
|
493
|
+
var s = g.clone.call(this);
|
|
494
|
+
return s._data = this._data.clone(), s;
|
|
495
|
+
},
|
|
496
|
+
_minBufferSize: 0
|
|
497
|
+
});
|
|
498
|
+
v.Hasher = d.extend({
|
|
499
|
+
/**
|
|
500
|
+
* Configuration options.
|
|
501
|
+
*/
|
|
502
|
+
cfg: g.extend(),
|
|
503
|
+
/**
|
|
504
|
+
* Initializes a newly created hasher.
|
|
505
|
+
*
|
|
506
|
+
* @param {Object} cfg (Optional) The configuration options to use for this hash computation.
|
|
507
|
+
*
|
|
508
|
+
* @example
|
|
509
|
+
*
|
|
510
|
+
* var hasher = CryptoJS.algo.SHA256.create();
|
|
511
|
+
*/
|
|
512
|
+
init: function(s) {
|
|
513
|
+
this.cfg = this.cfg.extend(s), this.reset();
|
|
514
|
+
},
|
|
515
|
+
/**
|
|
516
|
+
* Resets this hasher to its initial state.
|
|
517
|
+
*
|
|
518
|
+
* @example
|
|
519
|
+
*
|
|
520
|
+
* hasher.reset();
|
|
521
|
+
*/
|
|
522
|
+
reset: function() {
|
|
523
|
+
d.reset.call(this), this._doReset();
|
|
524
|
+
},
|
|
525
|
+
/**
|
|
526
|
+
* Updates this hasher with a message.
|
|
527
|
+
*
|
|
528
|
+
* @param {WordArray|string} messageUpdate The message to append.
|
|
529
|
+
*
|
|
530
|
+
* @return {Hasher} This hasher.
|
|
531
|
+
*
|
|
532
|
+
* @example
|
|
533
|
+
*
|
|
534
|
+
* hasher.update('message');
|
|
535
|
+
* hasher.update(wordArray);
|
|
536
|
+
*/
|
|
537
|
+
update: function(s) {
|
|
538
|
+
return this._append(s), this._process(), this;
|
|
539
|
+
},
|
|
540
|
+
/**
|
|
541
|
+
* Finalizes the hash computation.
|
|
542
|
+
* Note that the finalize operation is effectively a destructive, read-once operation.
|
|
543
|
+
*
|
|
544
|
+
* @param {WordArray|string} messageUpdate (Optional) A final message update.
|
|
545
|
+
*
|
|
546
|
+
* @return {WordArray} The hash.
|
|
547
|
+
*
|
|
548
|
+
* @example
|
|
549
|
+
*
|
|
550
|
+
* var hash = hasher.finalize();
|
|
551
|
+
* var hash = hasher.finalize('message');
|
|
552
|
+
* var hash = hasher.finalize(wordArray);
|
|
553
|
+
*/
|
|
554
|
+
finalize: function(s) {
|
|
555
|
+
s && this._append(s);
|
|
556
|
+
var i = this._doFinalize();
|
|
557
|
+
return i;
|
|
558
|
+
},
|
|
559
|
+
blockSize: 16,
|
|
560
|
+
/**
|
|
561
|
+
* Creates a shortcut function to a hasher's object interface.
|
|
562
|
+
*
|
|
563
|
+
* @param {Hasher} hasher The hasher to create a helper for.
|
|
564
|
+
*
|
|
565
|
+
* @return {Function} The shortcut function.
|
|
566
|
+
*
|
|
567
|
+
* @static
|
|
568
|
+
*
|
|
569
|
+
* @example
|
|
570
|
+
*
|
|
571
|
+
* var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
|
|
572
|
+
*/
|
|
573
|
+
_createHelper: function(s) {
|
|
574
|
+
return function(i, h) {
|
|
575
|
+
return new s.init(h).finalize(i);
|
|
576
|
+
};
|
|
577
|
+
},
|
|
578
|
+
/**
|
|
579
|
+
* Creates a shortcut function to the HMAC's object interface.
|
|
580
|
+
*
|
|
581
|
+
* @param {Hasher} hasher The hasher to use in this HMAC helper.
|
|
582
|
+
*
|
|
583
|
+
* @return {Function} The shortcut function.
|
|
584
|
+
*
|
|
585
|
+
* @static
|
|
586
|
+
*
|
|
587
|
+
* @example
|
|
588
|
+
*
|
|
589
|
+
* var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
|
|
590
|
+
*/
|
|
591
|
+
_createHmacHelper: function(s) {
|
|
592
|
+
return function(i, h) {
|
|
593
|
+
return new w.HMAC.init(s, h).finalize(i);
|
|
594
|
+
};
|
|
595
|
+
}
|
|
596
|
+
});
|
|
597
|
+
var w = p.algo = {};
|
|
598
|
+
return p;
|
|
599
|
+
})(Math);
|
|
600
|
+
return r;
|
|
601
|
+
});
|
|
602
|
+
})(K)), K.exports;
|
|
603
|
+
}
|
|
604
|
+
var St = q.exports, me;
|
|
605
|
+
function Ct() {
|
|
606
|
+
return me || (me = 1, (function(e, t) {
|
|
607
|
+
(function(r, o) {
|
|
608
|
+
e.exports = o(/* @__PURE__ */ Oe());
|
|
609
|
+
})(St, function(r) {
|
|
610
|
+
return (function(o) {
|
|
611
|
+
var l = r, m = l.lib, x = m.WordArray, M = m.Hasher, p = l.algo, v = [], g = [];
|
|
612
|
+
(function() {
|
|
613
|
+
function a(w) {
|
|
614
|
+
for (var s = o.sqrt(w), i = 2; i <= s; i++)
|
|
615
|
+
if (!(w % i))
|
|
616
|
+
return !1;
|
|
617
|
+
return !0;
|
|
618
|
+
}
|
|
619
|
+
function u(w) {
|
|
620
|
+
return (w - (w | 0)) * 4294967296 | 0;
|
|
621
|
+
}
|
|
622
|
+
for (var n = 2, d = 0; d < 64; )
|
|
623
|
+
a(n) && (d < 8 && (v[d] = u(o.pow(n, 1 / 2))), g[d] = u(o.pow(n, 1 / 3)), d++), n++;
|
|
624
|
+
})();
|
|
625
|
+
var f = [], c = p.SHA256 = M.extend({
|
|
626
|
+
_doReset: function() {
|
|
627
|
+
this._hash = new x.init(v.slice(0));
|
|
628
|
+
},
|
|
629
|
+
_doProcessBlock: function(a, u) {
|
|
630
|
+
for (var n = this._hash.words, d = n[0], w = n[1], s = n[2], i = n[3], h = n[4], y = n[5], S = n[6], C = n[7], b = 0; b < 64; b++) {
|
|
631
|
+
if (b < 16)
|
|
632
|
+
f[b] = a[u + b] | 0;
|
|
633
|
+
else {
|
|
634
|
+
var _ = f[b - 15], D = (_ << 25 | _ >>> 7) ^ (_ << 14 | _ >>> 18) ^ _ >>> 3, O = f[b - 2], R = (O << 15 | O >>> 17) ^ (O << 13 | O >>> 19) ^ O >>> 10;
|
|
635
|
+
f[b] = D + f[b - 7] + R + f[b - 16];
|
|
636
|
+
}
|
|
637
|
+
var Ke = h & y ^ ~h & S, Ge = d & w ^ d & s ^ w & s, Je = (d << 30 | d >>> 2) ^ (d << 19 | d >>> 13) ^ (d << 10 | d >>> 22), Ze = (h << 26 | h >>> 6) ^ (h << 21 | h >>> 11) ^ (h << 7 | h >>> 25), fe = C + Ze + Ke + g[b] + f[b], Xe = Je + Ge;
|
|
638
|
+
C = S, S = y, y = h, h = i + fe | 0, i = s, s = w, w = d, d = fe + Xe | 0;
|
|
639
|
+
}
|
|
640
|
+
n[0] = n[0] + d | 0, n[1] = n[1] + w | 0, n[2] = n[2] + s | 0, n[3] = n[3] + i | 0, n[4] = n[4] + h | 0, n[5] = n[5] + y | 0, n[6] = n[6] + S | 0, n[7] = n[7] + C | 0;
|
|
641
|
+
},
|
|
642
|
+
_doFinalize: function() {
|
|
643
|
+
var a = this._data, u = a.words, n = this._nDataBytes * 8, d = a.sigBytes * 8;
|
|
644
|
+
return u[d >>> 5] |= 128 << 24 - d % 32, u[(d + 64 >>> 9 << 4) + 14] = o.floor(n / 4294967296), u[(d + 64 >>> 9 << 4) + 15] = n, a.sigBytes = u.length * 4, this._process(), this._hash;
|
|
645
|
+
},
|
|
646
|
+
clone: function() {
|
|
647
|
+
var a = M.clone.call(this);
|
|
648
|
+
return a._hash = this._hash.clone(), a;
|
|
649
|
+
}
|
|
650
|
+
});
|
|
651
|
+
l.SHA256 = M._createHelper(c), l.HmacSHA256 = M._createHmacHelper(c);
|
|
652
|
+
})(Math), r.SHA256;
|
|
653
|
+
});
|
|
654
|
+
})(q)), q.exports;
|
|
655
|
+
}
|
|
656
|
+
var Mt = /* @__PURE__ */ Ct();
|
|
657
|
+
const bt = /* @__PURE__ */ V(Mt);
|
|
658
|
+
var G = { exports: {} }, _t = G.exports, pe;
|
|
659
|
+
function $t() {
|
|
660
|
+
return pe || (pe = 1, (function(e, t) {
|
|
661
|
+
(function(r, o) {
|
|
662
|
+
e.exports = o(/* @__PURE__ */ Oe());
|
|
663
|
+
})(_t, function(r) {
|
|
664
|
+
return (function() {
|
|
665
|
+
var o = r, l = o.lib, m = l.WordArray, x = o.enc;
|
|
666
|
+
x.Base64 = {
|
|
667
|
+
/**
|
|
668
|
+
* Converts a word array to a Base64 string.
|
|
669
|
+
*
|
|
670
|
+
* @param {WordArray} wordArray The word array.
|
|
671
|
+
*
|
|
672
|
+
* @return {string} The Base64 string.
|
|
673
|
+
*
|
|
674
|
+
* @static
|
|
675
|
+
*
|
|
676
|
+
* @example
|
|
677
|
+
*
|
|
678
|
+
* var base64String = CryptoJS.enc.Base64.stringify(wordArray);
|
|
679
|
+
*/
|
|
680
|
+
stringify: function(p) {
|
|
681
|
+
var v = p.words, g = p.sigBytes, f = this._map;
|
|
682
|
+
p.clamp();
|
|
683
|
+
for (var c = [], a = 0; a < g; a += 3)
|
|
684
|
+
for (var u = v[a >>> 2] >>> 24 - a % 4 * 8 & 255, n = v[a + 1 >>> 2] >>> 24 - (a + 1) % 4 * 8 & 255, d = v[a + 2 >>> 2] >>> 24 - (a + 2) % 4 * 8 & 255, w = u << 16 | n << 8 | d, s = 0; s < 4 && a + s * 0.75 < g; s++)
|
|
685
|
+
c.push(f.charAt(w >>> 6 * (3 - s) & 63));
|
|
686
|
+
var i = f.charAt(64);
|
|
687
|
+
if (i)
|
|
688
|
+
for (; c.length % 4; )
|
|
689
|
+
c.push(i);
|
|
690
|
+
return c.join("");
|
|
691
|
+
},
|
|
692
|
+
/**
|
|
693
|
+
* Converts a Base64 string to a word array.
|
|
694
|
+
*
|
|
695
|
+
* @param {string} base64Str The Base64 string.
|
|
696
|
+
*
|
|
697
|
+
* @return {WordArray} The word array.
|
|
698
|
+
*
|
|
699
|
+
* @static
|
|
700
|
+
*
|
|
701
|
+
* @example
|
|
702
|
+
*
|
|
703
|
+
* var wordArray = CryptoJS.enc.Base64.parse(base64String);
|
|
704
|
+
*/
|
|
705
|
+
parse: function(p) {
|
|
706
|
+
var v = p.length, g = this._map, f = this._reverseMap;
|
|
707
|
+
if (!f) {
|
|
708
|
+
f = this._reverseMap = [];
|
|
709
|
+
for (var c = 0; c < g.length; c++)
|
|
710
|
+
f[g.charCodeAt(c)] = c;
|
|
711
|
+
}
|
|
712
|
+
var a = g.charAt(64);
|
|
713
|
+
if (a) {
|
|
714
|
+
var u = p.indexOf(a);
|
|
715
|
+
u !== -1 && (v = u);
|
|
716
|
+
}
|
|
717
|
+
return M(p, v, f);
|
|
718
|
+
},
|
|
719
|
+
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
|
720
|
+
};
|
|
721
|
+
function M(p, v, g) {
|
|
722
|
+
for (var f = [], c = 0, a = 0; a < v; a++)
|
|
723
|
+
if (a % 4) {
|
|
724
|
+
var u = g[p.charCodeAt(a - 1)] << a % 4 * 2, n = g[p.charCodeAt(a)] >>> 6 - a % 4 * 2, d = u | n;
|
|
725
|
+
f[c >>> 2] |= d << 24 - c % 4 * 8, c++;
|
|
726
|
+
}
|
|
727
|
+
return m.create(f, c);
|
|
728
|
+
}
|
|
729
|
+
})(), r.enc.Base64;
|
|
730
|
+
});
|
|
731
|
+
})(G)), G.exports;
|
|
732
|
+
}
|
|
733
|
+
var Tt = /* @__PURE__ */ $t();
|
|
734
|
+
const Dt = /* @__PURE__ */ V(Tt);
|
|
735
|
+
var J = { exports: {} }, kt = J.exports, ge;
|
|
736
|
+
function Ot() {
|
|
737
|
+
return ge || (ge = 1, (function(e, t) {
|
|
97
738
|
(function(r, o) {
|
|
98
739
|
e.exports = o();
|
|
99
|
-
})(
|
|
100
|
-
return function(r, o,
|
|
740
|
+
})(kt, (function() {
|
|
741
|
+
return function(r, o, l) {
|
|
101
742
|
r = r || {};
|
|
102
|
-
var
|
|
103
|
-
function M(
|
|
104
|
-
return
|
|
743
|
+
var m = o.prototype, x = { future: "in %s", past: "%s ago", s: "a few seconds", m: "a minute", mm: "%d minutes", h: "an hour", hh: "%d hours", d: "a day", dd: "%d days", M: "a month", MM: "%d months", y: "a year", yy: "%d years" };
|
|
744
|
+
function M(v, g, f, c) {
|
|
745
|
+
return m.fromToBase(v, g, f, c);
|
|
105
746
|
}
|
|
106
|
-
|
|
107
|
-
for (var
|
|
108
|
-
var
|
|
109
|
-
|
|
110
|
-
var
|
|
111
|
-
if (
|
|
112
|
-
|
|
113
|
-
var
|
|
114
|
-
|
|
747
|
+
l.en.relativeTime = x, m.fromToBase = function(v, g, f, c, a) {
|
|
748
|
+
for (var u, n, d, w = f.$locale().relativeTime || x, s = r.thresholds || [{ l: "s", r: 44, d: "second" }, { l: "m", r: 89 }, { l: "mm", r: 44, d: "minute" }, { l: "h", r: 89 }, { l: "hh", r: 21, d: "hour" }, { l: "d", r: 35 }, { l: "dd", r: 25, d: "day" }, { l: "M", r: 45 }, { l: "MM", r: 10, d: "month" }, { l: "y", r: 17 }, { l: "yy", d: "year" }], i = s.length, h = 0; h < i; h += 1) {
|
|
749
|
+
var y = s[h];
|
|
750
|
+
y.d && (u = c ? l(v).diff(f, y.d, !0) : f.diff(v, y.d, !0));
|
|
751
|
+
var S = (r.rounding || Math.round)(Math.abs(u));
|
|
752
|
+
if (d = u > 0, S <= y.r || !y.r) {
|
|
753
|
+
S <= 1 && h > 0 && (y = s[h - 1]);
|
|
754
|
+
var C = w[y.l];
|
|
755
|
+
a && (S = a("" + S)), n = typeof C == "string" ? C.replace("%d", S) : C(S, g, y.l, d);
|
|
115
756
|
break;
|
|
116
757
|
}
|
|
117
758
|
}
|
|
118
|
-
if (
|
|
119
|
-
var
|
|
120
|
-
return typeof
|
|
121
|
-
},
|
|
122
|
-
return M(
|
|
123
|
-
},
|
|
124
|
-
return M(
|
|
759
|
+
if (g) return n;
|
|
760
|
+
var b = d ? w.future : w.past;
|
|
761
|
+
return typeof b == "function" ? b(n) : b.replace("%s", n);
|
|
762
|
+
}, m.to = function(v, g) {
|
|
763
|
+
return M(v, g, this, !0);
|
|
764
|
+
}, m.from = function(v, g) {
|
|
765
|
+
return M(v, g, this);
|
|
125
766
|
};
|
|
126
|
-
var
|
|
127
|
-
return
|
|
767
|
+
var p = function(v) {
|
|
768
|
+
return v.$u ? l.utc() : l();
|
|
128
769
|
};
|
|
129
|
-
|
|
130
|
-
return this.to(
|
|
131
|
-
},
|
|
132
|
-
return this.from(
|
|
770
|
+
m.toNow = function(v) {
|
|
771
|
+
return this.to(p(this), v);
|
|
772
|
+
}, m.fromNow = function(v) {
|
|
773
|
+
return this.from(p(this), v);
|
|
133
774
|
};
|
|
134
775
|
};
|
|
135
776
|
}));
|
|
136
|
-
})(
|
|
777
|
+
})(J)), J.exports;
|
|
137
778
|
}
|
|
138
|
-
var
|
|
139
|
-
const
|
|
140
|
-
var
|
|
141
|
-
function
|
|
142
|
-
return
|
|
779
|
+
var It = /* @__PURE__ */ Ot();
|
|
780
|
+
const Yt = /* @__PURE__ */ V(It);
|
|
781
|
+
var Z = { exports: {} }, Et = Z.exports, ye;
|
|
782
|
+
function Nt() {
|
|
783
|
+
return ye || (ye = 1, (function(e, t) {
|
|
143
784
|
(function(r, o) {
|
|
144
785
|
e.exports = o();
|
|
145
|
-
})(
|
|
786
|
+
})(Et, (function() {
|
|
146
787
|
var r = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, o = {};
|
|
147
|
-
return function(
|
|
148
|
-
var M,
|
|
149
|
-
|
|
150
|
-
var
|
|
151
|
-
|
|
152
|
-
var
|
|
153
|
-
return
|
|
154
|
-
})(
|
|
155
|
-
return
|
|
156
|
-
},
|
|
157
|
-
for (var
|
|
158
|
-
var
|
|
159
|
-
|
|
788
|
+
return function(l, m, x) {
|
|
789
|
+
var M, p = function(c, a, u) {
|
|
790
|
+
u === void 0 && (u = {});
|
|
791
|
+
var n = new Date(c), d = (function(w, s) {
|
|
792
|
+
s === void 0 && (s = {});
|
|
793
|
+
var i = s.timeZoneName || "short", h = w + "|" + i, y = o[h];
|
|
794
|
+
return y || (y = new Intl.DateTimeFormat("en-US", { hour12: !1, timeZone: w, year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: i }), o[h] = y), y;
|
|
795
|
+
})(a, u);
|
|
796
|
+
return d.formatToParts(n);
|
|
797
|
+
}, v = function(c, a) {
|
|
798
|
+
for (var u = p(c, a), n = [], d = 0; d < u.length; d += 1) {
|
|
799
|
+
var w = u[d], s = w.type, i = w.value, h = r[s];
|
|
800
|
+
h >= 0 && (n[h] = parseInt(i, 10));
|
|
160
801
|
}
|
|
161
|
-
var
|
|
162
|
-
return (
|
|
163
|
-
},
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
var
|
|
167
|
-
if (!Number(
|
|
168
|
-
else if (
|
|
169
|
-
var
|
|
170
|
-
|
|
802
|
+
var y = n[3], S = y === 24 ? 0 : y, C = n[0] + "-" + n[1] + "-" + n[2] + " " + S + ":" + n[4] + ":" + n[5] + ":000", b = +c;
|
|
803
|
+
return (x.utc(C).valueOf() - (b -= b % 1e3)) / 6e4;
|
|
804
|
+
}, g = m.prototype;
|
|
805
|
+
g.tz = function(c, a) {
|
|
806
|
+
c === void 0 && (c = M);
|
|
807
|
+
var u, n = this.utcOffset(), d = this.toDate(), w = d.toLocaleString("en-US", { timeZone: c }), s = Math.round((d - new Date(w)) / 1e3 / 60), i = 15 * -Math.round(d.getTimezoneOffset() / 15) - s;
|
|
808
|
+
if (!Number(i)) u = this.utcOffset(0, a);
|
|
809
|
+
else if (u = x(w, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(i, !0), a) {
|
|
810
|
+
var h = u.utcOffset();
|
|
811
|
+
u = u.add(n - h, "minute");
|
|
171
812
|
}
|
|
172
|
-
return
|
|
173
|
-
},
|
|
174
|
-
var
|
|
175
|
-
return
|
|
813
|
+
return u.$x.$timezone = c, u;
|
|
814
|
+
}, g.offsetName = function(c) {
|
|
815
|
+
var a = this.$x.$timezone || x.tz.guess(), u = p(this.valueOf(), a, { timeZoneName: c }).find((function(n) {
|
|
816
|
+
return n.type.toLowerCase() === "timezonename";
|
|
176
817
|
}));
|
|
177
|
-
return
|
|
818
|
+
return u && u.value;
|
|
178
819
|
};
|
|
179
|
-
var
|
|
180
|
-
|
|
181
|
-
if (!this.$x || !this.$x.$timezone) return
|
|
182
|
-
var
|
|
183
|
-
return
|
|
184
|
-
},
|
|
185
|
-
var
|
|
186
|
-
if (typeof
|
|
187
|
-
var
|
|
188
|
-
var
|
|
189
|
-
if (
|
|
190
|
-
var
|
|
191
|
-
return
|
|
192
|
-
})(
|
|
193
|
-
return
|
|
194
|
-
},
|
|
820
|
+
var f = g.startOf;
|
|
821
|
+
g.startOf = function(c, a) {
|
|
822
|
+
if (!this.$x || !this.$x.$timezone) return f.call(this, c, a);
|
|
823
|
+
var u = x(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
|
|
824
|
+
return f.call(u, c, a).tz(this.$x.$timezone, !0);
|
|
825
|
+
}, x.tz = function(c, a, u) {
|
|
826
|
+
var n = u && a, d = u || a || M, w = v(+x(), d);
|
|
827
|
+
if (typeof c != "string") return x(c).tz(d);
|
|
828
|
+
var s = (function(S, C, b) {
|
|
829
|
+
var _ = S - 60 * C * 1e3, D = v(_, b);
|
|
830
|
+
if (C === D) return [_, C];
|
|
831
|
+
var O = v(_ -= 60 * (D - C) * 1e3, b);
|
|
832
|
+
return D === O ? [_, D] : [S - 60 * Math.min(D, O) * 1e3, Math.max(D, O)];
|
|
833
|
+
})(x.utc(c, n).valueOf(), w, d), i = s[0], h = s[1], y = x(i).utcOffset(h);
|
|
834
|
+
return y.$x.$timezone = d, y;
|
|
835
|
+
}, x.tz.guess = function() {
|
|
195
836
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
196
|
-
},
|
|
197
|
-
M =
|
|
837
|
+
}, x.tz.setDefault = function(c) {
|
|
838
|
+
M = c;
|
|
198
839
|
};
|
|
199
840
|
};
|
|
200
841
|
}));
|
|
201
|
-
})(
|
|
842
|
+
})(Z)), Z.exports;
|
|
202
843
|
}
|
|
203
|
-
var
|
|
204
|
-
const
|
|
205
|
-
var
|
|
206
|
-
function
|
|
207
|
-
return
|
|
844
|
+
var Ut = /* @__PURE__ */ Nt();
|
|
845
|
+
const Bt = /* @__PURE__ */ V(Ut);
|
|
846
|
+
var X = { exports: {} }, At = X.exports, ve;
|
|
847
|
+
function Pt() {
|
|
848
|
+
return ve || (ve = 1, (function(e, t) {
|
|
208
849
|
(function(r, o) {
|
|
209
850
|
e.exports = o();
|
|
210
|
-
})(
|
|
211
|
-
var r = "minute", o = /[+-]\d\d(?::?\d\d)?/g,
|
|
212
|
-
return function(
|
|
213
|
-
var
|
|
214
|
-
M.utc = function(
|
|
215
|
-
var
|
|
216
|
-
return new
|
|
217
|
-
},
|
|
218
|
-
var
|
|
219
|
-
return
|
|
220
|
-
},
|
|
851
|
+
})(At, (function() {
|
|
852
|
+
var r = "minute", o = /[+-]\d\d(?::?\d\d)?/g, l = /([+-]|\d\d)/g;
|
|
853
|
+
return function(m, x, M) {
|
|
854
|
+
var p = x.prototype;
|
|
855
|
+
M.utc = function(n) {
|
|
856
|
+
var d = { date: n, utc: !0, args: arguments };
|
|
857
|
+
return new x(d);
|
|
858
|
+
}, p.utc = function(n) {
|
|
859
|
+
var d = M(this.toDate(), { locale: this.$L, utc: !0 });
|
|
860
|
+
return n ? d.add(this.utcOffset(), r) : d;
|
|
861
|
+
}, p.local = function() {
|
|
221
862
|
return M(this.toDate(), { locale: this.$L, utc: !1 });
|
|
222
863
|
};
|
|
223
|
-
var
|
|
224
|
-
|
|
225
|
-
|
|
864
|
+
var v = p.parse;
|
|
865
|
+
p.parse = function(n) {
|
|
866
|
+
n.utc && (this.$u = !0), this.$utils().u(n.$offset) || (this.$offset = n.$offset), v.call(this, n);
|
|
226
867
|
};
|
|
227
|
-
var
|
|
228
|
-
|
|
868
|
+
var g = p.init;
|
|
869
|
+
p.init = function() {
|
|
229
870
|
if (this.$u) {
|
|
230
|
-
var
|
|
231
|
-
this.$y =
|
|
232
|
-
} else
|
|
871
|
+
var n = this.$d;
|
|
872
|
+
this.$y = n.getUTCFullYear(), this.$M = n.getUTCMonth(), this.$D = n.getUTCDate(), this.$W = n.getUTCDay(), this.$H = n.getUTCHours(), this.$m = n.getUTCMinutes(), this.$s = n.getUTCSeconds(), this.$ms = n.getUTCMilliseconds();
|
|
873
|
+
} else g.call(this);
|
|
233
874
|
};
|
|
234
|
-
var
|
|
235
|
-
|
|
236
|
-
var
|
|
237
|
-
if (
|
|
238
|
-
if (typeof
|
|
239
|
-
|
|
240
|
-
var
|
|
241
|
-
if (
|
|
242
|
-
var
|
|
243
|
-
return
|
|
244
|
-
})(
|
|
245
|
-
var
|
|
246
|
-
if (
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
875
|
+
var f = p.utcOffset;
|
|
876
|
+
p.utcOffset = function(n, d) {
|
|
877
|
+
var w = this.$utils().u;
|
|
878
|
+
if (w(n)) return this.$u ? 0 : w(this.$offset) ? f.call(this) : this.$offset;
|
|
879
|
+
if (typeof n == "string" && (n = (function(y) {
|
|
880
|
+
y === void 0 && (y = "");
|
|
881
|
+
var S = y.match(o);
|
|
882
|
+
if (!S) return null;
|
|
883
|
+
var C = ("" + S[0]).match(l) || ["-", 0, 0], b = C[0], _ = 60 * +C[1] + +C[2];
|
|
884
|
+
return _ === 0 ? 0 : b === "+" ? _ : -_;
|
|
885
|
+
})(n), n === null)) return this;
|
|
886
|
+
var s = Math.abs(n) <= 16 ? 60 * n : n, i = this;
|
|
887
|
+
if (d) return i.$offset = s, i.$u = n === 0, i;
|
|
888
|
+
if (n !== 0) {
|
|
889
|
+
var h = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
|
|
890
|
+
(i = this.local().add(s + h, r)).$offset = s, i.$x.$localOffset = h;
|
|
891
|
+
} else i = this.utc();
|
|
892
|
+
return i;
|
|
251
893
|
};
|
|
252
|
-
var
|
|
253
|
-
|
|
254
|
-
var
|
|
255
|
-
return
|
|
256
|
-
},
|
|
257
|
-
var
|
|
258
|
-
return this.$d.valueOf() - 6e4 *
|
|
259
|
-
},
|
|
894
|
+
var c = p.format;
|
|
895
|
+
p.format = function(n) {
|
|
896
|
+
var d = n || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
|
|
897
|
+
return c.call(this, d);
|
|
898
|
+
}, p.valueOf = function() {
|
|
899
|
+
var n = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
|
|
900
|
+
return this.$d.valueOf() - 6e4 * n;
|
|
901
|
+
}, p.isUTC = function() {
|
|
260
902
|
return !!this.$u;
|
|
261
|
-
},
|
|
903
|
+
}, p.toISOString = function() {
|
|
262
904
|
return this.toDate().toISOString();
|
|
263
|
-
},
|
|
905
|
+
}, p.toString = function() {
|
|
264
906
|
return this.toDate().toUTCString();
|
|
265
907
|
};
|
|
266
|
-
var
|
|
267
|
-
|
|
268
|
-
return
|
|
908
|
+
var a = p.toDate;
|
|
909
|
+
p.toDate = function(n) {
|
|
910
|
+
return n === "s" && this.$offset ? M(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : a.call(this);
|
|
269
911
|
};
|
|
270
|
-
var
|
|
271
|
-
|
|
272
|
-
if (
|
|
273
|
-
var
|
|
274
|
-
return
|
|
912
|
+
var u = p.diff;
|
|
913
|
+
p.diff = function(n, d, w) {
|
|
914
|
+
if (n && this.$u === n.$u) return u.call(this, n, d, w);
|
|
915
|
+
var s = this.local(), i = M(n).local();
|
|
916
|
+
return u.call(s, i, d, w);
|
|
275
917
|
};
|
|
276
918
|
};
|
|
277
919
|
}));
|
|
278
|
-
})(
|
|
920
|
+
})(X)), X.exports;
|
|
279
921
|
}
|
|
280
|
-
var
|
|
281
|
-
const
|
|
922
|
+
var Ht = /* @__PURE__ */ Pt();
|
|
923
|
+
const Lt = /* @__PURE__ */ V(Ht), Rt = "ui_theme", Ft = (e) => typeof e == "string", zt = (e) => typeof e == "number" && !isNaN(e), jt = (e) => typeof e == "boolean", Vt = (e) => typeof e == "function", Wt = (e) => e !== null && typeof e == "object", qt = (e) => Array.isArray(e), Kt = (e) => e === null, Gt = (e) => e === void 0, Jt = (e) => e == null, Zt = (e, t) => {
|
|
282
924
|
let r = 0;
|
|
283
925
|
return (...o) => {
|
|
284
|
-
const
|
|
285
|
-
|
|
926
|
+
const l = Date.now();
|
|
927
|
+
l - r >= t && (r = l, e(...o));
|
|
286
928
|
};
|
|
287
|
-
},
|
|
929
|
+
}, Xt = (e, t) => {
|
|
288
930
|
let r;
|
|
289
931
|
return (...o) => {
|
|
290
932
|
clearTimeout(r), r = setTimeout(() => e(...o), t);
|
|
291
933
|
};
|
|
292
|
-
},
|
|
934
|
+
}, Qt = async (e) => {
|
|
293
935
|
try {
|
|
294
936
|
return await navigator.clipboard.writeText(e), !0;
|
|
295
937
|
} catch (t) {
|
|
296
938
|
return console.error("Error copying to clipboard:", t), !1;
|
|
297
939
|
}
|
|
298
|
-
},
|
|
940
|
+
}, te = () => {
|
|
299
941
|
const e = window.innerWidth;
|
|
300
942
|
return e < 768 ? "mobile" : e < 1024 ? "tablet" : "desktop";
|
|
301
|
-
},
|
|
302
|
-
if (!
|
|
943
|
+
}, er = () => te() === "mobile", tr = () => te() === "tablet", rr = () => te() === "desktop", or = () => "#" + Math.floor(Math.random() * 16777215).toString(16), re = (e) => !e || e.length === 0, nr = (e) => [...new Set(e)], sr = (e) => {
|
|
944
|
+
if (!re(e))
|
|
303
945
|
return Math.max(...e);
|
|
304
|
-
},
|
|
305
|
-
if (!
|
|
946
|
+
}, ar = (e) => {
|
|
947
|
+
if (!re(e))
|
|
306
948
|
return Math.min(...e);
|
|
307
|
-
},
|
|
308
|
-
if (!
|
|
949
|
+
}, ir = (e) => {
|
|
950
|
+
if (!re(e))
|
|
309
951
|
return e.reduce((t, r) => t + r, 0) / e.length;
|
|
310
|
-
},
|
|
952
|
+
}, cr = (e) => e.reduce((t, r) => t + r, 0), ur = (e, t) => e.filter(t).length, lr = (e) => [...e].reverse(), dr = (e) => {
|
|
311
953
|
const t = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
312
954
|
return e.forEach((o) => {
|
|
313
955
|
t.has(o) ? r.add(o) : t.add(o);
|
|
314
956
|
}), Array.from(r);
|
|
315
|
-
},
|
|
957
|
+
}, fr = (e, t) => Math.random() * (t - e) + e, hr = (e, t, r) => Math.min(Math.max(e, t), r), mr = (e, t = 0) => Math.round(e * Math.pow(10, t)) / Math.pow(10, t), pr = (e, t) => {
|
|
316
958
|
try {
|
|
317
959
|
sessionStorage.setItem(e, JSON.stringify(t));
|
|
318
960
|
} catch (r) {
|
|
319
961
|
console.error("Error saving to sessionStorage:", r);
|
|
320
962
|
}
|
|
321
|
-
},
|
|
963
|
+
}, gr = (e, t) => {
|
|
322
964
|
try {
|
|
323
965
|
const r = sessionStorage.getItem(e);
|
|
324
966
|
return r ? JSON.parse(r) : t || null;
|
|
325
967
|
} catch (r) {
|
|
326
968
|
return console.error("Error reading from sessionStorage:", r), t || null;
|
|
327
969
|
}
|
|
328
|
-
},
|
|
970
|
+
}, yr = (e) => {
|
|
329
971
|
try {
|
|
330
972
|
sessionStorage.removeItem(e);
|
|
331
973
|
} catch (t) {
|
|
332
974
|
console.error("Error removing from sessionStorage:", t);
|
|
333
975
|
}
|
|
334
|
-
},
|
|
976
|
+
}, vr = () => {
|
|
335
977
|
try {
|
|
336
978
|
sessionStorage.clear();
|
|
337
979
|
} catch (e) {
|
|
338
980
|
console.error("Error clearing sessionStorage:", e);
|
|
339
981
|
}
|
|
340
|
-
},
|
|
982
|
+
}, wr = (e, t, r = 30) => {
|
|
341
983
|
const o = /* @__PURE__ */ new Date();
|
|
342
984
|
o.setTime(o.getTime() + r * 24 * 60 * 60 * 1e3), document.cookie = `${e}=${t};expires=${o.toUTCString()};path=/`;
|
|
343
|
-
},
|
|
985
|
+
}, xr = (e) => {
|
|
344
986
|
const t = e + "=", r = document.cookie.split(";");
|
|
345
987
|
for (let o = 0; o < r.length; o++) {
|
|
346
|
-
let
|
|
347
|
-
for (;
|
|
348
|
-
if (
|
|
988
|
+
let l = r[o];
|
|
989
|
+
for (; l.charAt(0) === " "; ) l = l.substring(1, l.length);
|
|
990
|
+
if (l.indexOf(t) === 0) return l.substring(t.length, l.length);
|
|
349
991
|
}
|
|
350
992
|
return null;
|
|
351
|
-
},
|
|
993
|
+
}, Sr = (e) => {
|
|
352
994
|
document.cookie = `${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`;
|
|
353
|
-
},
|
|
995
|
+
}, Ie = (e) => typeof e != "string" ? !e : e.trim().length === 0, Cr = (e, t) => Ie(e) ? t : e || "", Mr = (e) => e.replace(/-([a-z])/g, (t) => t[1].toUpperCase()), br = (e) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e), _r = (e) => {
|
|
354
996
|
try {
|
|
355
997
|
return new URL(e), !0;
|
|
356
998
|
} catch {
|
|
357
999
|
return !1;
|
|
358
1000
|
}
|
|
359
|
-
},
|
|
1001
|
+
}, $r = (e, t, r = " ") => e.padStart(t, r), Tr = (e, t, r = " ") => e.padEnd(t, r), Ye = (e, t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") => {
|
|
360
1002
|
let r = "";
|
|
361
1003
|
for (let o = 0; o < e; o++)
|
|
362
1004
|
r += t.charAt(Math.floor(Math.random() * t.length));
|
|
363
1005
|
return r;
|
|
364
|
-
},
|
|
1006
|
+
}, Dr = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
|
365
1007
|
const t = Math.random() * 16 | 0;
|
|
366
1008
|
return (e === "x" ? t : t & 3 | 8).toString(16);
|
|
367
|
-
}),
|
|
368
|
-
const r =
|
|
369
|
-
return e >= 32 ? r +
|
|
1009
|
+
}), ie = (e = 32) => {
|
|
1010
|
+
const r = Dr().replace(/-/g, "");
|
|
1011
|
+
return e >= 32 ? r + Ye(e - 32, "0123456789abcdef") : r.substring(0, e);
|
|
370
1012
|
};
|
|
371
|
-
async function
|
|
372
|
-
|
|
373
|
-
import("../chunks/sha256-DQcqzuys.js").then((o) => o.s),
|
|
374
|
-
import("../chunks/enc-base64-CdWu8KMI.js").then((o) => o.e)
|
|
375
|
-
]);
|
|
376
|
-
return t(e).toString(r);
|
|
1013
|
+
async function kr(e) {
|
|
1014
|
+
return bt(e).toString(Dt);
|
|
377
1015
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
const
|
|
1016
|
+
$.extend(Yt);
|
|
1017
|
+
$.extend(Lt);
|
|
1018
|
+
$.extend(Bt);
|
|
1019
|
+
$.locale("ko");
|
|
1020
|
+
const E = "YYYYMMDD", Or = () => $(), Ee = (e = E) => $().format(e), Ir = (e) => $(e, E, !0).isValid(), Yr = (e) => $(e, "YYYY", !0).isValid(), Er = (e) => $(e, "YYYYMM", !0).isValid(), Nr = (e) => $(e, "YYYYMMDDHHmmss", !0).isValid(), Ur = (e, t = "CM") => {
|
|
383
1021
|
let r = "";
|
|
384
|
-
return t == "CM" ? r = "YYYYMMDD" : t == "C" ? r = "YYYY.MM.DD" : t == "H" ? r = "YYYY년 MM월 DD일" : t == "D" ? r = "YYYY-MM-DD" : t == "S" ? r = "YYYY/MM/DD" : t == "M" ? r = "YYYY-MM" : t == "YM" ? r = "YYYY년 MM월" : t == "DT" ? r = "YYYY-MM-DD HH:mm:ss" : t == "T" ? r = "HH:mm:ss" : t == "HM" && (r = "HH:mm"),
|
|
385
|
-
},
|
|
386
|
-
const t =
|
|
1022
|
+
return t == "CM" ? r = "YYYYMMDD" : t == "C" ? r = "YYYY.MM.DD" : t == "H" ? r = "YYYY년 MM월 DD일" : t == "D" ? r = "YYYY-MM-DD" : t == "S" ? r = "YYYY/MM/DD" : t == "M" ? r = "YYYY-MM" : t == "YM" ? r = "YYYY년 MM월" : t == "DT" ? r = "YYYY-MM-DD HH:mm:ss" : t == "T" ? r = "HH:mm:ss" : t == "HM" && (r = "HH:mm"), $(e).format(r);
|
|
1023
|
+
}, Br = (e, t = "month") => $(e).endOf(t).format(E), Ar = (e, t = "month") => $(e).startOf(t).format(E), Pr = (e, t) => $(e).add(t, "month").format(E), Hr = (e, t) => $(e).add(t, "day").format(E), Lr = (e, t) => $(e).diff(t, "day"), Rr = (e = E) => {
|
|
1024
|
+
const t = $(e), r = $();
|
|
387
1025
|
let o = r.year() - t.year();
|
|
388
1026
|
return (r.month() < t.month() || r.month() === t.month() && r.date() < t.date()) && o--, o;
|
|
389
|
-
},
|
|
1027
|
+
}, Ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
390
1028
|
__proto__: null,
|
|
391
|
-
COMMON_DATE_FORMAT:
|
|
392
|
-
THEME_COOKIE_NAME:
|
|
393
|
-
addDays:
|
|
394
|
-
addMonths:
|
|
395
|
-
arrAverage:
|
|
396
|
-
arrCount:
|
|
397
|
-
arrMax:
|
|
398
|
-
arrMin:
|
|
399
|
-
arrReverse:
|
|
400
|
-
arrSum:
|
|
401
|
-
arrUnique:
|
|
402
|
-
clamp:
|
|
403
|
-
clearSessionStorage:
|
|
404
|
-
copyToClipboard:
|
|
405
|
-
datetimeFormat:
|
|
406
|
-
debounce:
|
|
407
|
-
deleteCookie:
|
|
408
|
-
diffDays:
|
|
409
|
-
duplicates:
|
|
410
|
-
encryptSha256:
|
|
411
|
-
generateRandomColor:
|
|
412
|
-
generateRandomString:
|
|
413
|
-
generateUID:
|
|
414
|
-
getAge:
|
|
415
|
-
getCookie:
|
|
416
|
-
getCurrentDate:
|
|
417
|
-
getCurrentDateString:
|
|
418
|
-
getDeviceType:
|
|
419
|
-
getLastDateByDiv:
|
|
420
|
-
getSessionStorage:
|
|
421
|
-
getStartDateByDiv:
|
|
422
|
-
isArray:
|
|
423
|
-
isBoolean:
|
|
424
|
-
isDesktop:
|
|
425
|
-
isEmpty:
|
|
426
|
-
isEmptyArray:
|
|
427
|
-
isFunction:
|
|
428
|
-
isMobile:
|
|
429
|
-
isNull:
|
|
430
|
-
isNullOrUndefined:
|
|
431
|
-
isNumber:
|
|
432
|
-
isObject:
|
|
433
|
-
isSafeEmpty:
|
|
434
|
-
isString:
|
|
435
|
-
isTablet:
|
|
436
|
-
isUndefined:
|
|
437
|
-
isValidDate:
|
|
438
|
-
isValidDateTime:
|
|
439
|
-
isValidEmail:
|
|
440
|
-
isValidUrl:
|
|
441
|
-
isValidYear:
|
|
442
|
-
isValidYearMonth:
|
|
443
|
-
padLeft:
|
|
444
|
-
padRight:
|
|
445
|
-
random:
|
|
446
|
-
removeSessionStorage:
|
|
447
|
-
round:
|
|
448
|
-
setCookie:
|
|
449
|
-
setSessionStorage:
|
|
450
|
-
throttle:
|
|
451
|
-
toCamelCase:
|
|
452
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1029
|
+
COMMON_DATE_FORMAT: E,
|
|
1030
|
+
THEME_COOKIE_NAME: Rt,
|
|
1031
|
+
addDays: Hr,
|
|
1032
|
+
addMonths: Pr,
|
|
1033
|
+
arrAverage: ir,
|
|
1034
|
+
arrCount: ur,
|
|
1035
|
+
arrMax: sr,
|
|
1036
|
+
arrMin: ar,
|
|
1037
|
+
arrReverse: lr,
|
|
1038
|
+
arrSum: cr,
|
|
1039
|
+
arrUnique: nr,
|
|
1040
|
+
clamp: hr,
|
|
1041
|
+
clearSessionStorage: vr,
|
|
1042
|
+
copyToClipboard: Qt,
|
|
1043
|
+
datetimeFormat: Ur,
|
|
1044
|
+
debounce: Xt,
|
|
1045
|
+
deleteCookie: Sr,
|
|
1046
|
+
diffDays: Lr,
|
|
1047
|
+
duplicates: dr,
|
|
1048
|
+
encryptSha256: kr,
|
|
1049
|
+
generateRandomColor: or,
|
|
1050
|
+
generateRandomString: Ye,
|
|
1051
|
+
generateUID: ie,
|
|
1052
|
+
getAge: Rr,
|
|
1053
|
+
getCookie: xr,
|
|
1054
|
+
getCurrentDate: Or,
|
|
1055
|
+
getCurrentDateString: Ee,
|
|
1056
|
+
getDeviceType: te,
|
|
1057
|
+
getLastDateByDiv: Br,
|
|
1058
|
+
getSessionStorage: gr,
|
|
1059
|
+
getStartDateByDiv: Ar,
|
|
1060
|
+
isArray: qt,
|
|
1061
|
+
isBoolean: jt,
|
|
1062
|
+
isDesktop: rr,
|
|
1063
|
+
isEmpty: Ie,
|
|
1064
|
+
isEmptyArray: re,
|
|
1065
|
+
isFunction: Vt,
|
|
1066
|
+
isMobile: er,
|
|
1067
|
+
isNull: Kt,
|
|
1068
|
+
isNullOrUndefined: Jt,
|
|
1069
|
+
isNumber: zt,
|
|
1070
|
+
isObject: Wt,
|
|
1071
|
+
isSafeEmpty: Cr,
|
|
1072
|
+
isString: Ft,
|
|
1073
|
+
isTablet: tr,
|
|
1074
|
+
isUndefined: Gt,
|
|
1075
|
+
isValidDate: Ir,
|
|
1076
|
+
isValidDateTime: Nr,
|
|
1077
|
+
isValidEmail: br,
|
|
1078
|
+
isValidUrl: _r,
|
|
1079
|
+
isValidYear: Yr,
|
|
1080
|
+
isValidYearMonth: Er,
|
|
1081
|
+
padLeft: $r,
|
|
1082
|
+
padRight: Tr,
|
|
1083
|
+
random: fr,
|
|
1084
|
+
removeSessionStorage: yr,
|
|
1085
|
+
round: mr,
|
|
1086
|
+
setCookie: wr,
|
|
1087
|
+
setSessionStorage: pr,
|
|
1088
|
+
throttle: Zt,
|
|
1089
|
+
toCamelCase: Mr
|
|
1090
|
+
}, Symbol.toStringTag, { value: "Module" })), z = (() => {
|
|
453
1091
|
try {
|
|
454
1092
|
if (import.meta.env.DEV)
|
|
455
1093
|
return !0;
|
|
@@ -457,41 +1095,41 @@ const I = "YYYYMMDD", tr = () => C(), xe = (e = I) => C().format(e), rr = (e) =>
|
|
|
457
1095
|
}
|
|
458
1096
|
return !1;
|
|
459
1097
|
})();
|
|
460
|
-
let
|
|
461
|
-
function
|
|
462
|
-
e.devHosts && (
|
|
1098
|
+
let Ue = [], Be = [];
|
|
1099
|
+
function Fr(e) {
|
|
1100
|
+
e.devHosts && (Ue = e.devHosts), e.prodHosts && (Be = e.prodHosts);
|
|
463
1101
|
}
|
|
464
|
-
function
|
|
1102
|
+
function Ae() {
|
|
465
1103
|
if (typeof window < "u" && window.location)
|
|
466
1104
|
return window.location.hostname;
|
|
467
1105
|
}
|
|
468
|
-
const
|
|
469
|
-
const e =
|
|
470
|
-
return !!(e &&
|
|
471
|
-
})(),
|
|
472
|
-
const e =
|
|
473
|
-
return !!(e &&
|
|
1106
|
+
const Pe = (() => {
|
|
1107
|
+
const e = Ae();
|
|
1108
|
+
return !!(e && Ue.includes(e));
|
|
1109
|
+
})(), He = (() => {
|
|
1110
|
+
const e = Ae();
|
|
1111
|
+
return !!(e && Be.includes(e));
|
|
474
1112
|
})();
|
|
475
|
-
function
|
|
476
|
-
return
|
|
1113
|
+
function zr() {
|
|
1114
|
+
return z ? "X" : Pe ? "D" : He ? "P" : "X";
|
|
477
1115
|
}
|
|
478
|
-
const
|
|
1116
|
+
const Le = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
479
1117
|
__proto__: null,
|
|
480
|
-
configureEnvUtils:
|
|
481
|
-
getEnvCode:
|
|
482
|
-
isDev:
|
|
483
|
-
isLocal:
|
|
484
|
-
isProd:
|
|
485
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1118
|
+
configureEnvUtils: Fr,
|
|
1119
|
+
getEnvCode: zr,
|
|
1120
|
+
isDev: Pe,
|
|
1121
|
+
isLocal: z,
|
|
1122
|
+
isProd: He
|
|
1123
|
+
}, Symbol.toStringTag, { value: "Module" })), I = {
|
|
486
1124
|
duration: 4.5,
|
|
487
1125
|
// 4.5초
|
|
488
1126
|
placement: "topRight"
|
|
489
1127
|
};
|
|
490
|
-
class
|
|
1128
|
+
class P {
|
|
491
1129
|
constructor() {
|
|
492
1130
|
}
|
|
493
1131
|
static getInstance() {
|
|
494
|
-
return
|
|
1132
|
+
return P.instance || (P.instance = new P()), P.instance;
|
|
495
1133
|
}
|
|
496
1134
|
/**
|
|
497
1135
|
* BwgError 전용 에러 알림
|
|
@@ -501,14 +1139,14 @@ class A {
|
|
|
501
1139
|
const {
|
|
502
1140
|
message: r,
|
|
503
1141
|
description: o,
|
|
504
|
-
duration:
|
|
505
|
-
placement:
|
|
1142
|
+
duration: l = I.duration,
|
|
1143
|
+
placement: m = I.placement
|
|
506
1144
|
} = t;
|
|
507
|
-
|
|
1145
|
+
B.error({
|
|
508
1146
|
message: `${r}`,
|
|
509
1147
|
description: o || "오류가 발생했습니다. 다시 시도해주세요.",
|
|
510
|
-
duration:
|
|
511
|
-
placement:
|
|
1148
|
+
duration: l,
|
|
1149
|
+
placement: m,
|
|
512
1150
|
style: {
|
|
513
1151
|
borderLeft: "4px solid #ff4d4f",
|
|
514
1152
|
backgroundColor: "#fff2f0"
|
|
@@ -519,103 +1157,103 @@ class A {
|
|
|
519
1157
|
* 성공 알림
|
|
520
1158
|
*/
|
|
521
1159
|
showSuccess(t, r, o) {
|
|
522
|
-
|
|
1160
|
+
B.success({
|
|
523
1161
|
message: `${t}`,
|
|
524
1162
|
description: r,
|
|
525
|
-
duration: o ||
|
|
526
|
-
placement:
|
|
1163
|
+
duration: o || I.duration,
|
|
1164
|
+
placement: I.placement
|
|
527
1165
|
});
|
|
528
1166
|
}
|
|
529
1167
|
/**
|
|
530
1168
|
* 정보 알림
|
|
531
1169
|
*/
|
|
532
1170
|
showInfo(t, r, o) {
|
|
533
|
-
|
|
1171
|
+
B.info({
|
|
534
1172
|
message: `${t}`,
|
|
535
1173
|
description: r,
|
|
536
|
-
duration: o ||
|
|
537
|
-
placement:
|
|
1174
|
+
duration: o || I.duration,
|
|
1175
|
+
placement: I.placement
|
|
538
1176
|
});
|
|
539
1177
|
}
|
|
540
1178
|
/**
|
|
541
1179
|
* 경고 알림
|
|
542
1180
|
*/
|
|
543
1181
|
showWarning(t, r, o) {
|
|
544
|
-
|
|
1182
|
+
B.warning({
|
|
545
1183
|
message: `${t}`,
|
|
546
1184
|
description: r,
|
|
547
|
-
duration: o ||
|
|
548
|
-
placement:
|
|
1185
|
+
duration: o || I.duration,
|
|
1186
|
+
placement: I.placement
|
|
549
1187
|
});
|
|
550
1188
|
}
|
|
551
1189
|
/**
|
|
552
1190
|
* 일반 에러 알림
|
|
553
1191
|
*/
|
|
554
1192
|
showError(t, r, o) {
|
|
555
|
-
|
|
1193
|
+
B.error({
|
|
556
1194
|
message: `${t}`,
|
|
557
1195
|
description: r,
|
|
558
|
-
duration: o ||
|
|
559
|
-
placement:
|
|
1196
|
+
duration: o || I.duration,
|
|
1197
|
+
placement: I.placement
|
|
560
1198
|
});
|
|
561
1199
|
}
|
|
562
1200
|
/**
|
|
563
1201
|
* 모든 알림 닫기
|
|
564
1202
|
*/
|
|
565
1203
|
destroy() {
|
|
566
|
-
|
|
1204
|
+
B.destroy();
|
|
567
1205
|
}
|
|
568
1206
|
/**
|
|
569
1207
|
* 특정 키의 알림 닫기
|
|
570
1208
|
*/
|
|
571
1209
|
close(t) {
|
|
572
|
-
|
|
1210
|
+
B.destroy();
|
|
573
1211
|
}
|
|
574
1212
|
}
|
|
575
|
-
const N =
|
|
1213
|
+
const N = P.getInstance(), ce = (e) => {
|
|
576
1214
|
N.showBwgError(e);
|
|
577
|
-
},
|
|
1215
|
+
}, jr = (e, t, r) => {
|
|
578
1216
|
N.showSuccess(e, t, r);
|
|
579
|
-
},
|
|
1217
|
+
}, ue = (e, t, r) => {
|
|
580
1218
|
N.showInfo(e, t, r);
|
|
581
|
-
},
|
|
1219
|
+
}, le = (e, t, r) => {
|
|
582
1220
|
N.showWarning(e, t, r);
|
|
583
|
-
},
|
|
1221
|
+
}, Vr = (e, t, r) => {
|
|
584
1222
|
N.showError(e, t, r);
|
|
585
|
-
},
|
|
1223
|
+
}, Wr = () => {
|
|
586
1224
|
N.destroy();
|
|
587
|
-
},
|
|
1225
|
+
}, qr = (e) => {
|
|
588
1226
|
N.close(e);
|
|
589
|
-
},
|
|
1227
|
+
}, Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
590
1228
|
__proto__: null,
|
|
591
|
-
closeNotification:
|
|
592
|
-
destroyNotifications:
|
|
593
|
-
notiBwgError:
|
|
594
|
-
notiError:
|
|
595
|
-
notiInfo:
|
|
596
|
-
notiSuccess:
|
|
597
|
-
notiWarning:
|
|
1229
|
+
closeNotification: qr,
|
|
1230
|
+
destroyNotifications: Wr,
|
|
1231
|
+
notiBwgError: ce,
|
|
1232
|
+
notiError: Vr,
|
|
1233
|
+
notiInfo: ue,
|
|
1234
|
+
notiSuccess: jr,
|
|
1235
|
+
notiWarning: le,
|
|
598
1236
|
notificationService: N
|
|
599
1237
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
600
|
-
let
|
|
601
|
-
const
|
|
602
|
-
if (
|
|
1238
|
+
let Y = null;
|
|
1239
|
+
const de = async (e) => {
|
|
1240
|
+
if (Y === null)
|
|
603
1241
|
if (e === void 0)
|
|
604
1242
|
try {
|
|
605
|
-
let r = (await
|
|
606
|
-
r = r.replace(/\s+/g, ""),
|
|
1243
|
+
let r = (await ae.get("/api/ip")).data.trim();
|
|
1244
|
+
r = r.replace(/\s+/g, ""), Y = r;
|
|
607
1245
|
} catch (t) {
|
|
608
|
-
console.warn("IP 가져오기 실패:", t),
|
|
1246
|
+
console.warn("IP 가져오기 실패:", t), Y = "unknown";
|
|
609
1247
|
}
|
|
610
1248
|
else
|
|
611
|
-
|
|
612
|
-
},
|
|
613
|
-
class
|
|
614
|
-
constructor(t, r, o,
|
|
615
|
-
super(t), this.name = "ApiError", this.detailMsg = r, this.response = o, this.msgCd =
|
|
1249
|
+
Y = e;
|
|
1250
|
+
}, Kr = () => Y, Gr = async () => (console.log("IP 검증 비활성화됨 (성능 최적화)"), Y || "unknown");
|
|
1251
|
+
class T extends Error {
|
|
1252
|
+
constructor(t, r, o, l, m) {
|
|
1253
|
+
super(t), this.name = "ApiError", this.detailMsg = r, this.response = o, this.msgCd = l, this.errorType = m, Error.captureStackTrace && Error.captureStackTrace(this, T);
|
|
616
1254
|
}
|
|
617
1255
|
}
|
|
618
|
-
const
|
|
1256
|
+
const Q = {
|
|
619
1257
|
method: "POST",
|
|
620
1258
|
timeout: 3e4,
|
|
621
1259
|
// 30초
|
|
@@ -626,18 +1264,18 @@ const q = {
|
|
|
626
1264
|
showError: !0,
|
|
627
1265
|
retryCount: 0,
|
|
628
1266
|
retryDelay: 1e3
|
|
629
|
-
}, j =
|
|
630
|
-
timeout:
|
|
631
|
-
withCredentials:
|
|
1267
|
+
}, j = ae.create({
|
|
1268
|
+
timeout: Q.timeout,
|
|
1269
|
+
withCredentials: Q.withCredentials,
|
|
632
1270
|
headers: {
|
|
633
1271
|
"Content-Type": "application/json; charset=utf-8",
|
|
634
1272
|
Accept: "application/json; charset=utf-8",
|
|
635
|
-
"Apm-Guid":
|
|
1273
|
+
"Apm-Guid": ie()
|
|
636
1274
|
}
|
|
637
1275
|
});
|
|
638
1276
|
j.interceptors.request.use(
|
|
639
1277
|
(e) => {
|
|
640
|
-
e.showLoading && !e.isPopup &&
|
|
1278
|
+
e.showLoading && !e.isPopup && ne.getState().showLoading(), e.showLoading && e.isPopup && se.getState().showLoading();
|
|
641
1279
|
let t = "UNKNOWN";
|
|
642
1280
|
(/* @__PURE__ */ new Date()).getTime();
|
|
643
1281
|
try {
|
|
@@ -646,7 +1284,7 @@ j.interceptors.request.use(
|
|
|
646
1284
|
console.warn("trxCd/guid 추출 실패:", o);
|
|
647
1285
|
}
|
|
648
1286
|
e.trxCd = t, e.requestStartTime = Date.now(), console.log(
|
|
649
|
-
`🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${
|
|
1287
|
+
`🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${H()?.userId}]`
|
|
650
1288
|
);
|
|
651
1289
|
const r = localStorage.getItem("accessToken");
|
|
652
1290
|
return r && (e.headers.Authorization = `Bearer ${r}`), e.headers["Content-Type"] = "application/json; charset=UTF-8", e.headers.Accept = "application/json; charset=UTF-8", e;
|
|
@@ -655,21 +1293,21 @@ j.interceptors.request.use(
|
|
|
655
1293
|
);
|
|
656
1294
|
j.interceptors.response.use(
|
|
657
1295
|
(e) => {
|
|
658
|
-
e.config.showLoading && !e.config.isPopup &&
|
|
1296
|
+
e.config.showLoading && !e.config.isPopup && ne.getState().hideLoading(), e.config.isPopup && se.getState().hideLoading();
|
|
659
1297
|
let t = "UNKNOWN", r = "UNKNOWN";
|
|
660
1298
|
const o = (/* @__PURE__ */ new Date()).getTime();
|
|
661
1299
|
try {
|
|
662
1300
|
e.config.trxCd && (t = e.config.trxCd), e.config.guid ? r = e.config.guid : e.data && e.data.header && e.data.header.trxCd ? (t = e.data.header.trxCd, r = e.data.header.guid || "UNKNOWN") : e.config.data && e.config.data.header ? (t = e.config.data.header.trxCd || "UNKNOWN", r = e.config.data.header.guid || "UNKNOWN") : e.config.params && e.config.params.header && (t = e.config.params.header.trxCd || "UNKNOWN", r = e.config.params.header.guid || "UNKNOWN");
|
|
663
|
-
} catch (
|
|
664
|
-
console.warn("trxCd/guid 추출 실패:",
|
|
1301
|
+
} catch (m) {
|
|
1302
|
+
console.warn("trxCd/guid 추출 실패:", m);
|
|
665
1303
|
}
|
|
666
|
-
let
|
|
667
|
-
return e.config.requestStartTime && (
|
|
668
|
-
`✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${
|
|
1304
|
+
let l = 0;
|
|
1305
|
+
return e.config.requestStartTime && (l = o - e.config.requestStartTime), console.log(
|
|
1306
|
+
`✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${l}ms)`
|
|
669
1307
|
), e;
|
|
670
1308
|
},
|
|
671
1309
|
async (e) => {
|
|
672
|
-
if (e.config && e.config.showLoading && !e.config.isPopup &&
|
|
1310
|
+
if (e.config && e.config.showLoading && !e.config.isPopup && ne.getState().hideLoading(), e.config && e.config.isPopup && se.getState().hideLoading(), console.error("❌ API 응답 에러:", e), z && console.error("🚨 Error Details:", {
|
|
673
1311
|
message: e.message,
|
|
674
1312
|
status: e.response?.status,
|
|
675
1313
|
statusText: e.response?.statusText,
|
|
@@ -683,7 +1321,7 @@ j.interceptors.response.use(
|
|
|
683
1321
|
const t = localStorage.getItem("refreshToken");
|
|
684
1322
|
if (t)
|
|
685
1323
|
try {
|
|
686
|
-
const r = await
|
|
1324
|
+
const r = await ae.post("/auth/refresh", {
|
|
687
1325
|
refreshToken: t
|
|
688
1326
|
});
|
|
689
1327
|
if (r.data.accessToken) {
|
|
@@ -702,19 +1340,19 @@ j.interceptors.response.use(
|
|
|
702
1340
|
return Promise.reject(e);
|
|
703
1341
|
}
|
|
704
1342
|
);
|
|
705
|
-
const
|
|
1343
|
+
const U = async (e, t, r) => {
|
|
706
1344
|
try {
|
|
707
1345
|
const o = {
|
|
708
|
-
...
|
|
1346
|
+
...Q,
|
|
709
1347
|
...r
|
|
710
|
-
}, { activeMenuId:
|
|
711
|
-
if (
|
|
712
|
-
const
|
|
713
|
-
await
|
|
714
|
-
const
|
|
715
|
-
console.log(`[INFO] IP 조회 소요시간: ${
|
|
1348
|
+
}, { activeMenuId: l } = we.getState();
|
|
1349
|
+
if (Y === null) {
|
|
1350
|
+
const f = Date.now();
|
|
1351
|
+
await de();
|
|
1352
|
+
const c = Date.now();
|
|
1353
|
+
console.log(`[INFO] IP 조회 소요시간: ${c - f}ms`);
|
|
716
1354
|
}
|
|
717
|
-
const
|
|
1355
|
+
const m = {
|
|
718
1356
|
method: o.method,
|
|
719
1357
|
url: "/api/service",
|
|
720
1358
|
timeout: o.timeout,
|
|
@@ -722,155 +1360,155 @@ const _ = async (e, t, r) => {
|
|
|
722
1360
|
showLoading: o.showLoading,
|
|
723
1361
|
isPopup: o.isPopup
|
|
724
1362
|
};
|
|
725
|
-
o.headers && (
|
|
726
|
-
const
|
|
1363
|
+
o.headers && (m.headers = o.headers);
|
|
1364
|
+
const x = Y || "unknown", M = __APP_CD__, p = __SYS_CD__, v = {
|
|
727
1365
|
header: {
|
|
728
1366
|
trxCd: e,
|
|
729
|
-
userInfo:
|
|
730
|
-
clientIp:
|
|
1367
|
+
userInfo: H(),
|
|
1368
|
+
clientIp: x,
|
|
731
1369
|
// 클라이언트 IP 추가 (서버에서 재확인 권장)
|
|
732
1370
|
domainId: "DEFAULT",
|
|
733
1371
|
appCd: M,
|
|
734
|
-
sysCd:
|
|
735
|
-
screenId:
|
|
1372
|
+
sysCd: p,
|
|
1373
|
+
screenId: l
|
|
736
1374
|
},
|
|
737
1375
|
// data: bxmEncrypt(JSON.stringify(data)),
|
|
738
1376
|
data: t
|
|
739
1377
|
};
|
|
740
|
-
o.method === "GET" ?
|
|
741
|
-
let
|
|
742
|
-
for (let
|
|
1378
|
+
o.method === "GET" ? m.params = v || o.params : (m.data = v || o.data, o.params && (m.params = o.params));
|
|
1379
|
+
let g;
|
|
1380
|
+
for (let f = 0; f <= (o.retryCount || 0); f++)
|
|
743
1381
|
try {
|
|
744
|
-
const
|
|
745
|
-
if (
|
|
746
|
-
for (const
|
|
747
|
-
if (
|
|
748
|
-
return
|
|
1382
|
+
const c = await j(m);
|
|
1383
|
+
if (c.data.header?.resCd == 0) {
|
|
1384
|
+
for (const a in c.data)
|
|
1385
|
+
if (a !== "header")
|
|
1386
|
+
return c.data[a];
|
|
749
1387
|
return {};
|
|
750
1388
|
} else {
|
|
751
|
-
const
|
|
752
|
-
throw new
|
|
1389
|
+
const a = c.data.header, u = a?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", n = a?.msgs?.detailMsgs || u, d = a?.msgCd, w = a?.msgs?.type;
|
|
1390
|
+
throw new T(u, n, c, d, w);
|
|
753
1391
|
}
|
|
754
|
-
} catch (
|
|
755
|
-
if (
|
|
756
|
-
const
|
|
757
|
-
"서버에서 오류가 발생했습니다.",
|
|
758
|
-
(typeof
|
|
759
|
-
|
|
1392
|
+
} catch (c) {
|
|
1393
|
+
if (c.isAxiosError && c.response) {
|
|
1394
|
+
const a = c, u = a.response, n = u.data, d = n?.header?.msgs?.basicMsg || a.message || // 실패 시 Axios 에러 메시지 사용
|
|
1395
|
+
"서버에서 오류가 발생했습니다.", w = n?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
|
|
1396
|
+
(typeof u.data == "string" ? u.data : JSON.stringify(u.data)) || d, s = n?.header?.msgCd, i = n?.header?.msgs?.type;
|
|
1397
|
+
g = new T(
|
|
1398
|
+
d,
|
|
1399
|
+
w,
|
|
760
1400
|
u,
|
|
761
|
-
|
|
762
|
-
i
|
|
763
|
-
y,
|
|
764
|
-
w
|
|
1401
|
+
s,
|
|
1402
|
+
i
|
|
765
1403
|
);
|
|
766
1404
|
} else
|
|
767
|
-
|
|
768
|
-
if (
|
|
769
|
-
await
|
|
1405
|
+
g = c;
|
|
1406
|
+
if (c.isAxiosError && Fe(c) && f < (o.retryCount || 0)) {
|
|
1407
|
+
await ze(o.retryDelay || 1e3);
|
|
770
1408
|
continue;
|
|
771
1409
|
}
|
|
772
1410
|
break;
|
|
773
1411
|
}
|
|
774
|
-
if (
|
|
1412
|
+
if (g) {
|
|
775
1413
|
if (o.showError) {
|
|
776
|
-
const
|
|
777
|
-
|
|
778
|
-
message:
|
|
779
|
-
description:
|
|
1414
|
+
const f = g instanceof T ? g.message : "요청 처리 중 오류가 발생했습니다.", c = g instanceof T ? g.msgCd : "요청 처리 중 오류가 발생했습니다.", a = g instanceof T ? g.detailMsg : g.message, u = g instanceof T ? g.errorType : "";
|
|
1415
|
+
c?.startsWith("BXM") ? ce({
|
|
1416
|
+
message: f,
|
|
1417
|
+
description: a,
|
|
780
1418
|
duration: 5
|
|
781
|
-
}) :
|
|
1419
|
+
}) : u == "I" ? ue(f, a, 5) : le(f, a, 5);
|
|
782
1420
|
}
|
|
783
|
-
throw
|
|
1421
|
+
throw g;
|
|
784
1422
|
}
|
|
785
1423
|
throw new Error("알 수 없는 API 오류가 발생했습니다.");
|
|
786
1424
|
} catch (o) {
|
|
787
1425
|
throw console.error("callService 최종 에러:", o), o;
|
|
788
1426
|
}
|
|
789
|
-
},
|
|
1427
|
+
}, Jr = async (e, t, r, o) => {
|
|
790
1428
|
try {
|
|
791
|
-
const
|
|
792
|
-
...
|
|
1429
|
+
const l = {
|
|
1430
|
+
...Q,
|
|
793
1431
|
...o
|
|
794
|
-
}, { activeMenuId:
|
|
795
|
-
if (
|
|
796
|
-
const a = Date.now();
|
|
797
|
-
await ae();
|
|
1432
|
+
}, { activeMenuId: m } = we.getState();
|
|
1433
|
+
if (Y === null) {
|
|
798
1434
|
const c = Date.now();
|
|
799
|
-
|
|
1435
|
+
await de();
|
|
1436
|
+
const a = Date.now();
|
|
1437
|
+
console.log(`[INFO] IP 조회 소요시간: ${a - c}ms`);
|
|
800
1438
|
}
|
|
801
|
-
const
|
|
802
|
-
method:
|
|
1439
|
+
const x = {
|
|
1440
|
+
method: l.method,
|
|
803
1441
|
url: "/api/" + e + "/service",
|
|
804
|
-
timeout:
|
|
805
|
-
withCredentials:
|
|
806
|
-
showLoading:
|
|
807
|
-
isPopup:
|
|
1442
|
+
timeout: l.timeout,
|
|
1443
|
+
withCredentials: l.withCredentials,
|
|
1444
|
+
showLoading: l.showLoading,
|
|
1445
|
+
isPopup: l.isPopup
|
|
808
1446
|
};
|
|
809
|
-
|
|
810
|
-
const M =
|
|
1447
|
+
l.headers && (x.headers = l.headers);
|
|
1448
|
+
const M = Y || "unknown", p = __APP_CD__, v = __SYS_CD__, g = {
|
|
811
1449
|
header: {
|
|
812
1450
|
trxCd: t,
|
|
813
|
-
userInfo:
|
|
1451
|
+
userInfo: H(),
|
|
814
1452
|
clientIp: M,
|
|
815
1453
|
// 클라이언트 IP 추가 (서버에서 재확인 권장)
|
|
816
1454
|
domainId: "DEFAULT",
|
|
817
|
-
appCd:
|
|
818
|
-
sysCd:
|
|
819
|
-
screenId:
|
|
1455
|
+
appCd: p,
|
|
1456
|
+
sysCd: v,
|
|
1457
|
+
screenId: m
|
|
820
1458
|
},
|
|
821
1459
|
// data: bxmEncrypt(JSON.stringify(data)),
|
|
822
1460
|
data: r
|
|
823
1461
|
};
|
|
824
|
-
|
|
825
|
-
let
|
|
826
|
-
for (let
|
|
1462
|
+
z && console.log("__BWG_LOCAL__ 테스트 입니다. ", z), l.method === "GET" ? x.params = g || l.params : (x.data = g || l.data, l.params && (x.params = l.params));
|
|
1463
|
+
let f;
|
|
1464
|
+
for (let c = 0; c <= (l.retryCount || 0); c++)
|
|
827
1465
|
try {
|
|
828
|
-
const
|
|
829
|
-
if (
|
|
830
|
-
for (const
|
|
831
|
-
if (
|
|
832
|
-
return
|
|
1466
|
+
const a = await j(x);
|
|
1467
|
+
if (a.data.header?.resCd == 0) {
|
|
1468
|
+
for (const u in a.data)
|
|
1469
|
+
if (u !== "header")
|
|
1470
|
+
return a.data[u];
|
|
833
1471
|
return {};
|
|
834
1472
|
} else {
|
|
835
|
-
const
|
|
836
|
-
throw new
|
|
1473
|
+
const u = a.data.header, n = u?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", d = u?.msgs?.detailMsgs || n, w = u?.msgCd, s = u?.msgs?.type;
|
|
1474
|
+
throw new T(n, d, a, w, s);
|
|
837
1475
|
}
|
|
838
|
-
} catch (
|
|
839
|
-
if (
|
|
840
|
-
const
|
|
841
|
-
"서버에서 오류가 발생했습니다.",
|
|
842
|
-
(typeof
|
|
843
|
-
|
|
844
|
-
p,
|
|
845
|
-
y,
|
|
846
|
-
s,
|
|
1476
|
+
} catch (a) {
|
|
1477
|
+
if (a.isAxiosError && a.response) {
|
|
1478
|
+
const u = a, n = u.response, d = n.data, w = d?.header?.msgs?.basicMsg || u.message || // 실패 시 Axios 에러 메시지 사용
|
|
1479
|
+
"서버에서 오류가 발생했습니다.", s = d?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
|
|
1480
|
+
(typeof n.data == "string" ? n.data : JSON.stringify(n.data)) || w, i = d?.header?.msgCd, h = d?.header?.msgs?.type;
|
|
1481
|
+
f = new T(
|
|
847
1482
|
w,
|
|
848
|
-
|
|
1483
|
+
s,
|
|
1484
|
+
n,
|
|
1485
|
+
i,
|
|
1486
|
+
h
|
|
849
1487
|
);
|
|
850
1488
|
} else
|
|
851
|
-
|
|
852
|
-
if (
|
|
853
|
-
await
|
|
1489
|
+
f = a;
|
|
1490
|
+
if (a.isAxiosError && Fe(a) && c < (l.retryCount || 0)) {
|
|
1491
|
+
await ze(l.retryDelay || 1e3);
|
|
854
1492
|
continue;
|
|
855
1493
|
}
|
|
856
1494
|
break;
|
|
857
1495
|
}
|
|
858
|
-
if (
|
|
859
|
-
if (
|
|
860
|
-
const
|
|
861
|
-
|
|
862
|
-
message:
|
|
863
|
-
description:
|
|
1496
|
+
if (f) {
|
|
1497
|
+
if (l.showError) {
|
|
1498
|
+
const c = f instanceof T ? f.message : "요청 처리 중 오류가 발생했습니다.", a = f instanceof T ? f.msgCd : "요청 처리 중 오류가 발생했습니다.", u = f instanceof T ? f.detailMsg : f.message, n = f instanceof T ? f.errorType : "";
|
|
1499
|
+
a?.startsWith("BXM") ? ce({
|
|
1500
|
+
message: c,
|
|
1501
|
+
description: u,
|
|
864
1502
|
duration: 5
|
|
865
|
-
}) :
|
|
1503
|
+
}) : n == "I" ? ue(c, u, 5) : le(c, u, 5);
|
|
866
1504
|
}
|
|
867
|
-
throw
|
|
1505
|
+
throw f;
|
|
868
1506
|
}
|
|
869
1507
|
throw new Error("알 수 없는 API 오류가 발생했습니다.");
|
|
870
|
-
} catch (
|
|
871
|
-
throw console.error("callService 최종 에러:",
|
|
1508
|
+
} catch (l) {
|
|
1509
|
+
throw console.error("callService 최종 에러:", l), l;
|
|
872
1510
|
}
|
|
873
|
-
},
|
|
1511
|
+
}, Fe = (e) => !e.response || e.response.status >= 500 && e.response.status < 600, ze = (e) => new Promise((t) => setTimeout(t, e)), Zr = (e, t, r) => U(e, t, { ...r, method: "GET" }), Xr = (e, t, r) => U(e, t, { ...r, method: "POST" }), Qr = (e, t, r) => U(e, t, { ...r, method: "PUT" }), eo = (e, t, r) => U(e, t, { ...r, method: "DELETE" }), to = (e, t, r) => U(e, t, { ...r, method: "PATCH" }), ro = async (e, t, r) => {
|
|
874
1512
|
try {
|
|
875
1513
|
const o = await fetch("/api/permissions", {
|
|
876
1514
|
method: "POST",
|
|
@@ -889,28 +1527,28 @@ const _ = async (e, t, r) => {
|
|
|
889
1527
|
} catch (o) {
|
|
890
1528
|
throw console.error("권한 확인 서비스 오류:", o), o;
|
|
891
1529
|
}
|
|
892
|
-
},
|
|
1530
|
+
}, je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
893
1531
|
__proto__: null,
|
|
894
|
-
ApiError:
|
|
895
|
-
apiDelete:
|
|
896
|
-
apiGet:
|
|
897
|
-
apiPatch:
|
|
898
|
-
apiPost:
|
|
899
|
-
apiPut:
|
|
900
|
-
callService:
|
|
901
|
-
callService_SYSCD:
|
|
902
|
-
getClientIp:
|
|
903
|
-
getPermissionService:
|
|
904
|
-
setClientIp:
|
|
905
|
-
verifyClientIp:
|
|
906
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
907
|
-
const o = new Blob([e], { type: r }),
|
|
908
|
-
|
|
1532
|
+
ApiError: T,
|
|
1533
|
+
apiDelete: eo,
|
|
1534
|
+
apiGet: Zr,
|
|
1535
|
+
apiPatch: to,
|
|
1536
|
+
apiPost: Xr,
|
|
1537
|
+
apiPut: Qr,
|
|
1538
|
+
callService: U,
|
|
1539
|
+
callService_SYSCD: Jr,
|
|
1540
|
+
getClientIp: Kr,
|
|
1541
|
+
getPermissionService: ro,
|
|
1542
|
+
setClientIp: de,
|
|
1543
|
+
verifyClientIp: Gr
|
|
1544
|
+
}, Symbol.toStringTag, { value: "Module" })), oo = (e, t, r = "text/plain") => {
|
|
1545
|
+
const o = new Blob([e], { type: r }), l = URL.createObjectURL(o), m = document.createElement("a");
|
|
1546
|
+
m.href = l, m.download = t, document.body.appendChild(m), m.click(), document.body.removeChild(m), URL.revokeObjectURL(l);
|
|
909
1547
|
};
|
|
910
|
-
async function
|
|
1548
|
+
async function no(e) {
|
|
911
1549
|
try {
|
|
912
|
-
return await
|
|
913
|
-
crprCd:
|
|
1550
|
+
return await U("SCMFILE00101", {
|
|
1551
|
+
crprCd: H()?.crprCd,
|
|
914
1552
|
sysCd: __SYS_CD__,
|
|
915
1553
|
fileKey: e
|
|
916
1554
|
}).then((r) => {
|
|
@@ -919,73 +1557,73 @@ async function Or(e) {
|
|
|
919
1557
|
throw console.error("논리파일명이 없습니다."), new Error("논리 파일명 누락");
|
|
920
1558
|
if (!o.filePath)
|
|
921
1559
|
throw console.error("파일 경로가 없습니다."), new Error("파일 경로 누락");
|
|
922
|
-
const
|
|
1560
|
+
const l = `api/download?filePath=${encodeURIComponent(
|
|
923
1561
|
o.filePath
|
|
924
1562
|
)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;
|
|
925
|
-
return window.open(
|
|
1563
|
+
return window.open(l, "_blank"), { success: !0, message: "파일 다운로드 요청 성공" };
|
|
926
1564
|
});
|
|
927
1565
|
} catch (t) {
|
|
928
1566
|
throw console.error("downloadByFileKey 함수 실행 중 오류 발생:", t), t;
|
|
929
1567
|
}
|
|
930
1568
|
}
|
|
931
|
-
const
|
|
1569
|
+
const Ve = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
932
1570
|
__proto__: null,
|
|
933
|
-
downloadByFileKey:
|
|
934
|
-
downloadFile:
|
|
935
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
936
|
-
|
|
1571
|
+
downloadByFileKey: no,
|
|
1572
|
+
downloadFile: oo
|
|
1573
|
+
}, Symbol.toStringTag, { value: "Module" })), We = (e, t = 3) => {
|
|
1574
|
+
A.success({
|
|
937
1575
|
content: e,
|
|
938
1576
|
duration: t
|
|
939
1577
|
});
|
|
940
|
-
},
|
|
941
|
-
|
|
1578
|
+
}, W = (e, t = 5) => {
|
|
1579
|
+
A.error({
|
|
942
1580
|
content: e,
|
|
943
1581
|
duration: t
|
|
944
1582
|
});
|
|
945
|
-
},
|
|
946
|
-
|
|
1583
|
+
}, so = (e, t = 4) => {
|
|
1584
|
+
A.warning({
|
|
947
1585
|
content: e,
|
|
948
1586
|
duration: t
|
|
949
1587
|
});
|
|
950
|
-
},
|
|
951
|
-
|
|
1588
|
+
}, ao = (e, t = 3) => {
|
|
1589
|
+
A.info({
|
|
952
1590
|
content: e,
|
|
953
1591
|
duration: t
|
|
954
1592
|
});
|
|
955
|
-
},
|
|
1593
|
+
}, io = (e = "처리중...") => A.loading({
|
|
956
1594
|
content: e,
|
|
957
1595
|
duration: 0
|
|
958
1596
|
// 수동으로 닫을 때까지 유지
|
|
959
|
-
}),
|
|
960
|
-
|
|
961
|
-
},
|
|
962
|
-
|
|
963
|
-
},
|
|
1597
|
+
}), co = (e) => {
|
|
1598
|
+
A.destroy(e);
|
|
1599
|
+
}, uo = () => {
|
|
1600
|
+
A.destroy();
|
|
1601
|
+
}, lo = (e, t = "처리 중 오류가 발생했습니다.") => {
|
|
964
1602
|
const r = e?.response?.data?.message || e?.message || t;
|
|
965
|
-
|
|
966
|
-
},
|
|
967
|
-
|
|
968
|
-
},
|
|
969
|
-
|
|
970
|
-
},
|
|
971
|
-
|
|
972
|
-
},
|
|
973
|
-
|
|
974
|
-
},
|
|
1603
|
+
W(r);
|
|
1604
|
+
}, fo = (e = "저장") => {
|
|
1605
|
+
We(`${e}이 완료되었습니다.`);
|
|
1606
|
+
}, ho = (e = "저장") => {
|
|
1607
|
+
W(`${e} 중 오류가 발생했습니다.`);
|
|
1608
|
+
}, mo = (e) => {
|
|
1609
|
+
W(`이미 사용중인 ${e}입니다.`);
|
|
1610
|
+
}, po = (e) => {
|
|
1611
|
+
W(`${e}을(를) 입력해주세요.`);
|
|
1612
|
+
}, qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
975
1613
|
__proto__: null,
|
|
976
|
-
closeAllMessages:
|
|
977
|
-
closeMessage:
|
|
978
|
-
showApiError:
|
|
979
|
-
showDuplicateError:
|
|
980
|
-
showError:
|
|
981
|
-
showInfo:
|
|
982
|
-
showLoading:
|
|
983
|
-
showRequiredError:
|
|
984
|
-
showSaveError:
|
|
985
|
-
showSaveSuccess:
|
|
986
|
-
showSuccess:
|
|
987
|
-
showWarning:
|
|
988
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1614
|
+
closeAllMessages: uo,
|
|
1615
|
+
closeMessage: co,
|
|
1616
|
+
showApiError: lo,
|
|
1617
|
+
showDuplicateError: mo,
|
|
1618
|
+
showError: W,
|
|
1619
|
+
showInfo: ao,
|
|
1620
|
+
showLoading: io,
|
|
1621
|
+
showRequiredError: po,
|
|
1622
|
+
showSaveError: ho,
|
|
1623
|
+
showSaveSuccess: fo,
|
|
1624
|
+
showSuccess: We,
|
|
1625
|
+
showWarning: so
|
|
1626
|
+
}, Symbol.toStringTag, { value: "Module" })), go = {
|
|
989
1627
|
/*************************************************************************************************************************************************
|
|
990
1628
|
* RealGrid2 use
|
|
991
1629
|
*************************************************************************************************************************************************/
|
|
@@ -1285,7 +1923,7 @@ const Ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1285
1923
|
bg_gray01: {
|
|
1286
1924
|
background: "#cdcdcd"
|
|
1287
1925
|
}
|
|
1288
|
-
},
|
|
1926
|
+
}, yo = async (e) => {
|
|
1289
1927
|
if (e.map((t) => {
|
|
1290
1928
|
t.status = "uploading", t.percent = 10, console.log(t);
|
|
1291
1929
|
}), !e || !Array.isArray(e) || e.length === 0) {
|
|
@@ -1304,46 +1942,46 @@ const Ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1304
1942
|
//-------------------------------------------
|
|
1305
1943
|
remoteDir: "/home/krxuser/bkrx/files/testForGW",
|
|
1306
1944
|
useOriginalName: "true"
|
|
1307
|
-
}, r = e.map(async (
|
|
1308
|
-
const
|
|
1309
|
-
Object.entries(t).forEach(([
|
|
1310
|
-
|
|
1945
|
+
}, r = e.map(async (x, M) => {
|
|
1946
|
+
const p = new FormData();
|
|
1947
|
+
Object.entries(t).forEach(([f, c]) => {
|
|
1948
|
+
p.append(f, c);
|
|
1311
1949
|
});
|
|
1312
|
-
const
|
|
1313
|
-
|
|
1314
|
-
const
|
|
1950
|
+
const v = x.originFileObj;
|
|
1951
|
+
p.append("file", v);
|
|
1952
|
+
const g = await fetch("/api/gw-sftp", {
|
|
1315
1953
|
method: "POST",
|
|
1316
|
-
body:
|
|
1954
|
+
body: p
|
|
1317
1955
|
});
|
|
1318
|
-
return
|
|
1319
|
-
(
|
|
1320
|
-
...
|
|
1956
|
+
return g.ok ? (console.log(e), e.map(
|
|
1957
|
+
(f) => f === x ? {
|
|
1958
|
+
...f,
|
|
1321
1959
|
status: "success",
|
|
1322
1960
|
percent: 100
|
|
1323
|
-
} :
|
|
1324
|
-
)) :
|
|
1325
|
-
}), o = await Promise.all(r),
|
|
1326
|
-
if (
|
|
1327
|
-
return alert(`${
|
|
1961
|
+
} : f
|
|
1962
|
+
)) : x.status = "done", { index: M, response: g, fileName: v.name };
|
|
1963
|
+
}), o = await Promise.all(r), l = o.filter((x) => x.response.ok).length, m = o.length - l;
|
|
1964
|
+
if (l === o.length)
|
|
1965
|
+
return alert(`${l}개 파일 업로드가 완료되었습니다.`), {
|
|
1328
1966
|
result: "success",
|
|
1329
|
-
message: `${
|
|
1330
|
-
successCount:
|
|
1331
|
-
failCount:
|
|
1967
|
+
message: `${l}개 파일 업로드가 완료되었습니다.`,
|
|
1968
|
+
successCount: l,
|
|
1969
|
+
failCount: m
|
|
1332
1970
|
};
|
|
1333
|
-
if (
|
|
1334
|
-
const
|
|
1335
|
-
return alert(
|
|
1971
|
+
if (l > 0) {
|
|
1972
|
+
const x = `${l}개 성공, ${m}개 실패`;
|
|
1973
|
+
return alert(x), {
|
|
1336
1974
|
result: "partial",
|
|
1337
|
-
message:
|
|
1338
|
-
successCount:
|
|
1339
|
-
failCount:
|
|
1975
|
+
message: x,
|
|
1976
|
+
successCount: l,
|
|
1977
|
+
failCount: m
|
|
1340
1978
|
};
|
|
1341
1979
|
}
|
|
1342
1980
|
return alert("모든 파일 업로드에 실패했습니다."), {
|
|
1343
1981
|
result: "error",
|
|
1344
1982
|
message: "모든 파일 업로드에 실패했습니다.",
|
|
1345
|
-
successCount:
|
|
1346
|
-
failCount:
|
|
1983
|
+
successCount: l,
|
|
1984
|
+
failCount: m
|
|
1347
1985
|
};
|
|
1348
1986
|
} catch {
|
|
1349
1987
|
return alert("파일 업로드 중 오류가 발생했습니다."), {
|
|
@@ -1351,189 +1989,189 @@ const Ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1351
1989
|
message: "파일 업로드 중 오류가 발생했습니다."
|
|
1352
1990
|
};
|
|
1353
1991
|
}
|
|
1354
|
-
},
|
|
1992
|
+
}, Mo = async (e, t, r) => {
|
|
1355
1993
|
const {
|
|
1356
1994
|
trxCd: o = "SCMINTF00102",
|
|
1357
|
-
connInfo:
|
|
1358
|
-
openDraft:
|
|
1359
|
-
draftUrlBase:
|
|
1995
|
+
connInfo: l = {},
|
|
1996
|
+
openDraft: m = !0,
|
|
1997
|
+
draftUrlBase: x = "https://dev.bwg.co.kr:5510",
|
|
1360
1998
|
windowFeatures: M = "width=1000,height=600"
|
|
1361
|
-
} = r || {},
|
|
1362
|
-
if (
|
|
1363
|
-
const
|
|
1364
|
-
if (!
|
|
1365
|
-
throw new Error(
|
|
1999
|
+
} = r || {}, p = e ?? {}, v = Array.isArray(t) ? t : void 0;
|
|
2000
|
+
if (v && Array.isArray(v) && v.length > 0) {
|
|
2001
|
+
const c = await yo(v);
|
|
2002
|
+
if (!c || c.result !== "success")
|
|
2003
|
+
throw new Error(c?.message || "파일 업로드 실패");
|
|
1366
2004
|
}
|
|
1367
|
-
const
|
|
1368
|
-
crprCd:
|
|
1369
|
-
aprvKey:
|
|
2005
|
+
const g = {
|
|
2006
|
+
crprCd: be(),
|
|
2007
|
+
aprvKey: p.aprvKey || ie(),
|
|
1370
2008
|
sysCd: __SYS_CD__,
|
|
1371
|
-
draftDt:
|
|
2009
|
+
draftDt: Ee("YYYYMMDD"),
|
|
1372
2010
|
/**
|
|
1373
2011
|
* 해당 그룹웨어 연계데이터는 추후 추가수정 필요
|
|
1374
2012
|
* +) 기안연계가 DB로 넣는것 외에 soap를 통한 파라미터 전달 & SAP방식 등등 여러개로 나눠진다고함..
|
|
1375
2013
|
* 해당 내용들은 공통화하기 힘들어 json & rest 방식으로 연계만 공통화 할듯함.
|
|
1376
2014
|
*/
|
|
1377
|
-
fileInfoList:
|
|
2015
|
+
fileInfoList: v,
|
|
1378
2016
|
// 그룹웨어 파일연계
|
|
1379
|
-
connInfo:
|
|
2017
|
+
connInfo: l,
|
|
1380
2018
|
// 그룹웨어 기안연계
|
|
1381
|
-
...
|
|
1382
|
-
},
|
|
1383
|
-
if (
|
|
1384
|
-
const
|
|
1385
|
-
window.open(
|
|
2019
|
+
...p
|
|
2020
|
+
}, f = await U(o, g);
|
|
2021
|
+
if (m && p?.aprvKey) {
|
|
2022
|
+
const c = `${x}?key=${p.aprvKey}&docTitle=${p.docTitle}`;
|
|
2023
|
+
window.open(c, "_blank", M);
|
|
1386
2024
|
}
|
|
1387
|
-
return
|
|
1388
|
-
},
|
|
1389
|
-
...
|
|
1390
|
-
|
|
1391
|
-
...
|
|
1392
|
-
...
|
|
1393
|
-
...
|
|
1394
|
-
...
|
|
1395
|
-
...he,
|
|
2025
|
+
return f;
|
|
2026
|
+
}, bo = je, _o = Ne, $o = Le, To = Ve, Do = qe, ko = Re, Oo = Me, Io = ke, Yo = {
|
|
2027
|
+
...je,
|
|
2028
|
+
...Ne,
|
|
2029
|
+
...Le,
|
|
2030
|
+
...Ve,
|
|
2031
|
+
...qe,
|
|
2032
|
+
...Re,
|
|
1396
2033
|
...Me,
|
|
1397
|
-
|
|
2034
|
+
...ke,
|
|
2035
|
+
realFormat: go
|
|
1398
2036
|
};
|
|
1399
2037
|
export {
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
2038
|
+
T as ApiError,
|
|
2039
|
+
E as COMMON_DATE_FORMAT,
|
|
2040
|
+
Rt as THEME_COOKIE_NAME,
|
|
2041
|
+
Hr as addDays,
|
|
2042
|
+
Pr as addMonths,
|
|
2043
|
+
eo as apiDelete,
|
|
2044
|
+
Zr as apiGet,
|
|
2045
|
+
to as apiPatch,
|
|
2046
|
+
Xr as apiPost,
|
|
2047
|
+
Qr as apiPut,
|
|
2048
|
+
bo as apiUtils,
|
|
2049
|
+
ir as arrAverage,
|
|
2050
|
+
ur as arrCount,
|
|
2051
|
+
sr as arrMax,
|
|
2052
|
+
ar as arrMin,
|
|
2053
|
+
lr as arrReverse,
|
|
2054
|
+
cr as arrSum,
|
|
2055
|
+
nr as arrUnique,
|
|
2056
|
+
Yo as bwgUtils,
|
|
2057
|
+
U as callService,
|
|
2058
|
+
Jr as callService_SYSCD,
|
|
2059
|
+
hr as clamp,
|
|
2060
|
+
vr as clearSessionStorage,
|
|
2061
|
+
uo as closeAllMessages,
|
|
2062
|
+
co as closeMessage,
|
|
2063
|
+
qr as closeNotification,
|
|
2064
|
+
_o as commonUtils,
|
|
2065
|
+
Fr as configureEnvUtils,
|
|
2066
|
+
Qt as copyToClipboard,
|
|
2067
|
+
Ur as datetimeFormat,
|
|
2068
|
+
Xt as debounce,
|
|
2069
|
+
Yo as default,
|
|
2070
|
+
Sr as deleteCookie,
|
|
2071
|
+
Wr as destroyNotifications,
|
|
2072
|
+
Lr as diffDays,
|
|
2073
|
+
no as downloadByFileKey,
|
|
2074
|
+
oo as downloadFile,
|
|
2075
|
+
dr as duplicates,
|
|
2076
|
+
kr as encryptSha256,
|
|
2077
|
+
$o as envUtils,
|
|
2078
|
+
To as fileUtils,
|
|
2079
|
+
or as generateRandomColor,
|
|
2080
|
+
Ye as generateRandomString,
|
|
2081
|
+
ie as generateUID,
|
|
2082
|
+
Rr as getAge,
|
|
2083
|
+
Ce as getAllServiceCodes,
|
|
2084
|
+
Kr as getClientIp,
|
|
2085
|
+
xr as getCookie,
|
|
2086
|
+
be as getCrprCd,
|
|
2087
|
+
Or as getCurrentDate,
|
|
2088
|
+
Ee as getCurrentDateString,
|
|
2089
|
+
lt as getDepartmentInfo,
|
|
2090
|
+
te as getDeviceType,
|
|
2091
|
+
ut as getDisplayName,
|
|
2092
|
+
Te as getDprtCd,
|
|
2093
|
+
De as getDprtNm,
|
|
2094
|
+
ot as getEmplNo,
|
|
2095
|
+
zr as getEnvCode,
|
|
2096
|
+
L as getHrInfo,
|
|
2097
|
+
ht as getJbdtCd,
|
|
2098
|
+
ft as getJbgdCd,
|
|
2099
|
+
mt as getJbkdCd,
|
|
2100
|
+
dt as getJbpsCd,
|
|
2101
|
+
Br as getLastDateByDiv,
|
|
2102
|
+
ro as getPermissionService,
|
|
2103
|
+
ee as getRoleList,
|
|
2104
|
+
Se as getServiceCode,
|
|
2105
|
+
gr as getSessionStorage,
|
|
2106
|
+
Ar as getStartDateByDiv,
|
|
2107
|
+
rt as getUserDvsn,
|
|
2108
|
+
_e as getUserId,
|
|
2109
|
+
H as getUserInfo,
|
|
2110
|
+
$e as getUserNm,
|
|
2111
|
+
pt as getWkplCd,
|
|
2112
|
+
at as hasAllRoles,
|
|
2113
|
+
st as hasAnyRole,
|
|
2114
|
+
nt as hasRole,
|
|
2115
|
+
ct as hasUserInfo,
|
|
2116
|
+
qt as isArray,
|
|
2117
|
+
jt as isBoolean,
|
|
2118
|
+
rr as isDesktop,
|
|
2119
|
+
Pe as isDev,
|
|
2120
|
+
Ie as isEmpty,
|
|
2121
|
+
re as isEmptyArray,
|
|
2122
|
+
Vt as isFunction,
|
|
2123
|
+
z as isLocal,
|
|
2124
|
+
it as isLoggedIn,
|
|
2125
|
+
er as isMobile,
|
|
2126
|
+
Kt as isNull,
|
|
2127
|
+
Jt as isNullOrUndefined,
|
|
2128
|
+
zt as isNumber,
|
|
2129
|
+
Wt as isObject,
|
|
2130
|
+
He as isProd,
|
|
2131
|
+
Cr as isSafeEmpty,
|
|
2132
|
+
Ft as isString,
|
|
2133
|
+
tr as isTablet,
|
|
2134
|
+
Gt as isUndefined,
|
|
2135
|
+
Ir as isValidDate,
|
|
2136
|
+
Nr as isValidDateTime,
|
|
2137
|
+
br as isValidEmail,
|
|
2138
|
+
_r as isValidUrl,
|
|
2139
|
+
Yr as isValidYear,
|
|
2140
|
+
Er as isValidYearMonth,
|
|
2141
|
+
tt as logServiceCodeConfig,
|
|
2142
|
+
Do as messageUtils,
|
|
2143
|
+
ce as notiBwgError,
|
|
2144
|
+
Vr as notiError,
|
|
2145
|
+
ue as notiInfo,
|
|
2146
|
+
jr as notiSuccess,
|
|
2147
|
+
le as notiWarning,
|
|
1510
2148
|
N as notificationService,
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
2149
|
+
ko as notificationUtils,
|
|
2150
|
+
$r as padLeft,
|
|
2151
|
+
Tr as padRight,
|
|
2152
|
+
fr as random,
|
|
2153
|
+
go as realFormat,
|
|
2154
|
+
yr as removeSessionStorage,
|
|
2155
|
+
mr as round,
|
|
2156
|
+
Oo as serviceUtils,
|
|
2157
|
+
de as setClientIp,
|
|
2158
|
+
wr as setCookie,
|
|
2159
|
+
et as setServiceCodeOverrides,
|
|
2160
|
+
pr as setSessionStorage,
|
|
2161
|
+
lo as showApiError,
|
|
2162
|
+
mo as showDuplicateError,
|
|
2163
|
+
W as showError,
|
|
2164
|
+
ao as showInfo,
|
|
2165
|
+
io as showLoading,
|
|
2166
|
+
po as showRequiredError,
|
|
2167
|
+
ho as showSaveError,
|
|
2168
|
+
fo as showSaveSuccess,
|
|
2169
|
+
We as showSuccess,
|
|
2170
|
+
so as showWarning,
|
|
2171
|
+
Mo as submitGwApproval,
|
|
2172
|
+
Zt as throttle,
|
|
2173
|
+
Mr as toCamelCase,
|
|
2174
|
+
yo as uploadFilesViaSftp,
|
|
2175
|
+
Io as userUtils,
|
|
2176
|
+
Gr as verifyClientIp
|
|
1539
2177
|
};
|