@bwg-ui/core 1.2.7 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/dist/chunks/MenuReport-CiL4ggPy.js +1244 -0
- package/dist/chunks/MenuReport-DIkKwvta.cjs +1 -0
- package/dist/chunks/common-components-B4mah7DM.cjs +183 -0
- package/dist/chunks/{common-components-BiUtYMIt.js → common-components-G-FELsbw.js} +6664 -7980
- package/dist/chunks/{core-CF_HWm44.cjs → core-CXP75zcn.cjs} +1 -1
- package/dist/chunks/{core-Cb5dF0QU.js → core-pjW5SaWA.js} +1 -1
- package/dist/chunks/{enc-base64-CAxIzedh.cjs → enc-base64-Bg9x86kU.cjs} +1 -1
- package/dist/chunks/{enc-base64-Dy-3zKzn.js → enc-base64-DtP_G7ev.js} +2 -2
- package/dist/chunks/layout-components-De-k79AV.cjs +35 -0
- package/dist/chunks/layout-components-mRRx1BIz.js +1616 -0
- package/dist/chunks/{sha256-DKma8qua.js → sha256-BTxiV_cX.js} +2 -2
- package/dist/chunks/{sha256-DbQnwvPn.cjs → sha256-CFa0dyCj.cjs} +1 -1
- package/dist/components/common/ButtonAccessController.d.ts +5 -0
- package/dist/components/common/ButtonAccessController.d.ts.map +1 -0
- package/dist/components/common/BwgEditor.d.ts +3 -3
- package/dist/components/common/BwgEditor.d.ts.map +1 -1
- package/dist/components/common/BwgPopup.d.ts +15 -0
- package/dist/components/common/BwgPopup.d.ts.map +1 -1
- package/dist/components/common/BwgView.d.ts +2 -23
- package/dist/components/common/BwgView.d.ts.map +1 -1
- package/dist/components/common/SearchBox.d.ts +1 -57
- package/dist/components/common/SearchBox.d.ts.map +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.d.ts +5 -3
- package/dist/components/common/index.d.ts.map +1 -1
- package/dist/components/common/index.js +24 -23
- package/dist/components/common/type.d.ts +132 -0
- package/dist/components/common/type.d.ts.map +1 -0
- package/dist/components/guide/index.cjs +1 -1
- package/dist/components/guide/index.js +1 -1
- package/dist/components/layout/BwgPortal01.d.ts.map +1 -1
- package/dist/components/layout/default/LocalPopupContainer.d.ts +3 -0
- package/dist/components/layout/default/LocalPopupContainer.d.ts.map +1 -0
- package/dist/components/layout/default/PopupContainer.d.ts.map +1 -1
- package/dist/components/layout/index.cjs +1 -35
- package/dist/components/layout/index.js +13 -1558
- package/dist/components/popup/MenuReport.d.ts +2 -5
- package/dist/components/popup/MenuReport.d.ts.map +1 -1
- package/dist/components/popup/SearchDepartmentP01.d.ts +4 -5
- package/dist/components/popup/SearchDepartmentP01.d.ts.map +1 -1
- package/dist/components/popup/SearchDepartmentP02.d.ts +3 -5
- package/dist/components/popup/SearchDepartmentP02.d.ts.map +1 -1
- package/dist/components/popup/SearchEmployeeP01.d.ts +3 -1
- package/dist/components/popup/SearchEmployeeP01.d.ts.map +1 -1
- package/dist/components/popup/SearchEmployeeP02.d.ts +3 -1
- package/dist/components/popup/SearchEmployeeP02.d.ts.map +1 -1
- package/dist/components/popup/SearchOrganizationP01.d.ts +2 -4
- package/dist/components/popup/SearchOrganizationP01.d.ts.map +1 -1
- package/dist/components/popup/SearchOrganizationP02.d.ts +3 -4
- package/dist/components/popup/SearchOrganizationP02.d.ts.map +1 -1
- package/dist/components/popup/config/localPopupRegistry.d.ts +8 -0
- package/dist/components/popup/config/localPopupRegistry.d.ts.map +1 -0
- package/dist/components/popup/index.cjs +1 -1
- package/dist/components/popup/index.d.ts +2 -4
- 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 +135 -132
- package/dist/provider/hooks/usePopup.d.ts +1 -0
- package/dist/provider/hooks/usePopup.d.ts.map +1 -1
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +205 -188
- package/dist/stores/index.cjs +2 -2
- package/dist/stores/index.js +253 -200
- package/dist/stores/popupStore.d.ts +9 -1
- package/dist/stores/popupStore.d.ts.map +1 -1
- package/dist/utils/gwUtils.d.ts +23 -0
- package/dist/utils/gwUtils.d.ts.map +1 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts +9 -8
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +588 -486
- package/package.json +4 -4
- package/dist/chunks/common-components-DyOLtUJx.cjs +0 -183
package/dist/utils/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import X from "axios";
|
|
2
|
-
import
|
|
3
|
-
import { g as Q } from "../chunks/common-components-
|
|
4
|
-
import { notification as U, message as
|
|
5
|
-
import { useUserStore as
|
|
6
|
-
const
|
|
2
|
+
import A from "dayjs";
|
|
3
|
+
import { g as Q } from "../chunks/common-components-G-FELsbw.js";
|
|
4
|
+
import { notification as U, message as E } from "antd";
|
|
5
|
+
import { useUserStore as D, useMenuViewStore as ce, useLoadingStore as Z, usePopupLoadingStore as J } from "../stores/index.js";
|
|
6
|
+
const ue = {
|
|
7
7
|
// 권한 관련
|
|
8
8
|
AUTH_BTNS: "SCMSIGN00202",
|
|
9
9
|
// 버튼 권한 조회
|
|
@@ -19,265 +19,265 @@ const ce = {
|
|
|
19
19
|
// 즐겨찾기 관리
|
|
20
20
|
};
|
|
21
21
|
let F = {};
|
|
22
|
-
function
|
|
22
|
+
function Ae(e) {
|
|
23
23
|
F = e, console.log("🔧 Provider 서비스코드 오버라이드 설정:", e);
|
|
24
24
|
}
|
|
25
|
-
function
|
|
26
|
-
return F[e] && F[e].trim() !== "" ? F[e] :
|
|
25
|
+
function le(e) {
|
|
26
|
+
return F[e] && F[e].trim() !== "" ? F[e] : ue[e];
|
|
27
27
|
}
|
|
28
|
-
function
|
|
28
|
+
function de() {
|
|
29
29
|
const e = {};
|
|
30
|
-
for (const t of Object.keys(
|
|
31
|
-
e[t] =
|
|
30
|
+
for (const t of Object.keys(ue))
|
|
31
|
+
e[t] = le(t);
|
|
32
32
|
return e;
|
|
33
33
|
}
|
|
34
|
-
function
|
|
34
|
+
function Le() {
|
|
35
35
|
console.log("🔧 bwg-core 서비스코드 설정:"), console.log("📋 Provider 설정 > 기본값 순서로 확인");
|
|
36
|
-
const e =
|
|
36
|
+
const e = de();
|
|
37
37
|
for (const [t, r] of Object.entries(e)) {
|
|
38
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" })),
|
|
44
|
+
getAllServiceCodes: de,
|
|
45
|
+
getServiceCode: le,
|
|
46
|
+
logServiceCodeConfig: Le,
|
|
47
|
+
setServiceCodeOverrides: Ae
|
|
48
|
+
}, Symbol.toStringTag, { value: "Module" })), fe = () => D.getState().user?.crprCd || null, ge = () => D.getState().user?.userId || null, he = () => D.getState().user?.userNm || null, Fe = () => D.getState().user?.userDvsn || null, Ye = () => D.getState().user?.emplNo || null, pe = () => D.getState().user?.dprtCd || null, ye = () => D.getState().user?.dprtNm || null, W = () => D.getState().user?.roleList || null, Re = (e) => {
|
|
49
49
|
const t = W();
|
|
50
50
|
return t ? t.includes(e) : !1;
|
|
51
|
-
},
|
|
51
|
+
}, je = (e) => {
|
|
52
52
|
const t = W();
|
|
53
53
|
return t ? e.some((r) => t.includes(r)) : !1;
|
|
54
54
|
}, ze = (e) => {
|
|
55
55
|
const t = W();
|
|
56
56
|
return t ? e.every((r) => t.includes(r)) : !1;
|
|
57
|
-
}, He = () =>
|
|
58
|
-
const e =
|
|
57
|
+
}, He = () => D.getState().isLoggedIn, L = () => D.getState().user, Ve = () => L() !== null, Be = () => {
|
|
58
|
+
const e = he(), t = ge();
|
|
59
59
|
return e || t || null;
|
|
60
|
-
},
|
|
61
|
-
const e =
|
|
60
|
+
}, We = () => {
|
|
61
|
+
const e = ye(), t = pe();
|
|
62
62
|
return e || (t ? String(t) : null);
|
|
63
|
-
},
|
|
63
|
+
}, we = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
64
64
|
__proto__: null,
|
|
65
|
-
getCrprCd:
|
|
66
|
-
getDepartmentInfo:
|
|
67
|
-
getDisplayName:
|
|
68
|
-
getDprtCd:
|
|
69
|
-
getDprtNm:
|
|
70
|
-
getEmplNo:
|
|
65
|
+
getCrprCd: fe,
|
|
66
|
+
getDepartmentInfo: We,
|
|
67
|
+
getDisplayName: Be,
|
|
68
|
+
getDprtCd: pe,
|
|
69
|
+
getDprtNm: ye,
|
|
70
|
+
getEmplNo: Ye,
|
|
71
71
|
getRoleList: W,
|
|
72
|
-
getUserDvsn:
|
|
73
|
-
getUserId:
|
|
74
|
-
getUserInfo:
|
|
75
|
-
getUserNm:
|
|
72
|
+
getUserDvsn: Fe,
|
|
73
|
+
getUserId: ge,
|
|
74
|
+
getUserInfo: L,
|
|
75
|
+
getUserNm: he,
|
|
76
76
|
hasAllRoles: ze,
|
|
77
|
-
hasAnyRole:
|
|
77
|
+
hasAnyRole: je,
|
|
78
78
|
hasRole: Re,
|
|
79
|
-
hasUserInfo:
|
|
79
|
+
hasUserInfo: Ve,
|
|
80
80
|
isLoggedIn: He
|
|
81
81
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
82
|
-
var
|
|
83
|
-
function
|
|
84
|
-
return
|
|
82
|
+
var z = { exports: {} }, qe = z.exports, ne;
|
|
83
|
+
function Ke() {
|
|
84
|
+
return ne || (ne = 1, (function(e, t) {
|
|
85
85
|
(function(r, o) {
|
|
86
86
|
e.exports = o();
|
|
87
|
-
})(
|
|
88
|
-
return function(r, o,
|
|
87
|
+
})(qe, (function() {
|
|
88
|
+
return function(r, o, n) {
|
|
89
89
|
r = r || {};
|
|
90
|
-
var
|
|
91
|
-
function
|
|
92
|
-
return
|
|
90
|
+
var f = o.prototype, g = { 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" };
|
|
91
|
+
function v(h, m, l, a) {
|
|
92
|
+
return f.fromToBase(h, m, l, a);
|
|
93
93
|
}
|
|
94
|
-
|
|
95
|
-
for (var
|
|
96
|
-
var S =
|
|
97
|
-
S.d && (
|
|
98
|
-
var
|
|
99
|
-
if (u =
|
|
100
|
-
|
|
101
|
-
var M =
|
|
102
|
-
c && (
|
|
94
|
+
n.en.relativeTime = g, f.fromToBase = function(h, m, l, a, c) {
|
|
95
|
+
for (var i, s, u, p = l.$locale().relativeTime || g, y = 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" }], w = y.length, x = 0; x < w; x += 1) {
|
|
96
|
+
var S = y[x];
|
|
97
|
+
S.d && (i = a ? n(h).diff(l, S.d, !0) : l.diff(h, S.d, !0));
|
|
98
|
+
var $ = (r.rounding || Math.round)(Math.abs(i));
|
|
99
|
+
if (u = i > 0, $ <= S.r || !S.r) {
|
|
100
|
+
$ <= 1 && x > 0 && (S = y[x - 1]);
|
|
101
|
+
var M = p[S.l];
|
|
102
|
+
c && ($ = c("" + $)), s = typeof M == "string" ? M.replace("%d", $) : M($, m, S.l, u);
|
|
103
103
|
break;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
|
-
if (
|
|
107
|
-
var b = u ?
|
|
106
|
+
if (m) return s;
|
|
107
|
+
var b = u ? p.future : p.past;
|
|
108
108
|
return typeof b == "function" ? b(s) : b.replace("%s", s);
|
|
109
|
-
},
|
|
110
|
-
return
|
|
111
|
-
},
|
|
112
|
-
return
|
|
109
|
+
}, f.to = function(h, m) {
|
|
110
|
+
return v(h, m, this, !0);
|
|
111
|
+
}, f.from = function(h, m) {
|
|
112
|
+
return v(h, m, this);
|
|
113
113
|
};
|
|
114
|
-
var
|
|
115
|
-
return
|
|
114
|
+
var d = function(h) {
|
|
115
|
+
return h.$u ? n.utc() : n();
|
|
116
116
|
};
|
|
117
|
-
|
|
118
|
-
return this.to(
|
|
119
|
-
},
|
|
120
|
-
return this.from(
|
|
117
|
+
f.toNow = function(h) {
|
|
118
|
+
return this.to(d(this), h);
|
|
119
|
+
}, f.fromNow = function(h) {
|
|
120
|
+
return this.from(d(this), h);
|
|
121
121
|
};
|
|
122
122
|
};
|
|
123
123
|
}));
|
|
124
|
-
})(
|
|
124
|
+
})(z)), z.exports;
|
|
125
125
|
}
|
|
126
|
-
var
|
|
127
|
-
const
|
|
128
|
-
var
|
|
129
|
-
function
|
|
130
|
-
return
|
|
126
|
+
var Ge = /* @__PURE__ */ Ke();
|
|
127
|
+
const Ze = /* @__PURE__ */ Q(Ge);
|
|
128
|
+
var H = { exports: {} }, Je = H.exports, ae;
|
|
129
|
+
function Xe() {
|
|
130
|
+
return ae || (ae = 1, (function(e, t) {
|
|
131
131
|
(function(r, o) {
|
|
132
132
|
e.exports = o();
|
|
133
|
-
})(
|
|
133
|
+
})(Je, (function() {
|
|
134
134
|
var r = { year: 0, month: 1, day: 2, hour: 3, minute: 4, second: 5 }, o = {};
|
|
135
|
-
return function(
|
|
136
|
-
var
|
|
137
|
-
|
|
138
|
-
var s = new Date(
|
|
139
|
-
|
|
140
|
-
var w =
|
|
141
|
-
return S || (S = new Intl.DateTimeFormat("en-US", { hour12: !1, timeZone:
|
|
142
|
-
})(c,
|
|
135
|
+
return function(n, f, g) {
|
|
136
|
+
var v, d = function(a, c, i) {
|
|
137
|
+
i === void 0 && (i = {});
|
|
138
|
+
var s = new Date(a), u = (function(p, y) {
|
|
139
|
+
y === void 0 && (y = {});
|
|
140
|
+
var w = y.timeZoneName || "short", x = p + "|" + w, S = o[x];
|
|
141
|
+
return S || (S = new Intl.DateTimeFormat("en-US", { hour12: !1, timeZone: p, year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit", timeZoneName: w }), o[x] = S), S;
|
|
142
|
+
})(c, i);
|
|
143
143
|
return u.formatToParts(s);
|
|
144
|
-
},
|
|
145
|
-
for (var
|
|
146
|
-
var
|
|
147
|
-
|
|
144
|
+
}, h = function(a, c) {
|
|
145
|
+
for (var i = d(a, c), s = [], u = 0; u < i.length; u += 1) {
|
|
146
|
+
var p = i[u], y = p.type, w = p.value, x = r[y];
|
|
147
|
+
x >= 0 && (s[x] = parseInt(w, 10));
|
|
148
148
|
}
|
|
149
|
-
var S = s[3],
|
|
150
|
-
return (
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
var
|
|
155
|
-
if (!Number(w))
|
|
156
|
-
else if (
|
|
157
|
-
var
|
|
158
|
-
|
|
149
|
+
var S = s[3], $ = S === 24 ? 0 : S, M = s[0] + "-" + s[1] + "-" + s[2] + " " + $ + ":" + s[4] + ":" + s[5] + ":000", b = +a;
|
|
150
|
+
return (g.utc(M).valueOf() - (b -= b % 1e3)) / 6e4;
|
|
151
|
+
}, m = f.prototype;
|
|
152
|
+
m.tz = function(a, c) {
|
|
153
|
+
a === void 0 && (a = v);
|
|
154
|
+
var i, s = this.utcOffset(), u = this.toDate(), p = u.toLocaleString("en-US", { timeZone: a }), y = Math.round((u - new Date(p)) / 1e3 / 60), w = 15 * -Math.round(u.getTimezoneOffset() / 15) - y;
|
|
155
|
+
if (!Number(w)) i = this.utcOffset(0, c);
|
|
156
|
+
else if (i = g(p, { locale: this.$L }).$set("millisecond", this.$ms).utcOffset(w, !0), c) {
|
|
157
|
+
var x = i.utcOffset();
|
|
158
|
+
i = i.add(s - x, "minute");
|
|
159
159
|
}
|
|
160
|
-
return
|
|
161
|
-
},
|
|
162
|
-
var c = this.$x.$timezone ||
|
|
160
|
+
return i.$x.$timezone = a, i;
|
|
161
|
+
}, m.offsetName = function(a) {
|
|
162
|
+
var c = this.$x.$timezone || g.tz.guess(), i = d(this.valueOf(), c, { timeZoneName: a }).find((function(s) {
|
|
163
163
|
return s.type.toLowerCase() === "timezonename";
|
|
164
164
|
}));
|
|
165
|
-
return
|
|
165
|
+
return i && i.value;
|
|
166
166
|
};
|
|
167
|
-
var l =
|
|
168
|
-
|
|
169
|
-
if (!this.$x || !this.$x.$timezone) return l.call(this,
|
|
170
|
-
var
|
|
171
|
-
return l.call(
|
|
172
|
-
},
|
|
173
|
-
var s =
|
|
174
|
-
if (typeof
|
|
175
|
-
var
|
|
176
|
-
var
|
|
177
|
-
if (M === I) return [
|
|
178
|
-
var G =
|
|
179
|
-
return I === G ? [
|
|
180
|
-
})(
|
|
167
|
+
var l = m.startOf;
|
|
168
|
+
m.startOf = function(a, c) {
|
|
169
|
+
if (!this.$x || !this.$x.$timezone) return l.call(this, a, c);
|
|
170
|
+
var i = g(this.format("YYYY-MM-DD HH:mm:ss:SSS"), { locale: this.$L });
|
|
171
|
+
return l.call(i, a, c).tz(this.$x.$timezone, !0);
|
|
172
|
+
}, g.tz = function(a, c, i) {
|
|
173
|
+
var s = i && c, u = i || c || v, p = h(+g(), u);
|
|
174
|
+
if (typeof a != "string") return g(a).tz(u);
|
|
175
|
+
var y = (function($, M, b) {
|
|
176
|
+
var O = $ - 60 * M * 1e3, I = h(O, b);
|
|
177
|
+
if (M === I) return [O, M];
|
|
178
|
+
var G = h(O -= 60 * (I - M) * 1e3, b);
|
|
179
|
+
return I === G ? [O, I] : [$ - 60 * Math.min(I, G) * 1e3, Math.max(I, G)];
|
|
180
|
+
})(g.utc(a, s).valueOf(), p, u), w = y[0], x = y[1], S = g(w).utcOffset(x);
|
|
181
181
|
return S.$x.$timezone = u, S;
|
|
182
|
-
},
|
|
182
|
+
}, g.tz.guess = function() {
|
|
183
183
|
return Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
184
|
-
},
|
|
185
|
-
|
|
184
|
+
}, g.tz.setDefault = function(a) {
|
|
185
|
+
v = a;
|
|
186
186
|
};
|
|
187
187
|
};
|
|
188
188
|
}));
|
|
189
|
-
})(
|
|
189
|
+
})(H)), H.exports;
|
|
190
190
|
}
|
|
191
|
-
var
|
|
192
|
-
const
|
|
193
|
-
var V = { exports: {} },
|
|
194
|
-
function
|
|
195
|
-
return
|
|
191
|
+
var Qe = /* @__PURE__ */ Xe();
|
|
192
|
+
const et = /* @__PURE__ */ Q(Qe);
|
|
193
|
+
var V = { exports: {} }, tt = V.exports, ie;
|
|
194
|
+
function rt() {
|
|
195
|
+
return ie || (ie = 1, (function(e, t) {
|
|
196
196
|
(function(r, o) {
|
|
197
197
|
e.exports = o();
|
|
198
|
-
})(
|
|
199
|
-
var r = "minute", o = /[+-]\d\d(?::?\d\d)?/g,
|
|
200
|
-
return function(
|
|
201
|
-
var
|
|
202
|
-
|
|
198
|
+
})(tt, (function() {
|
|
199
|
+
var r = "minute", o = /[+-]\d\d(?::?\d\d)?/g, n = /([+-]|\d\d)/g;
|
|
200
|
+
return function(f, g, v) {
|
|
201
|
+
var d = g.prototype;
|
|
202
|
+
v.utc = function(s) {
|
|
203
203
|
var u = { date: s, utc: !0, args: arguments };
|
|
204
|
-
return new
|
|
205
|
-
},
|
|
206
|
-
var u =
|
|
204
|
+
return new g(u);
|
|
205
|
+
}, d.utc = function(s) {
|
|
206
|
+
var u = v(this.toDate(), { locale: this.$L, utc: !0 });
|
|
207
207
|
return s ? u.add(this.utcOffset(), r) : u;
|
|
208
|
-
},
|
|
209
|
-
return
|
|
208
|
+
}, d.local = function() {
|
|
209
|
+
return v(this.toDate(), { locale: this.$L, utc: !1 });
|
|
210
210
|
};
|
|
211
|
-
var
|
|
212
|
-
|
|
213
|
-
s.utc && (this.$u = !0), this.$utils().u(s.$offset) || (this.$offset = s.$offset),
|
|
211
|
+
var h = d.parse;
|
|
212
|
+
d.parse = function(s) {
|
|
213
|
+
s.utc && (this.$u = !0), this.$utils().u(s.$offset) || (this.$offset = s.$offset), h.call(this, s);
|
|
214
214
|
};
|
|
215
|
-
var
|
|
216
|
-
|
|
215
|
+
var m = d.init;
|
|
216
|
+
d.init = function() {
|
|
217
217
|
if (this.$u) {
|
|
218
218
|
var s = this.$d;
|
|
219
219
|
this.$y = s.getUTCFullYear(), this.$M = s.getUTCMonth(), this.$D = s.getUTCDate(), this.$W = s.getUTCDay(), this.$H = s.getUTCHours(), this.$m = s.getUTCMinutes(), this.$s = s.getUTCSeconds(), this.$ms = s.getUTCMilliseconds();
|
|
220
|
-
} else
|
|
220
|
+
} else m.call(this);
|
|
221
221
|
};
|
|
222
|
-
var l =
|
|
223
|
-
|
|
224
|
-
var
|
|
225
|
-
if (
|
|
222
|
+
var l = d.utcOffset;
|
|
223
|
+
d.utcOffset = function(s, u) {
|
|
224
|
+
var p = this.$utils().u;
|
|
225
|
+
if (p(s)) return this.$u ? 0 : p(this.$offset) ? l.call(this) : this.$offset;
|
|
226
226
|
if (typeof s == "string" && (s = (function(S) {
|
|
227
227
|
S === void 0 && (S = "");
|
|
228
|
-
var
|
|
229
|
-
if (
|
|
230
|
-
var M = ("" +
|
|
231
|
-
return
|
|
228
|
+
var $ = S.match(o);
|
|
229
|
+
if (!$) return null;
|
|
230
|
+
var M = ("" + $[0]).match(n) || ["-", 0, 0], b = M[0], O = 60 * +M[1] + +M[2];
|
|
231
|
+
return O === 0 ? 0 : b === "+" ? O : -O;
|
|
232
232
|
})(s), s === null)) return this;
|
|
233
|
-
var
|
|
234
|
-
if (
|
|
233
|
+
var y = Math.abs(s) <= 16 ? 60 * s : s;
|
|
234
|
+
if (y === 0) return this.utc(u);
|
|
235
235
|
var w = this.clone();
|
|
236
|
-
if (u) return w.$offset =
|
|
237
|
-
var
|
|
238
|
-
return (w = this.local().add(
|
|
236
|
+
if (u) return w.$offset = y, w.$u = !1, w;
|
|
237
|
+
var x = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset();
|
|
238
|
+
return (w = this.local().add(y + x, r)).$offset = y, w.$x.$localOffset = x, w;
|
|
239
239
|
};
|
|
240
|
-
var
|
|
241
|
-
|
|
240
|
+
var a = d.format;
|
|
241
|
+
d.format = function(s) {
|
|
242
242
|
var u = s || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : "");
|
|
243
|
-
return
|
|
244
|
-
},
|
|
243
|
+
return a.call(this, u);
|
|
244
|
+
}, d.valueOf = function() {
|
|
245
245
|
var s = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset());
|
|
246
246
|
return this.$d.valueOf() - 6e4 * s;
|
|
247
|
-
},
|
|
247
|
+
}, d.isUTC = function() {
|
|
248
248
|
return !!this.$u;
|
|
249
|
-
},
|
|
249
|
+
}, d.toISOString = function() {
|
|
250
250
|
return this.toDate().toISOString();
|
|
251
|
-
},
|
|
251
|
+
}, d.toString = function() {
|
|
252
252
|
return this.toDate().toUTCString();
|
|
253
253
|
};
|
|
254
|
-
var c =
|
|
255
|
-
|
|
256
|
-
return s === "s" && this.$offset ?
|
|
254
|
+
var c = d.toDate;
|
|
255
|
+
d.toDate = function(s) {
|
|
256
|
+
return s === "s" && this.$offset ? v(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : c.call(this);
|
|
257
257
|
};
|
|
258
|
-
var
|
|
259
|
-
|
|
260
|
-
if (s && this.$u === s.$u) return
|
|
261
|
-
var
|
|
262
|
-
return
|
|
258
|
+
var i = d.diff;
|
|
259
|
+
d.diff = function(s, u, p) {
|
|
260
|
+
if (s && this.$u === s.$u) return i.call(this, s, u, p);
|
|
261
|
+
var y = this.local(), w = v(s).local();
|
|
262
|
+
return i.call(y, w, u, p);
|
|
263
263
|
};
|
|
264
264
|
};
|
|
265
265
|
}));
|
|
266
266
|
})(V)), V.exports;
|
|
267
267
|
}
|
|
268
|
-
var
|
|
269
|
-
const
|
|
268
|
+
var ot = /* @__PURE__ */ rt();
|
|
269
|
+
const st = /* @__PURE__ */ Q(ot), nt = "ui_theme", at = (e) => typeof e == "string", it = (e) => typeof e == "number" && !isNaN(e), ct = (e) => typeof e == "boolean", ut = (e) => typeof e == "function", lt = (e) => e !== null && typeof e == "object", dt = (e) => Array.isArray(e), mt = (e) => e === null, ft = (e) => e === void 0, gt = (e) => e == null, ht = (e, t) => {
|
|
270
270
|
let r = 0;
|
|
271
271
|
return (...o) => {
|
|
272
|
-
const
|
|
273
|
-
|
|
272
|
+
const n = Date.now();
|
|
273
|
+
n - r >= t && (r = n, e(...o));
|
|
274
274
|
};
|
|
275
|
-
},
|
|
275
|
+
}, pt = (e, t) => {
|
|
276
276
|
let r;
|
|
277
277
|
return (...o) => {
|
|
278
278
|
clearTimeout(r), r = setTimeout(() => e(...o), t);
|
|
279
279
|
};
|
|
280
|
-
},
|
|
280
|
+
}, yt = async (e) => {
|
|
281
281
|
try {
|
|
282
282
|
return await navigator.clipboard.writeText(e), !0;
|
|
283
283
|
} catch (t) {
|
|
@@ -286,40 +286,40 @@ const ot = /* @__PURE__ */ Q(rt), st = "ui_theme", nt = (e) => typeof e == "stri
|
|
|
286
286
|
}, q = () => {
|
|
287
287
|
const e = window.innerWidth;
|
|
288
288
|
return e < 768 ? "mobile" : e < 1024 ? "tablet" : "desktop";
|
|
289
|
-
},
|
|
289
|
+
}, wt = () => q() === "mobile", St = () => q() === "tablet", vt = () => q() === "desktop", xt = () => "#" + Math.floor(Math.random() * 16777215).toString(16), K = (e) => !e || e.length === 0, Ct = (e) => [...new Set(e)], $t = (e) => {
|
|
290
290
|
if (!K(e))
|
|
291
291
|
return Math.max(...e);
|
|
292
|
-
},
|
|
292
|
+
}, Mt = (e) => {
|
|
293
293
|
if (!K(e))
|
|
294
294
|
return Math.min(...e);
|
|
295
|
-
},
|
|
295
|
+
}, bt = (e) => {
|
|
296
296
|
if (!K(e))
|
|
297
297
|
return e.reduce((t, r) => t + r, 0) / e.length;
|
|
298
|
-
},
|
|
298
|
+
}, Tt = (e) => e.reduce((t, r) => t + r, 0), kt = (e, t) => e.filter(t).length, Dt = (e) => [...e].reverse(), Ot = (e) => {
|
|
299
299
|
const t = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();
|
|
300
300
|
return e.forEach((o) => {
|
|
301
301
|
t.has(o) ? r.add(o) : t.add(o);
|
|
302
302
|
}), Array.from(r);
|
|
303
|
-
}, Nt = (e, t) => Math.random() * (t - e) + e,
|
|
303
|
+
}, Nt = (e, t) => Math.random() * (t - e) + e, _t = (e, t, r) => Math.min(Math.max(e, t), r), Ut = (e, t = 0) => Math.round(e * Math.pow(10, t)) / Math.pow(10, t), Et = (e, t) => {
|
|
304
304
|
try {
|
|
305
305
|
sessionStorage.setItem(e, JSON.stringify(t));
|
|
306
306
|
} catch (r) {
|
|
307
307
|
console.error("Error saving to sessionStorage:", r);
|
|
308
308
|
}
|
|
309
|
-
},
|
|
309
|
+
}, It = (e, t) => {
|
|
310
310
|
try {
|
|
311
311
|
const r = sessionStorage.getItem(e);
|
|
312
312
|
return r ? JSON.parse(r) : t || null;
|
|
313
313
|
} catch (r) {
|
|
314
314
|
return console.error("Error reading from sessionStorage:", r), t || null;
|
|
315
315
|
}
|
|
316
|
-
},
|
|
316
|
+
}, Pt = (e) => {
|
|
317
317
|
try {
|
|
318
318
|
sessionStorage.removeItem(e);
|
|
319
319
|
} catch (t) {
|
|
320
320
|
console.error("Error removing from sessionStorage:", t);
|
|
321
321
|
}
|
|
322
|
-
},
|
|
322
|
+
}, At = () => {
|
|
323
323
|
try {
|
|
324
324
|
sessionStorage.clear();
|
|
325
325
|
} catch (e) {
|
|
@@ -328,97 +328,97 @@ const ot = /* @__PURE__ */ Q(rt), st = "ui_theme", nt = (e) => typeof e == "stri
|
|
|
328
328
|
}, Lt = (e, t, r = 30) => {
|
|
329
329
|
const o = /* @__PURE__ */ new Date();
|
|
330
330
|
o.setTime(o.getTime() + r * 24 * 60 * 60 * 1e3), document.cookie = `${e}=${t};expires=${o.toUTCString()};path=/`;
|
|
331
|
-
},
|
|
331
|
+
}, Ft = (e) => {
|
|
332
332
|
const t = e + "=", r = document.cookie.split(";");
|
|
333
333
|
for (let o = 0; o < r.length; o++) {
|
|
334
|
-
let
|
|
335
|
-
for (;
|
|
336
|
-
if (
|
|
334
|
+
let n = r[o];
|
|
335
|
+
for (; n.charAt(0) === " "; ) n = n.substring(1, n.length);
|
|
336
|
+
if (n.indexOf(t) === 0) return n.substring(t.length, n.length);
|
|
337
337
|
}
|
|
338
338
|
return null;
|
|
339
|
-
},
|
|
339
|
+
}, Yt = (e) => {
|
|
340
340
|
document.cookie = `${e}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/`;
|
|
341
|
-
},
|
|
341
|
+
}, Se = (e) => typeof e != "string" ? !e : e.trim().length === 0, Rt = (e, t) => Se(e) ? t : e || "", jt = (e) => e.replace(/-([a-z])/g, (t) => t[1].toUpperCase()), zt = (e) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e), Ht = (e) => {
|
|
342
342
|
try {
|
|
343
343
|
return new URL(e), !0;
|
|
344
344
|
} catch {
|
|
345
345
|
return !1;
|
|
346
346
|
}
|
|
347
|
-
},
|
|
347
|
+
}, Vt = (e, t, r = " ") => e.padStart(t, r), Bt = (e, t, r = " ") => e.padEnd(t, r), ve = (e, t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") => {
|
|
348
348
|
let r = "";
|
|
349
349
|
for (let o = 0; o < e; o++)
|
|
350
350
|
r += t.charAt(Math.floor(Math.random() * t.length));
|
|
351
351
|
return r;
|
|
352
|
-
},
|
|
352
|
+
}, Wt = () => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
|
353
353
|
const t = Math.random() * 16 | 0;
|
|
354
354
|
return (e === "x" ? t : t & 3 | 8).toString(16);
|
|
355
|
-
}),
|
|
356
|
-
const r =
|
|
357
|
-
return e >= 32 ? r +
|
|
355
|
+
}), ee = (e = 32) => {
|
|
356
|
+
const r = Wt().replace(/-/g, "");
|
|
357
|
+
return e >= 32 ? r + ve(e - 32, "0123456789abcdef") : r.substring(0, e);
|
|
358
358
|
};
|
|
359
|
-
async function
|
|
359
|
+
async function qt(e) {
|
|
360
360
|
const [{ default: t }, { default: r }] = await Promise.all([
|
|
361
|
-
import("../chunks/sha256-
|
|
362
|
-
import("../chunks/enc-base64-
|
|
361
|
+
import("../chunks/sha256-BTxiV_cX.js").then((o) => o.s),
|
|
362
|
+
import("../chunks/enc-base64-DtP_G7ev.js").then((o) => o.e)
|
|
363
363
|
]);
|
|
364
364
|
return t(e).toString(r);
|
|
365
365
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
const
|
|
366
|
+
A.extend(Ze);
|
|
367
|
+
A.extend(st);
|
|
368
|
+
A.extend(et);
|
|
369
|
+
A.locale("ko");
|
|
370
|
+
const Kt = () => A(), xe = (e = "YYYY-MM-DD") => A().format(e), Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
371
371
|
__proto__: null,
|
|
372
|
-
THEME_COOKIE_NAME:
|
|
373
|
-
arrAverage:
|
|
374
|
-
arrCount:
|
|
372
|
+
THEME_COOKIE_NAME: nt,
|
|
373
|
+
arrAverage: bt,
|
|
374
|
+
arrCount: kt,
|
|
375
375
|
arrMax: $t,
|
|
376
|
-
arrMin:
|
|
377
|
-
arrReverse:
|
|
378
|
-
arrSum:
|
|
379
|
-
arrUnique:
|
|
380
|
-
clamp:
|
|
381
|
-
clearSessionStorage:
|
|
382
|
-
copyToClipboard:
|
|
383
|
-
debounce:
|
|
384
|
-
deleteCookie:
|
|
376
|
+
arrMin: Mt,
|
|
377
|
+
arrReverse: Dt,
|
|
378
|
+
arrSum: Tt,
|
|
379
|
+
arrUnique: Ct,
|
|
380
|
+
clamp: _t,
|
|
381
|
+
clearSessionStorage: At,
|
|
382
|
+
copyToClipboard: yt,
|
|
383
|
+
debounce: pt,
|
|
384
|
+
deleteCookie: Yt,
|
|
385
385
|
duplicates: Ot,
|
|
386
|
-
encryptSha256:
|
|
387
|
-
generateRandomColor:
|
|
388
|
-
generateRandomString:
|
|
389
|
-
generateUID:
|
|
390
|
-
getCookie:
|
|
391
|
-
getCurrentDate:
|
|
392
|
-
getCurrentDateString:
|
|
386
|
+
encryptSha256: qt,
|
|
387
|
+
generateRandomColor: xt,
|
|
388
|
+
generateRandomString: ve,
|
|
389
|
+
generateUID: ee,
|
|
390
|
+
getCookie: Ft,
|
|
391
|
+
getCurrentDate: Kt,
|
|
392
|
+
getCurrentDateString: xe,
|
|
393
393
|
getDeviceType: q,
|
|
394
|
-
getSessionStorage:
|
|
395
|
-
isArray:
|
|
396
|
-
isBoolean:
|
|
397
|
-
isDesktop:
|
|
398
|
-
isEmpty:
|
|
394
|
+
getSessionStorage: It,
|
|
395
|
+
isArray: dt,
|
|
396
|
+
isBoolean: ct,
|
|
397
|
+
isDesktop: vt,
|
|
398
|
+
isEmpty: Se,
|
|
399
399
|
isEmptyArray: K,
|
|
400
|
-
isFunction:
|
|
401
|
-
isMobile:
|
|
402
|
-
isNull:
|
|
403
|
-
isNullOrUndefined:
|
|
404
|
-
isNumber:
|
|
405
|
-
isObject:
|
|
400
|
+
isFunction: ut,
|
|
401
|
+
isMobile: wt,
|
|
402
|
+
isNull: mt,
|
|
403
|
+
isNullOrUndefined: gt,
|
|
404
|
+
isNumber: it,
|
|
405
|
+
isObject: lt,
|
|
406
406
|
isSafeEmpty: Rt,
|
|
407
|
-
isString:
|
|
408
|
-
isTablet:
|
|
409
|
-
isUndefined:
|
|
407
|
+
isString: at,
|
|
408
|
+
isTablet: St,
|
|
409
|
+
isUndefined: ft,
|
|
410
410
|
isValidEmail: zt,
|
|
411
411
|
isValidUrl: Ht,
|
|
412
|
-
padLeft:
|
|
413
|
-
padRight:
|
|
412
|
+
padLeft: Vt,
|
|
413
|
+
padRight: Bt,
|
|
414
414
|
random: Nt,
|
|
415
|
-
removeSessionStorage:
|
|
415
|
+
removeSessionStorage: Pt,
|
|
416
416
|
round: Ut,
|
|
417
417
|
setCookie: Lt,
|
|
418
|
-
setSessionStorage:
|
|
418
|
+
setSessionStorage: Et,
|
|
419
419
|
throttle: ht,
|
|
420
|
-
toCamelCase:
|
|
421
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
420
|
+
toCamelCase: jt
|
|
421
|
+
}, Symbol.toStringTag, { value: "Module" })), Y = (() => {
|
|
422
422
|
try {
|
|
423
423
|
if (import.meta.env.DEV)
|
|
424
424
|
return !0;
|
|
@@ -426,31 +426,31 @@ const qt = () => L(), Kt = (e = "YYYY-MM-DD") => L().format(e), ve = /* @__PURE_
|
|
|
426
426
|
}
|
|
427
427
|
return !1;
|
|
428
428
|
})();
|
|
429
|
-
let
|
|
429
|
+
let $e = [], Me = [];
|
|
430
430
|
function Gt(e) {
|
|
431
|
-
e.devHosts && (
|
|
431
|
+
e.devHosts && ($e = e.devHosts), e.prodHosts && (Me = e.prodHosts);
|
|
432
432
|
}
|
|
433
|
-
function
|
|
433
|
+
function be() {
|
|
434
434
|
if (typeof window < "u" && window.location)
|
|
435
435
|
return window.location.hostname;
|
|
436
436
|
}
|
|
437
|
-
const
|
|
438
|
-
const e =
|
|
439
|
-
return !!(e && xe.includes(e));
|
|
440
|
-
})(), be = (() => {
|
|
441
|
-
const e = Ce();
|
|
437
|
+
const Te = (() => {
|
|
438
|
+
const e = be();
|
|
442
439
|
return !!(e && $e.includes(e));
|
|
440
|
+
})(), ke = (() => {
|
|
441
|
+
const e = be();
|
|
442
|
+
return !!(e && Me.includes(e));
|
|
443
443
|
})();
|
|
444
444
|
function Zt() {
|
|
445
|
-
return
|
|
445
|
+
return Y ? "X" : Te ? "D" : ke ? "P" : "X";
|
|
446
446
|
}
|
|
447
|
-
const
|
|
447
|
+
const De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
448
448
|
__proto__: null,
|
|
449
449
|
configureEnvUtils: Gt,
|
|
450
450
|
getEnvCode: Zt,
|
|
451
|
-
isDev:
|
|
452
|
-
isLocal:
|
|
453
|
-
isProd:
|
|
451
|
+
isDev: Te,
|
|
452
|
+
isLocal: Y,
|
|
453
|
+
isProd: ke
|
|
454
454
|
}, Symbol.toStringTag, { value: "Module" })), T = {
|
|
455
455
|
duration: 4.5,
|
|
456
456
|
// 4.5초
|
|
@@ -470,14 +470,14 @@ class P {
|
|
|
470
470
|
const {
|
|
471
471
|
message: r,
|
|
472
472
|
description: o,
|
|
473
|
-
duration:
|
|
474
|
-
placement:
|
|
473
|
+
duration: n = T.duration,
|
|
474
|
+
placement: f = T.placement
|
|
475
475
|
} = t;
|
|
476
476
|
U.error({
|
|
477
477
|
message: `${r}`,
|
|
478
478
|
description: o || "오류가 발생했습니다. 다시 시도해주세요.",
|
|
479
|
-
duration:
|
|
480
|
-
placement:
|
|
479
|
+
duration: n,
|
|
480
|
+
placement: f,
|
|
481
481
|
style: {
|
|
482
482
|
borderLeft: "4px solid #ff4d4f",
|
|
483
483
|
backgroundColor: "#fff2f0"
|
|
@@ -541,33 +541,33 @@ class P {
|
|
|
541
541
|
U.destroy();
|
|
542
542
|
}
|
|
543
543
|
}
|
|
544
|
-
const
|
|
545
|
-
|
|
544
|
+
const N = P.getInstance(), te = (e) => {
|
|
545
|
+
N.showBwgError(e);
|
|
546
546
|
}, Jt = (e, t, r) => {
|
|
547
|
-
|
|
548
|
-
}, te = (e, t, r) => {
|
|
549
|
-
D.showInfo(e, t, r);
|
|
547
|
+
N.showSuccess(e, t, r);
|
|
550
548
|
}, re = (e, t, r) => {
|
|
551
|
-
|
|
549
|
+
N.showInfo(e, t, r);
|
|
550
|
+
}, oe = (e, t, r) => {
|
|
551
|
+
N.showWarning(e, t, r);
|
|
552
552
|
}, Xt = (e, t, r) => {
|
|
553
|
-
|
|
553
|
+
N.showError(e, t, r);
|
|
554
554
|
}, Qt = () => {
|
|
555
|
-
|
|
555
|
+
N.destroy();
|
|
556
556
|
}, er = (e) => {
|
|
557
|
-
|
|
558
|
-
},
|
|
557
|
+
N.close(e);
|
|
558
|
+
}, Oe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
559
559
|
__proto__: null,
|
|
560
560
|
closeNotification: er,
|
|
561
561
|
destroyNotifications: Qt,
|
|
562
|
-
notiBwgError:
|
|
562
|
+
notiBwgError: te,
|
|
563
563
|
notiError: Xt,
|
|
564
|
-
notiInfo:
|
|
564
|
+
notiInfo: re,
|
|
565
565
|
notiSuccess: Jt,
|
|
566
|
-
notiWarning:
|
|
567
|
-
notificationService:
|
|
566
|
+
notiWarning: oe,
|
|
567
|
+
notificationService: N
|
|
568
568
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
569
569
|
let k = null;
|
|
570
|
-
const
|
|
570
|
+
const se = async (e) => {
|
|
571
571
|
if (k === null)
|
|
572
572
|
if (e === void 0)
|
|
573
573
|
try {
|
|
@@ -579,9 +579,9 @@ const oe = async (e) => {
|
|
|
579
579
|
else
|
|
580
580
|
k = e;
|
|
581
581
|
}, tr = () => k, rr = async () => (console.log("IP 검증 비활성화됨 (성능 최적화)"), k || "unknown");
|
|
582
|
-
class
|
|
583
|
-
constructor(t, r, o,
|
|
584
|
-
super(t), this.name = "ApiError", this.detailMsg = r, this.response = o, this.msgCd =
|
|
582
|
+
class C extends Error {
|
|
583
|
+
constructor(t, r, o, n, f) {
|
|
584
|
+
super(t), this.name = "ApiError", this.detailMsg = r, this.response = o, this.msgCd = n, this.errorType = f, Error.captureStackTrace && Error.captureStackTrace(this, C);
|
|
585
585
|
}
|
|
586
586
|
}
|
|
587
587
|
const B = {
|
|
@@ -595,16 +595,16 @@ const B = {
|
|
|
595
595
|
showError: !0,
|
|
596
596
|
retryCount: 0,
|
|
597
597
|
retryDelay: 1e3
|
|
598
|
-
},
|
|
598
|
+
}, R = X.create({
|
|
599
599
|
timeout: B.timeout,
|
|
600
600
|
withCredentials: B.withCredentials,
|
|
601
601
|
headers: {
|
|
602
602
|
"Content-Type": "application/json; charset=utf-8",
|
|
603
603
|
Accept: "application/json; charset=utf-8",
|
|
604
|
-
"Apm-Guid":
|
|
604
|
+
"Apm-Guid": ee()
|
|
605
605
|
}
|
|
606
606
|
});
|
|
607
|
-
|
|
607
|
+
R.interceptors.request.use(
|
|
608
608
|
(e) => {
|
|
609
609
|
e.showLoading && !e.isPopup && Z.getState().showLoading(), e.showLoading && e.isPopup && J.getState().showLoading();
|
|
610
610
|
let t = "UNKNOWN";
|
|
@@ -615,30 +615,30 @@ Y.interceptors.request.use(
|
|
|
615
615
|
console.warn("trxCd/guid 추출 실패:", o);
|
|
616
616
|
}
|
|
617
617
|
e.trxCd = t, e.requestStartTime = Date.now(), console.log(
|
|
618
|
-
`🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${
|
|
618
|
+
`🚀 API 요청 시작 [거래코드: ${t} / 서비스요청자: ${L()?.userId}]`
|
|
619
619
|
);
|
|
620
620
|
const r = localStorage.getItem("accessToken");
|
|
621
621
|
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;
|
|
622
622
|
},
|
|
623
623
|
(e) => (console.error("❌ 요청 인터셉터 에러:", e), Promise.reject(e))
|
|
624
624
|
);
|
|
625
|
-
|
|
625
|
+
R.interceptors.response.use(
|
|
626
626
|
(e) => {
|
|
627
627
|
e.config.showLoading && !e.config.isPopup && Z.getState().hideLoading(), e.config.isPopup && J.getState().hideLoading();
|
|
628
628
|
let t = "UNKNOWN", r = "UNKNOWN";
|
|
629
629
|
const o = (/* @__PURE__ */ new Date()).getTime();
|
|
630
630
|
try {
|
|
631
631
|
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");
|
|
632
|
-
} catch (
|
|
633
|
-
console.warn("trxCd/guid 추출 실패:",
|
|
632
|
+
} catch (f) {
|
|
633
|
+
console.warn("trxCd/guid 추출 실패:", f);
|
|
634
634
|
}
|
|
635
|
-
let
|
|
636
|
-
return e.config.requestStartTime && (
|
|
637
|
-
`✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${
|
|
635
|
+
let n = 0;
|
|
636
|
+
return e.config.requestStartTime && (n = o - e.config.requestStartTime), console.log(
|
|
637
|
+
`✅ API 응답 성공 [거래코드: ${t} / GUID : ${r}] - (소요시간: ${n}ms)`
|
|
638
638
|
), e;
|
|
639
639
|
},
|
|
640
640
|
async (e) => {
|
|
641
|
-
if (e.config && e.config.showLoading && !e.config.isPopup && Z.getState().hideLoading(), e.config && e.config.isPopup && J.getState().hideLoading(), console.error("❌ API 응답 에러:", e),
|
|
641
|
+
if (e.config && e.config.showLoading && !e.config.isPopup && Z.getState().hideLoading(), e.config && e.config.isPopup && J.getState().hideLoading(), console.error("❌ API 응답 에러:", e), Y && console.error("🚨 Error Details:", {
|
|
642
642
|
message: e.message,
|
|
643
643
|
status: e.response?.status,
|
|
644
644
|
statusText: e.response?.statusText,
|
|
@@ -662,7 +662,7 @@ Y.interceptors.response.use(
|
|
|
662
662
|
);
|
|
663
663
|
const o = e.config;
|
|
664
664
|
if (o)
|
|
665
|
-
return o.headers.Authorization = `Bearer ${r.data.accessToken}`,
|
|
665
|
+
return o.headers.Authorization = `Bearer ${r.data.accessToken}`, R(o);
|
|
666
666
|
}
|
|
667
667
|
} catch {
|
|
668
668
|
localStorage.removeItem("accessToken"), localStorage.removeItem("refreshToken"), window.location.href = "/login";
|
|
@@ -671,19 +671,19 @@ Y.interceptors.response.use(
|
|
|
671
671
|
return Promise.reject(e);
|
|
672
672
|
}
|
|
673
673
|
);
|
|
674
|
-
const
|
|
674
|
+
const _ = async (e, t, r) => {
|
|
675
675
|
try {
|
|
676
676
|
const o = {
|
|
677
677
|
...B,
|
|
678
678
|
...r
|
|
679
|
-
}, { activeMenuId:
|
|
679
|
+
}, { activeMenuId: n } = ce.getState();
|
|
680
680
|
if (k === null) {
|
|
681
681
|
const l = Date.now();
|
|
682
|
-
await
|
|
683
|
-
const
|
|
684
|
-
console.log(`[INFO] IP 조회 소요시간: ${
|
|
682
|
+
await se();
|
|
683
|
+
const a = Date.now();
|
|
684
|
+
console.log(`[INFO] IP 조회 소요시간: ${a - l}ms`);
|
|
685
685
|
}
|
|
686
|
-
const
|
|
686
|
+
const f = {
|
|
687
687
|
method: o.method,
|
|
688
688
|
url: "/api/service",
|
|
689
689
|
timeout: o.timeout,
|
|
@@ -691,65 +691,65 @@ const E = async (e, t, r) => {
|
|
|
691
691
|
showLoading: o.showLoading,
|
|
692
692
|
isPopup: o.isPopup
|
|
693
693
|
};
|
|
694
|
-
o.headers && (
|
|
695
|
-
const
|
|
694
|
+
o.headers && (f.headers = o.headers);
|
|
695
|
+
const g = k || "unknown", v = __APP_CD__, d = __SYS_CD__, h = {
|
|
696
696
|
header: {
|
|
697
697
|
trxCd: e,
|
|
698
|
-
userInfo:
|
|
699
|
-
clientIp:
|
|
698
|
+
userInfo: L(),
|
|
699
|
+
clientIp: g,
|
|
700
700
|
// 클라이언트 IP 추가 (서버에서 재확인 권장)
|
|
701
701
|
domainId: "DEFAULT",
|
|
702
|
-
appCd:
|
|
703
|
-
sysCd:
|
|
704
|
-
screenId:
|
|
702
|
+
appCd: v,
|
|
703
|
+
sysCd: d,
|
|
704
|
+
screenId: n
|
|
705
705
|
},
|
|
706
706
|
// data: bxmEncrypt(JSON.stringify(data)),
|
|
707
707
|
data: t
|
|
708
708
|
};
|
|
709
|
-
o.method === "GET" ?
|
|
710
|
-
let
|
|
709
|
+
o.method === "GET" ? f.params = h || o.params : (f.data = h || o.data, o.params && (f.params = o.params));
|
|
710
|
+
let m;
|
|
711
711
|
for (let l = 0; l <= (o.retryCount || 0); l++)
|
|
712
712
|
try {
|
|
713
|
-
const
|
|
714
|
-
if (
|
|
715
|
-
for (const c in
|
|
713
|
+
const a = await R(f);
|
|
714
|
+
if (a.data.header?.resCd == 0) {
|
|
715
|
+
for (const c in a.data)
|
|
716
716
|
if (c !== "header")
|
|
717
|
-
return
|
|
717
|
+
return a.data[c];
|
|
718
718
|
return {};
|
|
719
719
|
} else {
|
|
720
|
-
const c =
|
|
721
|
-
throw new
|
|
720
|
+
const c = a.data.header, i = c?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", s = c?.msgs?.detailMsgs || i, u = c?.msgCd, p = c?.msgs?.type;
|
|
721
|
+
throw new C(i, s, a, u, p);
|
|
722
722
|
}
|
|
723
|
-
} catch (
|
|
724
|
-
if (
|
|
725
|
-
const c =
|
|
726
|
-
"서버에서 오류가 발생했습니다.",
|
|
727
|
-
(typeof
|
|
728
|
-
|
|
723
|
+
} catch (a) {
|
|
724
|
+
if (a.isAxiosError && a.response) {
|
|
725
|
+
const c = a, i = c.response, s = i.data, u = s?.header?.msgs?.basicMsg || c.message || // 실패 시 Axios 에러 메시지 사용
|
|
726
|
+
"서버에서 오류가 발생했습니다.", p = s?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
|
|
727
|
+
(typeof i.data == "string" ? i.data : JSON.stringify(i.data)) || u, y = s?.header?.msgCd, w = s?.header?.msgs?.type;
|
|
728
|
+
m = new C(
|
|
729
729
|
u,
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
730
|
+
p,
|
|
731
|
+
i,
|
|
732
|
+
y,
|
|
733
733
|
w
|
|
734
734
|
);
|
|
735
735
|
} else
|
|
736
|
-
|
|
737
|
-
if (
|
|
738
|
-
await
|
|
736
|
+
m = a;
|
|
737
|
+
if (a.isAxiosError && Ne(a) && l < (o.retryCount || 0)) {
|
|
738
|
+
await _e(o.retryDelay || 1e3);
|
|
739
739
|
continue;
|
|
740
740
|
}
|
|
741
741
|
break;
|
|
742
742
|
}
|
|
743
|
-
if (
|
|
743
|
+
if (m) {
|
|
744
744
|
if (o.showError) {
|
|
745
|
-
const l =
|
|
746
|
-
|
|
745
|
+
const l = m instanceof C ? m.message : "요청 처리 중 오류가 발생했습니다.", a = m instanceof C ? m.msgCd : "요청 처리 중 오류가 발생했습니다.", c = m instanceof C ? m.detailMsg : m.message, i = m instanceof C ? m.errorType : "";
|
|
746
|
+
a?.startsWith("BXM") ? te({
|
|
747
747
|
message: l,
|
|
748
748
|
description: c,
|
|
749
749
|
duration: 5
|
|
750
|
-
}) :
|
|
750
|
+
}) : i == "I" ? re(l, c, 5) : oe(l, c, 5);
|
|
751
751
|
}
|
|
752
|
-
throw
|
|
752
|
+
throw m;
|
|
753
753
|
}
|
|
754
754
|
throw new Error("알 수 없는 API 오류가 발생했습니다.");
|
|
755
755
|
} catch (o) {
|
|
@@ -757,89 +757,89 @@ const E = async (e, t, r) => {
|
|
|
757
757
|
}
|
|
758
758
|
}, or = async (e, t, r, o) => {
|
|
759
759
|
try {
|
|
760
|
-
const
|
|
760
|
+
const n = {
|
|
761
761
|
...B,
|
|
762
762
|
...o
|
|
763
|
-
}, { activeMenuId:
|
|
763
|
+
}, { activeMenuId: f } = ce.getState();
|
|
764
764
|
if (k === null) {
|
|
765
|
-
const
|
|
766
|
-
await
|
|
765
|
+
const a = Date.now();
|
|
766
|
+
await se();
|
|
767
767
|
const c = Date.now();
|
|
768
|
-
console.log(`[INFO] IP 조회 소요시간: ${c -
|
|
768
|
+
console.log(`[INFO] IP 조회 소요시간: ${c - a}ms`);
|
|
769
769
|
}
|
|
770
|
-
const
|
|
771
|
-
method:
|
|
770
|
+
const g = {
|
|
771
|
+
method: n.method,
|
|
772
772
|
url: "/api/" + e + "/service",
|
|
773
|
-
timeout:
|
|
774
|
-
withCredentials:
|
|
775
|
-
showLoading:
|
|
776
|
-
isPopup:
|
|
773
|
+
timeout: n.timeout,
|
|
774
|
+
withCredentials: n.withCredentials,
|
|
775
|
+
showLoading: n.showLoading,
|
|
776
|
+
isPopup: n.isPopup
|
|
777
777
|
};
|
|
778
|
-
|
|
779
|
-
const
|
|
778
|
+
n.headers && (g.headers = n.headers);
|
|
779
|
+
const v = k || "unknown", d = __APP_CD__, h = __SYS_CD__, m = {
|
|
780
780
|
header: {
|
|
781
781
|
trxCd: t,
|
|
782
|
-
userInfo:
|
|
783
|
-
clientIp:
|
|
782
|
+
userInfo: L(),
|
|
783
|
+
clientIp: v,
|
|
784
784
|
// 클라이언트 IP 추가 (서버에서 재확인 권장)
|
|
785
785
|
domainId: "DEFAULT",
|
|
786
|
-
appCd:
|
|
787
|
-
sysCd:
|
|
788
|
-
screenId:
|
|
786
|
+
appCd: d,
|
|
787
|
+
sysCd: h,
|
|
788
|
+
screenId: f
|
|
789
789
|
},
|
|
790
790
|
// data: bxmEncrypt(JSON.stringify(data)),
|
|
791
791
|
data: r
|
|
792
792
|
};
|
|
793
|
-
|
|
793
|
+
Y && console.log("__BWG_LOCAL__ 테스트 입니다. ", Y), n.method === "GET" ? g.params = m || n.params : (g.data = m || n.data, n.params && (g.params = n.params));
|
|
794
794
|
let l;
|
|
795
|
-
for (let
|
|
795
|
+
for (let a = 0; a <= (n.retryCount || 0); a++)
|
|
796
796
|
try {
|
|
797
|
-
const c = await
|
|
797
|
+
const c = await R(g);
|
|
798
798
|
if (c.data.header?.resCd == 0) {
|
|
799
|
-
for (const
|
|
800
|
-
if (
|
|
801
|
-
return c.data[
|
|
799
|
+
for (const i in c.data)
|
|
800
|
+
if (i !== "header")
|
|
801
|
+
return c.data[i];
|
|
802
802
|
return {};
|
|
803
803
|
} else {
|
|
804
|
-
const
|
|
805
|
-
throw new
|
|
804
|
+
const i = c.data.header, s = i?.msgs?.basicMsg || "요청 처리 중 오류가 발생했습니다.", u = i?.msgs?.detailMsgs || s, p = i?.msgCd, y = i?.msgs?.type;
|
|
805
|
+
throw new C(s, u, c, p, y);
|
|
806
806
|
}
|
|
807
807
|
} catch (c) {
|
|
808
808
|
if (c.isAxiosError && c.response) {
|
|
809
|
-
const
|
|
810
|
-
"서버에서 오류가 발생했습니다.",
|
|
811
|
-
(typeof s.data == "string" ? s.data : JSON.stringify(s.data)) ||
|
|
812
|
-
l = new
|
|
813
|
-
|
|
814
|
-
|
|
809
|
+
const i = c, s = i.response, u = s.data, p = u?.header?.msgs?.basicMsg || i.message || // 실패 시 Axios 에러 메시지 사용
|
|
810
|
+
"서버에서 오류가 발생했습니다.", y = u?.header?.msgs?.detailMsgs || // 상세 메시지로 응답 본문 제공 (문자열이 아니면 JSON으로 변환)
|
|
811
|
+
(typeof s.data == "string" ? s.data : JSON.stringify(s.data)) || p, w = u?.header?.msgCd, x = u?.header?.msgs?.type;
|
|
812
|
+
l = new C(
|
|
813
|
+
p,
|
|
814
|
+
y,
|
|
815
815
|
s,
|
|
816
816
|
w,
|
|
817
|
-
|
|
817
|
+
x
|
|
818
818
|
);
|
|
819
819
|
} else
|
|
820
820
|
l = c;
|
|
821
|
-
if (c.isAxiosError &&
|
|
822
|
-
await
|
|
821
|
+
if (c.isAxiosError && Ne(c) && a < (n.retryCount || 0)) {
|
|
822
|
+
await _e(n.retryDelay || 1e3);
|
|
823
823
|
continue;
|
|
824
824
|
}
|
|
825
825
|
break;
|
|
826
826
|
}
|
|
827
827
|
if (l) {
|
|
828
|
-
if (
|
|
829
|
-
const
|
|
830
|
-
c?.startsWith("BXM") ?
|
|
831
|
-
message:
|
|
832
|
-
description:
|
|
828
|
+
if (n.showError) {
|
|
829
|
+
const a = l instanceof C ? l.message : "요청 처리 중 오류가 발생했습니다.", c = l instanceof C ? l.msgCd : "요청 처리 중 오류가 발생했습니다.", i = l instanceof C ? l.detailMsg : l.message, s = l instanceof C ? l.errorType : "";
|
|
830
|
+
c?.startsWith("BXM") ? te({
|
|
831
|
+
message: a,
|
|
832
|
+
description: i,
|
|
833
833
|
duration: 5
|
|
834
|
-
}) : s == "I" ?
|
|
834
|
+
}) : s == "I" ? re(a, i, 5) : oe(a, i, 5);
|
|
835
835
|
}
|
|
836
836
|
throw l;
|
|
837
837
|
}
|
|
838
838
|
throw new Error("알 수 없는 API 오류가 발생했습니다.");
|
|
839
|
-
} catch (
|
|
840
|
-
throw console.error("callService 최종 에러:",
|
|
839
|
+
} catch (n) {
|
|
840
|
+
throw console.error("callService 최종 에러:", n), n;
|
|
841
841
|
}
|
|
842
|
-
},
|
|
842
|
+
}, Ne = (e) => !e.response || e.response.status >= 500 && e.response.status < 600, _e = (e) => new Promise((t) => setTimeout(t, e)), sr = (e, t, r) => _(e, t, { ...r, method: "GET" }), nr = (e, t, r) => _(e, t, { ...r, method: "POST" }), ar = (e, t, r) => _(e, t, { ...r, method: "PUT" }), ir = (e, t, r) => _(e, t, { ...r, method: "DELETE" }), cr = (e, t, r) => _(e, t, { ...r, method: "PATCH" }), ur = async (e, t, r) => {
|
|
843
843
|
try {
|
|
844
844
|
const o = await fetch("/api/permissions", {
|
|
845
845
|
method: "POST",
|
|
@@ -858,28 +858,28 @@ const E = async (e, t, r) => {
|
|
|
858
858
|
} catch (o) {
|
|
859
859
|
throw console.error("권한 확인 서비스 오류:", o), o;
|
|
860
860
|
}
|
|
861
|
-
},
|
|
861
|
+
}, Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
862
862
|
__proto__: null,
|
|
863
|
-
ApiError:
|
|
863
|
+
ApiError: C,
|
|
864
864
|
apiDelete: ir,
|
|
865
865
|
apiGet: sr,
|
|
866
866
|
apiPatch: cr,
|
|
867
867
|
apiPost: nr,
|
|
868
868
|
apiPut: ar,
|
|
869
|
-
callService:
|
|
869
|
+
callService: _,
|
|
870
870
|
callService_SYSCD: or,
|
|
871
871
|
getClientIp: tr,
|
|
872
872
|
getPermissionService: ur,
|
|
873
|
-
setClientIp:
|
|
873
|
+
setClientIp: se,
|
|
874
874
|
verifyClientIp: rr
|
|
875
875
|
}, Symbol.toStringTag, { value: "Module" })), lr = (e, t, r = "text/plain") => {
|
|
876
|
-
const o = new Blob([e], { type: r }),
|
|
877
|
-
|
|
876
|
+
const o = new Blob([e], { type: r }), n = URL.createObjectURL(o), f = document.createElement("a");
|
|
877
|
+
f.href = n, f.download = t, document.body.appendChild(f), f.click(), document.body.removeChild(f), URL.revokeObjectURL(n);
|
|
878
878
|
};
|
|
879
879
|
async function dr(e) {
|
|
880
880
|
try {
|
|
881
|
-
return await
|
|
882
|
-
crprCd:
|
|
881
|
+
return await _("SCMFILE00101", {
|
|
882
|
+
crprCd: L()?.crprCd,
|
|
883
883
|
sysCd: __SYS_CD__,
|
|
884
884
|
fileKey: e
|
|
885
885
|
}).then((r) => {
|
|
@@ -888,73 +888,73 @@ async function dr(e) {
|
|
|
888
888
|
throw console.error("논리파일명이 없습니다."), new Error("논리 파일명 누락");
|
|
889
889
|
if (!o.filePath)
|
|
890
890
|
throw console.error("파일 경로가 없습니다."), new Error("파일 경로 누락");
|
|
891
|
-
const
|
|
891
|
+
const n = `api/download?filePath=${encodeURIComponent(
|
|
892
892
|
o.filePath
|
|
893
893
|
)}&logicalName=${encodeURIComponent(o.lgclFileNm)}`;
|
|
894
|
-
return window.open(
|
|
894
|
+
return window.open(n, "_blank"), { success: !0, message: "파일 다운로드 요청 성공" };
|
|
895
895
|
});
|
|
896
896
|
} catch (t) {
|
|
897
897
|
throw console.error("downloadByFileKey 함수 실행 중 오류 발생:", t), t;
|
|
898
898
|
}
|
|
899
899
|
}
|
|
900
|
-
const
|
|
900
|
+
const Ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
901
901
|
__proto__: null,
|
|
902
902
|
downloadByFileKey: dr,
|
|
903
903
|
downloadFile: lr
|
|
904
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
905
|
-
|
|
904
|
+
}, Symbol.toStringTag, { value: "Module" })), Ie = (e, t = 3) => {
|
|
905
|
+
E.success({
|
|
906
906
|
content: e,
|
|
907
907
|
duration: t
|
|
908
908
|
});
|
|
909
|
-
},
|
|
910
|
-
|
|
909
|
+
}, j = (e, t = 5) => {
|
|
910
|
+
E.error({
|
|
911
911
|
content: e,
|
|
912
912
|
duration: t
|
|
913
913
|
});
|
|
914
914
|
}, mr = (e, t = 4) => {
|
|
915
|
-
|
|
915
|
+
E.warning({
|
|
916
916
|
content: e,
|
|
917
917
|
duration: t
|
|
918
918
|
});
|
|
919
919
|
}, fr = (e, t = 3) => {
|
|
920
|
-
|
|
920
|
+
E.info({
|
|
921
921
|
content: e,
|
|
922
922
|
duration: t
|
|
923
923
|
});
|
|
924
|
-
},
|
|
924
|
+
}, gr = (e = "처리중...") => E.loading({
|
|
925
925
|
content: e,
|
|
926
926
|
duration: 0
|
|
927
927
|
// 수동으로 닫을 때까지 유지
|
|
928
|
-
}),
|
|
929
|
-
|
|
928
|
+
}), hr = (e) => {
|
|
929
|
+
E.destroy(e);
|
|
930
930
|
}, pr = () => {
|
|
931
|
-
|
|
931
|
+
E.destroy();
|
|
932
932
|
}, yr = (e, t = "처리 중 오류가 발생했습니다.") => {
|
|
933
933
|
const r = e?.response?.data?.message || e?.message || t;
|
|
934
|
-
|
|
934
|
+
j(r);
|
|
935
935
|
}, wr = (e = "저장") => {
|
|
936
|
-
|
|
936
|
+
Ie(`${e}이 완료되었습니다.`);
|
|
937
937
|
}, Sr = (e = "저장") => {
|
|
938
|
-
|
|
938
|
+
j(`${e} 중 오류가 발생했습니다.`);
|
|
939
939
|
}, vr = (e) => {
|
|
940
|
-
|
|
940
|
+
j(`이미 사용중인 ${e}입니다.`);
|
|
941
941
|
}, xr = (e) => {
|
|
942
|
-
|
|
943
|
-
},
|
|
942
|
+
j(`${e}을(를) 입력해주세요.`);
|
|
943
|
+
}, Pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
944
944
|
__proto__: null,
|
|
945
945
|
closeAllMessages: pr,
|
|
946
|
-
closeMessage:
|
|
946
|
+
closeMessage: hr,
|
|
947
947
|
showApiError: yr,
|
|
948
948
|
showDuplicateError: vr,
|
|
949
|
-
showError:
|
|
949
|
+
showError: j,
|
|
950
950
|
showInfo: fr,
|
|
951
|
-
showLoading:
|
|
951
|
+
showLoading: gr,
|
|
952
952
|
showRequiredError: xr,
|
|
953
953
|
showSaveError: Sr,
|
|
954
954
|
showSaveSuccess: wr,
|
|
955
|
-
showSuccess:
|
|
955
|
+
showSuccess: Ie,
|
|
956
956
|
showWarning: mr
|
|
957
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
957
|
+
}, Symbol.toStringTag, { value: "Module" })), Cr = {
|
|
958
958
|
/*************************************************************************************************************************************************
|
|
959
959
|
* RealGrid2 use
|
|
960
960
|
*************************************************************************************************************************************************/
|
|
@@ -1254,135 +1254,237 @@ const Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
1254
1254
|
bg_gray01: {
|
|
1255
1255
|
background: "#cdcdcd"
|
|
1256
1256
|
}
|
|
1257
|
-
},
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1257
|
+
}, $r = async (e) => {
|
|
1258
|
+
if (e.map((t) => {
|
|
1259
|
+
t.status = "uploading", t.percent = 10, console.log(t);
|
|
1260
|
+
}), !e || !Array.isArray(e) || e.length === 0) {
|
|
1261
|
+
alert("업로드할 파일을 선택해주세요.");
|
|
1262
|
+
return;
|
|
1263
|
+
}
|
|
1264
|
+
try {
|
|
1265
|
+
const t = {
|
|
1266
|
+
//로컬 VM 설정-----------------------------------------
|
|
1267
|
+
// sftpHost: "localhost",
|
|
1268
|
+
// sftpPort: "2222",
|
|
1269
|
+
// sftpUsername: "admin",
|
|
1270
|
+
// sftpPassword: "admin",
|
|
1271
|
+
// remoteDir: "/home/admin/test",
|
|
1272
|
+
// useOriginalName: "true",
|
|
1273
|
+
//-------------------------------------------
|
|
1274
|
+
remoteDir: "/home/krxuser/bkrx/files/testForGW",
|
|
1275
|
+
useOriginalName: "true"
|
|
1276
|
+
}, r = e.map(async (g, v) => {
|
|
1277
|
+
const d = new FormData();
|
|
1278
|
+
Object.entries(t).forEach(([l, a]) => {
|
|
1279
|
+
d.append(l, a);
|
|
1280
|
+
});
|
|
1281
|
+
const h = g.originFileObj;
|
|
1282
|
+
d.append("file", h);
|
|
1283
|
+
const m = await fetch("/api/gw-sftp", {
|
|
1284
|
+
method: "POST",
|
|
1285
|
+
body: d
|
|
1286
|
+
});
|
|
1287
|
+
return m.ok ? (console.log(e), e.map(
|
|
1288
|
+
(l) => l === g ? {
|
|
1289
|
+
...l,
|
|
1290
|
+
status: "success",
|
|
1291
|
+
percent: 100
|
|
1292
|
+
} : l
|
|
1293
|
+
)) : g.status = "done", { index: v, response: m, fileName: h.name };
|
|
1294
|
+
}), o = await Promise.all(r), n = o.filter((g) => g.response.ok).length, f = o.length - n;
|
|
1295
|
+
if (n === o.length)
|
|
1296
|
+
return alert(`${n}개 파일 업로드가 완료되었습니다.`), {
|
|
1297
|
+
result: "success",
|
|
1298
|
+
message: `${n}개 파일 업로드가 완료되었습니다.`,
|
|
1299
|
+
successCount: n,
|
|
1300
|
+
failCount: f
|
|
1301
|
+
};
|
|
1302
|
+
if (n > 0) {
|
|
1303
|
+
const g = `${n}개 성공, ${f}개 실패`;
|
|
1304
|
+
return alert(g), {
|
|
1305
|
+
result: "partial",
|
|
1306
|
+
message: g,
|
|
1307
|
+
successCount: n,
|
|
1308
|
+
failCount: f
|
|
1309
|
+
};
|
|
1310
|
+
}
|
|
1311
|
+
return alert("모든 파일 업로드에 실패했습니다."), {
|
|
1312
|
+
result: "error",
|
|
1313
|
+
message: "모든 파일 업로드에 실패했습니다.",
|
|
1314
|
+
successCount: n,
|
|
1315
|
+
failCount: f
|
|
1316
|
+
};
|
|
1317
|
+
} catch {
|
|
1318
|
+
return alert("파일 업로드 중 오류가 발생했습니다."), {
|
|
1319
|
+
result: "error",
|
|
1320
|
+
message: "파일 업로드 중 오류가 발생했습니다."
|
|
1321
|
+
};
|
|
1322
|
+
}
|
|
1323
|
+
}, Or = async (e, t, r) => {
|
|
1324
|
+
const {
|
|
1325
|
+
trxCd: o = "SCMINTF00102",
|
|
1326
|
+
connInfo: n = {},
|
|
1327
|
+
openDraft: f = !0,
|
|
1328
|
+
draftUrlBase: g = "https://dev.bwg.co.kr:5510",
|
|
1329
|
+
windowFeatures: v = "width=1000,height=600"
|
|
1330
|
+
} = r || {}, d = e ?? {}, h = Array.isArray(t) ? t : void 0;
|
|
1331
|
+
if (h && Array.isArray(h) && h.length > 0) {
|
|
1332
|
+
const a = await $r(h);
|
|
1333
|
+
if (!a || a.result !== "success")
|
|
1334
|
+
throw new Error(a?.message || "파일 업로드 실패");
|
|
1335
|
+
}
|
|
1336
|
+
const m = {
|
|
1337
|
+
crprCd: fe(),
|
|
1338
|
+
aprvKey: d.aprvKey || ee(),
|
|
1339
|
+
sysCd: __SYS_CD__,
|
|
1340
|
+
draftDt: xe("YYYYMMDD"),
|
|
1341
|
+
/**
|
|
1342
|
+
* 해당 그룹웨어 연계데이터는 추후 추가수정 필요
|
|
1343
|
+
* +) 기안연계가 DB로 넣는것 외에 soap를 통한 파라미터 전달 & SAP방식 등등 여러개로 나눠진다고함..
|
|
1344
|
+
* 해당 내용들은 공통화하기 힘들어 json & rest 방식으로 연계만 공통화 할듯함.
|
|
1345
|
+
*/
|
|
1346
|
+
fileInfoList: h,
|
|
1347
|
+
// 그룹웨어 파일연계
|
|
1348
|
+
connInfo: n,
|
|
1349
|
+
// 그룹웨어 기안연계
|
|
1350
|
+
...d
|
|
1351
|
+
}, l = await _(o, m);
|
|
1352
|
+
if (f && d?.aprvKey) {
|
|
1353
|
+
const a = `${g}?key=${d.aprvKey}&docTitle=${d.docTitle}`;
|
|
1354
|
+
window.open(a, "_blank", v);
|
|
1355
|
+
}
|
|
1356
|
+
return l;
|
|
1357
|
+
}, Nr = Ue, _r = Ce, Ur = De, Er = Ee, Ir = Pe, Pr = Oe, Ar = me, Lr = we, Fr = {
|
|
1261
1358
|
...Ue,
|
|
1359
|
+
...Ce,
|
|
1360
|
+
...De,
|
|
1262
1361
|
...Ee,
|
|
1263
|
-
...
|
|
1264
|
-
...
|
|
1265
|
-
...
|
|
1266
|
-
|
|
1362
|
+
...Pe,
|
|
1363
|
+
...Oe,
|
|
1364
|
+
...me,
|
|
1365
|
+
...we,
|
|
1366
|
+
realFormat: Cr
|
|
1267
1367
|
};
|
|
1268
1368
|
export {
|
|
1269
|
-
|
|
1270
|
-
|
|
1369
|
+
C as ApiError,
|
|
1370
|
+
nt as THEME_COOKIE_NAME,
|
|
1271
1371
|
ir as apiDelete,
|
|
1272
1372
|
sr as apiGet,
|
|
1273
1373
|
cr as apiPatch,
|
|
1274
1374
|
nr as apiPost,
|
|
1275
1375
|
ar as apiPut,
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1376
|
+
Nr as apiUtils,
|
|
1377
|
+
bt as arrAverage,
|
|
1378
|
+
kt as arrCount,
|
|
1279
1379
|
$t as arrMax,
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1380
|
+
Mt as arrMin,
|
|
1381
|
+
Dt as arrReverse,
|
|
1382
|
+
Tt as arrSum,
|
|
1383
|
+
Ct as arrUnique,
|
|
1384
|
+
Fr as bwgUtils,
|
|
1385
|
+
_ as callService,
|
|
1286
1386
|
or as callService_SYSCD,
|
|
1287
|
-
|
|
1288
|
-
|
|
1387
|
+
_t as clamp,
|
|
1388
|
+
At as clearSessionStorage,
|
|
1289
1389
|
pr as closeAllMessages,
|
|
1290
|
-
|
|
1390
|
+
hr as closeMessage,
|
|
1291
1391
|
er as closeNotification,
|
|
1292
|
-
|
|
1392
|
+
_r as commonUtils,
|
|
1293
1393
|
Gt as configureEnvUtils,
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1394
|
+
yt as copyToClipboard,
|
|
1395
|
+
pt as debounce,
|
|
1396
|
+
Fr as default,
|
|
1397
|
+
Yt as deleteCookie,
|
|
1298
1398
|
Qt as destroyNotifications,
|
|
1299
1399
|
dr as downloadByFileKey,
|
|
1300
1400
|
lr as downloadFile,
|
|
1301
1401
|
Ot as duplicates,
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1402
|
+
qt as encryptSha256,
|
|
1403
|
+
Ur as envUtils,
|
|
1404
|
+
Er as fileUtils,
|
|
1405
|
+
xt as generateRandomColor,
|
|
1406
|
+
ve as generateRandomString,
|
|
1407
|
+
ee as generateUID,
|
|
1408
|
+
de as getAllServiceCodes,
|
|
1309
1409
|
tr as getClientIp,
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1410
|
+
Ft as getCookie,
|
|
1411
|
+
fe as getCrprCd,
|
|
1412
|
+
Kt as getCurrentDate,
|
|
1413
|
+
xe as getCurrentDateString,
|
|
1414
|
+
We as getDepartmentInfo,
|
|
1315
1415
|
q as getDeviceType,
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1416
|
+
Be as getDisplayName,
|
|
1417
|
+
pe as getDprtCd,
|
|
1418
|
+
ye as getDprtNm,
|
|
1419
|
+
Ye as getEmplNo,
|
|
1320
1420
|
Zt as getEnvCode,
|
|
1321
1421
|
ur as getPermissionService,
|
|
1322
1422
|
W as getRoleList,
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1423
|
+
le as getServiceCode,
|
|
1424
|
+
It as getSessionStorage,
|
|
1425
|
+
Fe as getUserDvsn,
|
|
1426
|
+
ge as getUserId,
|
|
1427
|
+
L as getUserInfo,
|
|
1428
|
+
he as getUserNm,
|
|
1329
1429
|
ze as hasAllRoles,
|
|
1330
|
-
|
|
1430
|
+
je as hasAnyRole,
|
|
1331
1431
|
Re as hasRole,
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1432
|
+
Ve as hasUserInfo,
|
|
1433
|
+
dt as isArray,
|
|
1434
|
+
ct as isBoolean,
|
|
1435
|
+
vt as isDesktop,
|
|
1436
|
+
Te as isDev,
|
|
1437
|
+
Se as isEmpty,
|
|
1338
1438
|
K as isEmptyArray,
|
|
1339
|
-
|
|
1340
|
-
|
|
1439
|
+
ut as isFunction,
|
|
1440
|
+
Y as isLocal,
|
|
1341
1441
|
He as isLoggedIn,
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1442
|
+
wt as isMobile,
|
|
1443
|
+
mt as isNull,
|
|
1444
|
+
gt as isNullOrUndefined,
|
|
1445
|
+
it as isNumber,
|
|
1446
|
+
lt as isObject,
|
|
1447
|
+
ke as isProd,
|
|
1348
1448
|
Rt as isSafeEmpty,
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1449
|
+
at as isString,
|
|
1450
|
+
St as isTablet,
|
|
1451
|
+
ft as isUndefined,
|
|
1352
1452
|
zt as isValidEmail,
|
|
1353
1453
|
Ht as isValidUrl,
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1454
|
+
Le as logServiceCodeConfig,
|
|
1455
|
+
Ir as messageUtils,
|
|
1456
|
+
te as notiBwgError,
|
|
1357
1457
|
Xt as notiError,
|
|
1358
|
-
|
|
1458
|
+
re as notiInfo,
|
|
1359
1459
|
Jt as notiSuccess,
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1460
|
+
oe as notiWarning,
|
|
1461
|
+
N as notificationService,
|
|
1462
|
+
Pr as notificationUtils,
|
|
1463
|
+
Vt as padLeft,
|
|
1464
|
+
Bt as padRight,
|
|
1365
1465
|
Nt as random,
|
|
1366
|
-
|
|
1367
|
-
|
|
1466
|
+
Cr as realFormat,
|
|
1467
|
+
Pt as removeSessionStorage,
|
|
1368
1468
|
Ut as round,
|
|
1369
|
-
|
|
1370
|
-
|
|
1469
|
+
Ar as serviceUtils,
|
|
1470
|
+
se as setClientIp,
|
|
1371
1471
|
Lt as setCookie,
|
|
1372
|
-
|
|
1373
|
-
|
|
1472
|
+
Ae as setServiceCodeOverrides,
|
|
1473
|
+
Et as setSessionStorage,
|
|
1374
1474
|
yr as showApiError,
|
|
1375
1475
|
vr as showDuplicateError,
|
|
1376
|
-
|
|
1476
|
+
j as showError,
|
|
1377
1477
|
fr as showInfo,
|
|
1378
|
-
|
|
1478
|
+
gr as showLoading,
|
|
1379
1479
|
xr as showRequiredError,
|
|
1380
1480
|
Sr as showSaveError,
|
|
1381
1481
|
wr as showSaveSuccess,
|
|
1382
|
-
|
|
1482
|
+
Ie as showSuccess,
|
|
1383
1483
|
mr as showWarning,
|
|
1484
|
+
Or as submitGwApproval,
|
|
1384
1485
|
ht as throttle,
|
|
1385
|
-
|
|
1386
|
-
|
|
1486
|
+
jt as toCamelCase,
|
|
1487
|
+
$r as uploadFilesViaSftp,
|
|
1488
|
+
Lr as userUtils,
|
|
1387
1489
|
rr as verifyClientIp
|
|
1388
1490
|
};
|