mamba-layout 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +616 -612
- package/dist/layout/hooks/useLayoutState.d.ts +1 -0
- package/dist/layout.css +1 -1
- package/dist/layout.global.js +27 -27
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { getCurrentInstance as pt, readonly as mt, ref as
|
|
2
|
-
import { Fold as
|
|
3
|
-
import { useRouter as
|
|
4
|
-
import { createI18n as
|
|
5
|
-
function
|
|
1
|
+
import { getCurrentInstance as pt, readonly as mt, ref as B, computed as w, unref as f, onActivated as ht, onMounted as Ke, onUnmounted as Je, watch as se, defineComponent as D, openBlock as l, createElementBlock as v, normalizeClass as K, resolveComponent as L, Fragment as R, createBlock as k, resolveDynamicComponent as be, mergeProps as Oe, withCtx as C, createCommentVNode as I, createElementVNode as p, toDisplayString as E, renderList as J, withDirectives as gt, vShow as ft, createVNode as _, renderSlot as z, watchEffect as Fe, Transition as Me } from "vue";
|
|
2
|
+
import { Fold as He, ArrowDown as Ae, Moon as vt, Sunny as yt, Expand as bt, User as At, ArrowLeft as _t, ArrowRight as fe, Clock as Ct } from "@element-plus/icons-vue";
|
|
3
|
+
import { useRouter as Qe } from "vue-router";
|
|
4
|
+
import { createI18n as wt } from "vue-i18n";
|
|
5
|
+
function ue() {
|
|
6
6
|
const n = pt();
|
|
7
7
|
return n ? n.appContext.config.globalProperties.$route : null;
|
|
8
8
|
}
|
|
9
|
-
const
|
|
9
|
+
const St = 3600 * 24 * 7, _e = "UTC", ze = "timezone", Pt = [
|
|
10
10
|
"UTC",
|
|
11
11
|
"Asia/Shanghai",
|
|
12
12
|
"Asia/Hong_Kong",
|
|
@@ -16,7 +16,7 @@ const wt = 3600 * 24 * 7, Ce = "UTC", Qe = "timezone", Pt = [
|
|
|
16
16
|
"Europe/Berlin",
|
|
17
17
|
"America/New_York",
|
|
18
18
|
"America/Los_Angeles"
|
|
19
|
-
],
|
|
19
|
+
], De = /* @__PURE__ */ new Map(), ge = () => {
|
|
20
20
|
try {
|
|
21
21
|
return globalThis.localStorage;
|
|
22
22
|
} catch {
|
|
@@ -24,7 +24,7 @@ const wt = 3600 * 24 * 7, Ce = "UTC", Qe = "timezone", Pt = [
|
|
|
24
24
|
}
|
|
25
25
|
}, W = {
|
|
26
26
|
get(n, e = null) {
|
|
27
|
-
const t =
|
|
27
|
+
const t = ge(), a = t == null ? void 0 : t.getItem(n.toUpperCase());
|
|
28
28
|
if (!a) return e;
|
|
29
29
|
try {
|
|
30
30
|
const o = JSON.parse(a);
|
|
@@ -36,8 +36,8 @@ const wt = 3600 * 24 * 7, Ce = "UTC", Qe = "timezone", Pt = [
|
|
|
36
36
|
}
|
|
37
37
|
return e;
|
|
38
38
|
},
|
|
39
|
-
set(n, e, t =
|
|
40
|
-
const a =
|
|
39
|
+
set(n, e, t = St) {
|
|
40
|
+
const a = ge(), o = {
|
|
41
41
|
value: e,
|
|
42
42
|
expire: t === null ? null : Date.now() + t * 1e3
|
|
43
43
|
};
|
|
@@ -45,47 +45,47 @@ const wt = 3600 * 24 * 7, Ce = "UTC", Qe = "timezone", Pt = [
|
|
|
45
45
|
},
|
|
46
46
|
clear() {
|
|
47
47
|
var n;
|
|
48
|
-
(n =
|
|
48
|
+
(n = ge()) == null || n.clear();
|
|
49
49
|
}
|
|
50
|
-
}, Tt = (n) => typeof n == "object" && n !== null,
|
|
50
|
+
}, Tt = (n) => typeof n == "object" && n !== null, Ne = (n) => {
|
|
51
51
|
if (!Tt(n) || Object.prototype.toString.call(n) !== "[object Object]") return !1;
|
|
52
52
|
const e = Object.getPrototypeOf(n);
|
|
53
53
|
return e === null || e === Object.prototype;
|
|
54
54
|
};
|
|
55
|
-
function
|
|
56
|
-
if (!
|
|
57
|
-
if (!
|
|
55
|
+
function Ze(n, e) {
|
|
56
|
+
if (!Ne(n)) return e;
|
|
57
|
+
if (!Ne(e)) return n;
|
|
58
58
|
const t = n;
|
|
59
59
|
return Object.keys(e).concat(Object.getOwnPropertySymbols(e)).forEach((a) => {
|
|
60
|
-
t[a] =
|
|
60
|
+
t[a] = Ze(
|
|
61
61
|
t[a],
|
|
62
62
|
e[a]
|
|
63
63
|
);
|
|
64
64
|
}), t;
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function je() {
|
|
67
67
|
const n = typeof navigator > "u" ? "en-US" : navigator.language;
|
|
68
68
|
return String(W.get("locale", n)).includes("zh") ? "zh-CN" : "en-US";
|
|
69
69
|
}
|
|
70
|
-
const
|
|
70
|
+
const Be = (n, e, t) => {
|
|
71
71
|
var a;
|
|
72
72
|
return ((a = e == null ? void 0 : e[t]) == null ? void 0 : a[n]) || "";
|
|
73
|
-
},
|
|
73
|
+
}, V = (n, e, t = "") => {
|
|
74
74
|
const a = n;
|
|
75
|
-
return
|
|
76
|
-
},
|
|
75
|
+
return Be(e, a, je()) || t || Be(e, a, "en-US");
|
|
76
|
+
}, re = (n = "") => n.replace(/【.*】/, ""), qe = (n, e, t) => {
|
|
77
77
|
var a, o, s, r, c;
|
|
78
|
-
for (const
|
|
79
|
-
const i = ((a =
|
|
80
|
-
if (((o =
|
|
81
|
-
return ((s =
|
|
82
|
-
if ((r =
|
|
83
|
-
const
|
|
78
|
+
for (const h of e) {
|
|
79
|
+
const i = ((a = h.path) == null ? void 0 : a.replace(/\/:(\w+)/g, "/([^/]+)")) || "", g = new RegExp(`^${i}$`);
|
|
80
|
+
if (((o = h.path) == null ? void 0 : o.toLowerCase()) === n || g.test(n))
|
|
81
|
+
return ((s = h.meta) == null ? void 0 : s.visible) === "0" && (t == null ? void 0 : t.path) || "";
|
|
82
|
+
if ((r = h.children) != null && r.length) {
|
|
83
|
+
const m = qe(
|
|
84
84
|
n,
|
|
85
|
-
|
|
86
|
-
((c =
|
|
85
|
+
h.children,
|
|
86
|
+
((c = h.meta) == null ? void 0 : c.visible) === "1" ? h : t
|
|
87
87
|
);
|
|
88
|
-
if (
|
|
88
|
+
if (m) return m;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
return "";
|
|
@@ -94,21 +94,21 @@ const Ne = (n, e, t) => {
|
|
|
94
94
|
if (!(t != null && t.name)) return !1;
|
|
95
95
|
const a = String(t.name).split("-").filter((s) => !!s && s !== "index"), o = t.path.split("-").join("/").split("/").filter(Boolean);
|
|
96
96
|
return a.length === o.length && a.every((s, r) => s === o[r]);
|
|
97
|
-
}, ne = (n) => typeof n == "string" &&
|
|
97
|
+
}, ne = (n) => typeof n == "string" && Ye(n) ? n : "", Ye = (n) => {
|
|
98
98
|
try {
|
|
99
99
|
return new Intl.DateTimeFormat("en-US", { timeZone: n }).format(/* @__PURE__ */ new Date()), !0;
|
|
100
100
|
} catch {
|
|
101
101
|
return !1;
|
|
102
102
|
}
|
|
103
|
-
},
|
|
104
|
-
ne(W.get(
|
|
105
|
-
), It = () => mt(
|
|
103
|
+
}, We = () => ne(Intl.DateTimeFormat().resolvedOptions().timeZone) || _e, Ce = B(
|
|
104
|
+
ne(W.get(ze)) || We()
|
|
105
|
+
), It = () => mt(Ce);
|
|
106
106
|
function Lt(n) {
|
|
107
107
|
const e = ne(n);
|
|
108
|
-
e && (
|
|
108
|
+
e && (Ce.value = e, W.set(ze, e, null));
|
|
109
109
|
}
|
|
110
110
|
const xt = (n) => {
|
|
111
|
-
const e = ne(n) ||
|
|
111
|
+
const e = ne(n) || _e, t = De.get(e);
|
|
112
112
|
if (t) return t;
|
|
113
113
|
const a = new Intl.DateTimeFormat("en-US", {
|
|
114
114
|
timeZone: e,
|
|
@@ -120,9 +120,9 @@ const xt = (n) => {
|
|
|
120
120
|
second: "2-digit",
|
|
121
121
|
hourCycle: "h23"
|
|
122
122
|
});
|
|
123
|
-
return
|
|
123
|
+
return De.set(e, a), a;
|
|
124
124
|
}, Et = (n, e) => xt(e).formatToParts(n).reduce((a, o) => (o.type !== "literal" && (a[o.type] = Number(o.value)), a), {}), Mt = (n, e = /* @__PURE__ */ new Date()) => {
|
|
125
|
-
const t = ne(n) ||
|
|
125
|
+
const t = ne(n) || _e, a = Et(e, t), o = Date.UTC(
|
|
126
126
|
a.year || 0,
|
|
127
127
|
(a.month || 1) - 1,
|
|
128
128
|
a.day || 1,
|
|
@@ -132,60 +132,60 @@ const xt = (n) => {
|
|
|
132
132
|
e.getMilliseconds()
|
|
133
133
|
);
|
|
134
134
|
return Math.round((o - e.getTime()) / 6e4);
|
|
135
|
-
},
|
|
135
|
+
}, Xe = (n, e = /* @__PURE__ */ new Date()) => {
|
|
136
136
|
const t = Mt(n, e), a = t >= 0 ? "+" : "-", o = Math.abs(t), s = Math.floor(o / 60), r = o % 60;
|
|
137
137
|
return `UTC${a}${String(s).padStart(2, "0")}:${String(
|
|
138
138
|
r
|
|
139
139
|
).padStart(2, "0")}`;
|
|
140
|
-
}, Dt = (n, e = /* @__PURE__ */ new Date()) => `${n} (${
|
|
140
|
+
}, Dt = (n, e = /* @__PURE__ */ new Date()) => `${n} (${Xe(n, e)})`, Nt = (n = /* @__PURE__ */ new Date()) => {
|
|
141
141
|
const e = new Set(
|
|
142
|
-
[
|
|
143
|
-
|
|
142
|
+
[We(), ...Pt, Ce.value].filter(
|
|
143
|
+
Ye
|
|
144
144
|
)
|
|
145
145
|
);
|
|
146
146
|
return Array.from(e).map((t) => {
|
|
147
|
-
const a =
|
|
147
|
+
const a = Xe(t, n);
|
|
148
148
|
return {
|
|
149
149
|
value: t,
|
|
150
150
|
label: `${t} (${a})`,
|
|
151
151
|
offset: a
|
|
152
152
|
};
|
|
153
153
|
});
|
|
154
|
-
}, G =
|
|
155
|
-
function
|
|
156
|
-
const n = "theme", e = "(prefers-color-scheme: dark)", t =
|
|
154
|
+
}, G = B("light");
|
|
155
|
+
function Ge() {
|
|
156
|
+
const n = "theme", e = "(prefers-color-scheme: dark)", t = B(!1);
|
|
157
157
|
let a = !1;
|
|
158
|
-
const o = (
|
|
159
|
-
const
|
|
160
|
-
return
|
|
161
|
-
}, c = (
|
|
162
|
-
typeof document > "u" || document.documentElement.classList.toggle("dark",
|
|
163
|
-
},
|
|
164
|
-
const
|
|
165
|
-
return G.value =
|
|
166
|
-
}, i = (
|
|
167
|
-
G.value =
|
|
168
|
-
},
|
|
158
|
+
const o = (u) => u === "dark" || u === "light" ? u : null, s = () => typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia(e).matches ? "dark" : "light", r = (u) => {
|
|
159
|
+
const A = o(W.get(n, null));
|
|
160
|
+
return A ? (t.value = !0, A) : u || s();
|
|
161
|
+
}, c = (u) => {
|
|
162
|
+
typeof document > "u" || document.documentElement.classList.toggle("dark", u === "dark");
|
|
163
|
+
}, h = (u) => {
|
|
164
|
+
const A = r(u);
|
|
165
|
+
return G.value = A, c(A), a = !0, A;
|
|
166
|
+
}, i = (u, A) => {
|
|
167
|
+
G.value = u, c(u), (A == null ? void 0 : A.persist) !== !1 && (W.set(n, u, null), t.value = !0);
|
|
168
|
+
}, g = () => {
|
|
169
169
|
i(G.value === "dark" ? "light" : "dark");
|
|
170
|
-
},
|
|
170
|
+
}, y = (u) => {
|
|
171
171
|
if (!a) {
|
|
172
|
-
|
|
172
|
+
h(u);
|
|
173
173
|
return;
|
|
174
174
|
}
|
|
175
|
-
!t.value &&
|
|
176
|
-
},
|
|
175
|
+
!t.value && u && i(u, { persist: !1 });
|
|
176
|
+
}, m = w(() => G.value === "dark");
|
|
177
177
|
return {
|
|
178
178
|
theme: G,
|
|
179
|
-
isDark:
|
|
180
|
-
initTheme:
|
|
179
|
+
isDark: m,
|
|
180
|
+
initTheme: h,
|
|
181
181
|
setTheme: i,
|
|
182
|
-
toggleTheme:
|
|
183
|
-
syncThemeFromSetting:
|
|
182
|
+
toggleTheme: g,
|
|
183
|
+
syncThemeFromSetting: y
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
|
-
const Bt = () => typeof location > "u" ? "" : location.href,
|
|
187
|
-
typeof location > "u" || (location.href =
|
|
188
|
-
},
|
|
186
|
+
const Bt = () => typeof location > "u" ? "" : location.href, Ve = (n) => (n == null ? void 0 : n.loginPath) || `/login?redirect=${encodeURIComponent(Bt())}`, de = (n) => {
|
|
187
|
+
typeof location > "u" || (location.href = Ve(n));
|
|
188
|
+
}, Rt = (n) => (n == null ? void 0 : n.userCenterPath) || "/usercenter/home", Ut = (n) => {
|
|
189
189
|
var s;
|
|
190
190
|
const e = n.themeColor, t = {};
|
|
191
191
|
if (e)
|
|
@@ -212,13 +212,13 @@ function Kt(n) {
|
|
|
212
212
|
e.innerHTML = `html:root{${a}}`;
|
|
213
213
|
}
|
|
214
214
|
function Jt(n) {
|
|
215
|
-
var
|
|
216
|
-
const e = ((
|
|
217
|
-
const
|
|
218
|
-
return `rgb(${
|
|
215
|
+
var h;
|
|
216
|
+
const e = ((h = n.match(/\d+/g)) == null ? void 0 : h.map(Number)) || [], [t, a, o] = e, s = `rgb(${t}, ${a}, ${o})`, r = (i) => {
|
|
217
|
+
const g = i / 100, y = Math.min(255, t + (255 - t) * g), m = Math.min(255, a + (255 - a) * g), u = Math.min(255, o + (255 - o) * g);
|
|
218
|
+
return `rgb(${y.toFixed(1)}, ${m.toFixed(1)}, ${u.toFixed(1)})`;
|
|
219
219
|
}, c = (i) => {
|
|
220
|
-
const
|
|
221
|
-
return `rgb(${Math.round(t *
|
|
220
|
+
const g = 1 - i / 100;
|
|
221
|
+
return `rgb(${Math.round(t * g)} ${Math.round(a * g)} ${Math.round(o * g)})`;
|
|
222
222
|
};
|
|
223
223
|
return {
|
|
224
224
|
"--el-color-primary": s,
|
|
@@ -230,7 +230,7 @@ function Jt(n) {
|
|
|
230
230
|
"--el-color-primary-dark-2": c(20)
|
|
231
231
|
};
|
|
232
232
|
}
|
|
233
|
-
const
|
|
233
|
+
const ve = B({
|
|
234
234
|
menus: [],
|
|
235
235
|
layout: "classic",
|
|
236
236
|
title: "",
|
|
@@ -239,118 +239,122 @@ const ge = N({
|
|
|
239
239
|
pageType: "common"
|
|
240
240
|
});
|
|
241
241
|
function O() {
|
|
242
|
-
return
|
|
242
|
+
return ve;
|
|
243
243
|
}
|
|
244
244
|
const Ot = (n) => {
|
|
245
245
|
const e = O(), t = n && f(n) || {};
|
|
246
246
|
if (!(e != null && e.value)) return t;
|
|
247
|
-
|
|
248
|
-
const { syncThemeFromSetting: a } =
|
|
249
|
-
a(),
|
|
250
|
-
}, Ft = 1024,
|
|
247
|
+
ve.value = Ze(e.value, t);
|
|
248
|
+
const { syncThemeFromSetting: a } = Ge();
|
|
249
|
+
a(), Ut(ve.value);
|
|
250
|
+
}, Ft = 1024, $e = B(), le = B([]), Y = B(), $ = B(""), ee = B(""), ie = B(""), te = O(), we = B(!0), Se = B(!1), Ht = B(), ce = () => {
|
|
251
251
|
var n;
|
|
252
252
|
return ((n = te.value.menus) == null ? void 0 : n.filter((e) => {
|
|
253
253
|
var t;
|
|
254
254
|
return ((t = e.meta) == null ? void 0 : t.appId) == ee.value;
|
|
255
255
|
})) || [];
|
|
256
|
-
},
|
|
257
|
-
var i,
|
|
258
|
-
const o =
|
|
256
|
+
}, et = (n, e, t = 0, a) => {
|
|
257
|
+
var i, g, y, m;
|
|
258
|
+
const o = ue();
|
|
259
259
|
if (!o) return;
|
|
260
260
|
const s = a ? [...a] : [], r = [], c = [];
|
|
261
|
-
for (const
|
|
262
|
-
[...s], n[
|
|
263
|
-
const
|
|
264
|
-
|
|
261
|
+
for (const u in n) {
|
|
262
|
+
[...s], n[u];
|
|
263
|
+
const A = ((i = o.meta) == null ? void 0 : i.parent) || o.path, T = ((g = n[u].path) == null ? void 0 : g.replace(/\/:(\w+)/g, "/([^/]+)")) || "", M = new RegExp(`^${T}$`);
|
|
264
|
+
A == n[u].path ? r.push({ index: u, item: n[u] }) : M.test(A) && c.push({ index: u, item: n[u] });
|
|
265
265
|
}
|
|
266
|
-
const
|
|
267
|
-
if (
|
|
268
|
-
const
|
|
269
|
-
|
|
270
|
-
...
|
|
271
|
-
paths:
|
|
272
|
-
}, ee.value = ((
|
|
266
|
+
const h = r.length > 0 ? r : c;
|
|
267
|
+
if (h.length > 0) {
|
|
268
|
+
const u = h[0], A = [...s];
|
|
269
|
+
A[t] = u.item, Y.value = {
|
|
270
|
+
...u.item,
|
|
271
|
+
paths: A.slice(0, t + 1)
|
|
272
|
+
}, ee.value = ((y = u.item.meta) == null ? void 0 : y.appId) || "", $e.value = e;
|
|
273
273
|
}
|
|
274
|
-
for (const
|
|
275
|
-
if (n[
|
|
276
|
-
const
|
|
277
|
-
T[t] = n[
|
|
274
|
+
for (const u in n)
|
|
275
|
+
if (n[u].children && ((m = n[u].children) != null && m.length)) {
|
|
276
|
+
const A = n[u].children || [], T = [...s];
|
|
277
|
+
T[t] = n[u], et(A, n[u], t + 1, T);
|
|
278
278
|
}
|
|
279
|
-
|
|
279
|
+
ie.value = o.meta.parentPath || qe(
|
|
280
280
|
o.path.toLowerCase(),
|
|
281
281
|
te.value.menus || []
|
|
282
|
-
) || o.path;
|
|
283
|
-
},
|
|
284
|
-
var a, o, s, r, c,
|
|
285
|
-
|
|
286
|
-
var
|
|
287
|
-
return (
|
|
282
|
+
) || o.path, console.log(ie.value);
|
|
283
|
+
}, tt = () => {
|
|
284
|
+
var a, o, s, r, c, h, i, g, y, m;
|
|
285
|
+
et(te.value.menus || []), ee.value || (ee.value = ((s = (o = (a = te.value.menus) == null ? void 0 : a.find((u) => {
|
|
286
|
+
var A;
|
|
287
|
+
return (A = u.path) == null ? void 0 : A.startsWith($.value);
|
|
288
288
|
})) == null ? void 0 : o.meta) == null ? void 0 : s.appId) || "");
|
|
289
|
-
const n = ((r = Y.value) == null ? void 0 : r.paths) || [], e =
|
|
290
|
-
|
|
291
|
-
), t = ((i = Y.value) == null ? void 0 : i.path) == ((
|
|
289
|
+
const n = ((r = Y.value) == null ? void 0 : r.paths) || [], e = re(
|
|
290
|
+
V(((h = (c = Y.value) == null ? void 0 : c.meta) == null ? void 0 : h.translations) || {}, "name")
|
|
291
|
+
), t = ((i = Y.value) == null ? void 0 : i.path) == ((g = n[1]) == null ? void 0 : g.path) ? "" : re(V(((m = (y = n[1]) == null ? void 0 : y.meta) == null ? void 0 : m.translations) || {}, "name"));
|
|
292
292
|
document.title = e + (t ? ` - ${t}` : "");
|
|
293
|
-
},
|
|
294
|
-
const n =
|
|
295
|
-
n && (
|
|
296
|
-
},
|
|
293
|
+
}, Re = () => {
|
|
294
|
+
const n = ue();
|
|
295
|
+
n && ($.value = "/" + (n.path.split("/").filter(Boolean).shift() || ""), tt(), le.value = ce());
|
|
296
|
+
}, ye = () => {
|
|
297
297
|
const n = window.innerWidth < Ft;
|
|
298
|
-
|
|
298
|
+
Se.value = n, we.value = !n;
|
|
299
299
|
};
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
const n =
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
}), Ke(() => {
|
|
308
|
-
window.removeEventListener("resize", be);
|
|
309
|
-
}), re(
|
|
310
|
-
() => V.value,
|
|
311
|
-
() => void (ae.value = oe())
|
|
312
|
-
), n && re(
|
|
300
|
+
ye();
|
|
301
|
+
const Qt = () => {
|
|
302
|
+
const n = ue();
|
|
303
|
+
se(
|
|
304
|
+
() => $.value,
|
|
305
|
+
() => void (le.value = ce())
|
|
306
|
+
), se(
|
|
313
307
|
() => [n.path, te.value.menus],
|
|
314
308
|
() => {
|
|
315
|
-
|
|
309
|
+
ie.value = "", Y.value = void 0, $.value = "/" + (n.path.split("/").filter(Boolean).shift() || ""), tt(), le.value = ce(), Se.value && (we.value = !1);
|
|
316
310
|
}
|
|
317
|
-
)
|
|
318
|
-
|
|
311
|
+
);
|
|
312
|
+
};
|
|
313
|
+
function H() {
|
|
314
|
+
return Re(), ht(() => {
|
|
315
|
+
Re();
|
|
316
|
+
}), Ke(() => {
|
|
317
|
+
window.addEventListener("resize", ye);
|
|
318
|
+
}), Je(() => {
|
|
319
|
+
window.removeEventListener("resize", ye);
|
|
320
|
+
}), {
|
|
321
|
+
watchRoute: Qt,
|
|
322
|
+
menus: le,
|
|
319
323
|
currentEndRoute: Y,
|
|
320
|
-
currentTabPath:
|
|
324
|
+
currentTabPath: $,
|
|
321
325
|
currentAppId: ee,
|
|
322
|
-
defaultParentActive:
|
|
323
|
-
sideOpen:
|
|
324
|
-
isMobile:
|
|
325
|
-
getMenus:
|
|
326
|
-
currentEndParentRoute:
|
|
326
|
+
defaultParentActive: ie,
|
|
327
|
+
sideOpen: we,
|
|
328
|
+
isMobile: Se,
|
|
329
|
+
getMenus: ce,
|
|
330
|
+
currentEndParentRoute: $e,
|
|
327
331
|
leftScrollRef: Ht
|
|
328
332
|
};
|
|
329
333
|
}
|
|
330
|
-
const
|
|
334
|
+
const zt = { class: "menu-item-icon" }, Zt = ["innerHTML"], jt = /* @__PURE__ */ D({
|
|
331
335
|
__name: "MenuItemIcon",
|
|
332
336
|
props: {
|
|
333
337
|
icon: { default: "metisicon-yingyong" }
|
|
334
338
|
},
|
|
335
339
|
setup(n) {
|
|
336
|
-
const e = n, t =
|
|
337
|
-
return (
|
|
338
|
-
c(t.value) ? (l(),
|
|
340
|
+
const e = n, t = w(() => e.icon || "metisicon-yingyong"), a = /^\s*<svg[\s>]/i, o = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, s = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, r = /\s(?:href|xlink:href)\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, c = (g) => !!g && a.test(g), h = (g) => !g || !c(g) ? "" : g.replace(s, "").replace(o, "").replace(r, ""), i = w(() => h(t.value));
|
|
341
|
+
return (g, y) => (l(), v("div", zt, [
|
|
342
|
+
c(t.value) ? (l(), v("span", {
|
|
339
343
|
key: 0,
|
|
340
344
|
class: "menu-item-icon__svg",
|
|
341
345
|
innerHTML: i.value
|
|
342
|
-
}, null, 8,
|
|
346
|
+
}, null, 8, Zt)) : (l(), v("i", {
|
|
343
347
|
key: 1,
|
|
344
348
|
class: K(t.value)
|
|
345
349
|
}, null, 2))
|
|
346
350
|
]));
|
|
347
351
|
}
|
|
348
|
-
}),
|
|
352
|
+
}), N = (n, e) => {
|
|
349
353
|
const t = n.__vccOpts || n;
|
|
350
354
|
for (const [a, o] of e)
|
|
351
355
|
t[a] = o;
|
|
352
356
|
return t;
|
|
353
|
-
},
|
|
357
|
+
}, nt = /* @__PURE__ */ N(jt, [["__scopeId", "data-v-ed060390"]]), qt = { key: 0 }, Yt = /* @__PURE__ */ D({
|
|
354
358
|
__name: "AsideSubMenuItem",
|
|
355
359
|
props: {
|
|
356
360
|
menu: {
|
|
@@ -363,61 +367,61 @@ const Qt = { class: "menu-item-icon" }, zt = ["innerHTML"], Zt = /* @__PURE__ */
|
|
|
363
367
|
}
|
|
364
368
|
},
|
|
365
369
|
setup(n) {
|
|
366
|
-
const e = n, t =
|
|
370
|
+
const e = n, t = w(
|
|
367
371
|
() => {
|
|
368
372
|
var i;
|
|
369
|
-
return (i = e.menu.children) == null ? void 0 : i.filter((
|
|
370
|
-
var
|
|
371
|
-
return ((
|
|
373
|
+
return (i = e.menu.children) == null ? void 0 : i.filter((g) => {
|
|
374
|
+
var y;
|
|
375
|
+
return ((y = g.meta) == null ? void 0 : y.visible) != "0";
|
|
372
376
|
});
|
|
373
377
|
}
|
|
374
|
-
), { defaultParentActive: a, currentTabPath: o } = H(), s =
|
|
378
|
+
), { defaultParentActive: a, currentTabPath: o } = H(), s = Qe(), r = w(() => {
|
|
375
379
|
var i;
|
|
376
380
|
return e.level == 1 && !kt(s, e.menu.path || "") ? "div" : /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? "a" : "router-link";
|
|
377
|
-
}), c =
|
|
381
|
+
}), c = w(() => {
|
|
378
382
|
var i;
|
|
379
383
|
return /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? {
|
|
380
384
|
href: e.menu.path || ""
|
|
381
385
|
} : {
|
|
382
386
|
to: e.menu.path || ""
|
|
383
387
|
};
|
|
384
|
-
}),
|
|
388
|
+
}), h = w(
|
|
385
389
|
() => {
|
|
386
390
|
var i;
|
|
387
391
|
return String(e.menu.icon || ((i = e.menu.meta) == null ? void 0 : i.icon) || "metisicon-yingyong");
|
|
388
392
|
}
|
|
389
393
|
);
|
|
390
|
-
return (i,
|
|
391
|
-
var
|
|
392
|
-
const
|
|
393
|
-
return l(),
|
|
394
|
-
(l(), k(
|
|
394
|
+
return (i, g) => {
|
|
395
|
+
var m, u;
|
|
396
|
+
const y = L("AsideSubMenuItem", !0);
|
|
397
|
+
return l(), v(R, null, [
|
|
398
|
+
(l(), k(be(r.value), Oe({
|
|
395
399
|
class: ["pt-1 pb-1 pl-3 pr-3 flex items-center gap-2 rounded-md", [
|
|
396
400
|
e.menu.path == f(a) ? "bg-[var(--ui-sidebar-active-bg,var(--el-fill-color))] text-[var(--ui-sidebar-active-fg)] font-medium" : "text-[var(--ui-sidebar-foreground)]",
|
|
397
|
-
(
|
|
401
|
+
(m = t.value) != null && m.length ? " h-7" : " h-9.5 cursor-pointer hover:bg-[var(--ui-sidebar-hover-bg)]"
|
|
398
402
|
]],
|
|
399
403
|
style: { paddingLeft: "calc(var(--spacing) * 3)" }
|
|
400
404
|
}, c.value), {
|
|
401
405
|
default: C(() => {
|
|
402
|
-
var
|
|
406
|
+
var A, T, M, F;
|
|
403
407
|
return [
|
|
404
|
-
(
|
|
408
|
+
(A = t.value) != null && A.length ? I("", !0) : (l(), k(nt, {
|
|
405
409
|
key: 0,
|
|
406
|
-
icon:
|
|
410
|
+
icon: h.value,
|
|
407
411
|
class: K(["text-md", [
|
|
408
412
|
e.menu.path == f(a) ? "opacity-100" : "opacity-60"
|
|
409
413
|
]])
|
|
410
414
|
}, null, 8, ["icon", "class"])),
|
|
411
|
-
|
|
415
|
+
p("div", {
|
|
412
416
|
class: K(["truncate", (T = t.value) != null && T.length ? "text-xs text-gray-400" : ""])
|
|
413
|
-
}, E(f(
|
|
417
|
+
}, E(f(re)(f(V)(((F = (M = e.menu) == null ? void 0 : M.meta) == null ? void 0 : F.translations) || {}, "name"))), 3)
|
|
414
418
|
];
|
|
415
419
|
}),
|
|
416
420
|
_: 1
|
|
417
421
|
}, 16, ["class"])),
|
|
418
|
-
(
|
|
419
|
-
(l(!0),
|
|
420
|
-
menu:
|
|
422
|
+
(u = t.value) != null && u.length ? (l(), v("div", qt, [
|
|
423
|
+
(l(!0), v(R, null, J(t.value, (A, T) => (l(), k(y, {
|
|
424
|
+
menu: A,
|
|
421
425
|
key: T,
|
|
422
426
|
level: e.level + 1
|
|
423
427
|
}, null, 8, ["menu", "level"]))), 128))
|
|
@@ -425,10 +429,10 @@ const Qt = { class: "menu-item-icon" }, zt = ["innerHTML"], Zt = /* @__PURE__ */
|
|
|
425
429
|
], 64);
|
|
426
430
|
};
|
|
427
431
|
}
|
|
428
|
-
}),
|
|
432
|
+
}), Wt = { class: "h-full" }, Xt = {
|
|
429
433
|
key: 0,
|
|
430
434
|
class: ""
|
|
431
|
-
},
|
|
435
|
+
}, at = /* @__PURE__ */ D({
|
|
432
436
|
__name: "AsideSubMenus",
|
|
433
437
|
props: {
|
|
434
438
|
menus: {
|
|
@@ -440,12 +444,12 @@ const Qt = { class: "menu-item-icon" }, zt = ["innerHTML"], Zt = /* @__PURE__ */
|
|
|
440
444
|
const e = n;
|
|
441
445
|
return (t, a) => {
|
|
442
446
|
var o;
|
|
443
|
-
return gt((l(),
|
|
444
|
-
(o = e.menus) != null && o.length ? (l(),
|
|
445
|
-
(l(!0),
|
|
447
|
+
return gt((l(), v("div", Wt, [
|
|
448
|
+
(o = e.menus) != null && o.length ? (l(), v("div", Xt, [
|
|
449
|
+
(l(!0), v(R, null, J(e.menus.filter((s) => {
|
|
446
450
|
var r;
|
|
447
451
|
return ((r = s.meta) == null ? void 0 : r.visible) != "0";
|
|
448
|
-
}), (s, r) => (l(), k(
|
|
452
|
+
}), (s, r) => (l(), k(Yt, {
|
|
449
453
|
key: r,
|
|
450
454
|
menu: s
|
|
451
455
|
}, null, 8, ["menu"]))), 128))
|
|
@@ -455,39 +459,39 @@ const Qt = { class: "menu-item-icon" }, zt = ["innerHTML"], Zt = /* @__PURE__ */
|
|
|
455
459
|
]);
|
|
456
460
|
};
|
|
457
461
|
}
|
|
458
|
-
}),
|
|
462
|
+
}), Gt = {
|
|
459
463
|
key: 0,
|
|
460
464
|
class: "aside-bar__mobile-head flex justify-between items-center pt-4 pb-4 px-4"
|
|
461
|
-
},
|
|
465
|
+
}, Vt = { class: "p-3" }, $t = /* @__PURE__ */ D({
|
|
462
466
|
__name: "AsideBar",
|
|
463
467
|
setup(n) {
|
|
464
468
|
const { menus: e, isMobile: t, sideOpen: a } = H(), o = () => void (a.value = !a.value);
|
|
465
469
|
return (s, r) => {
|
|
466
|
-
const c = L("el-icon"),
|
|
467
|
-
return f(e).length && !s.$route.meta.hideSidebar ? (l(),
|
|
470
|
+
const c = L("el-icon"), h = L("el-scrollbar");
|
|
471
|
+
return f(e).length && !s.$route.meta.hideSidebar ? (l(), v("div", {
|
|
468
472
|
key: 0,
|
|
469
473
|
class: K(["aside-bar flex flex-col h-full min-h-0 w-64 min-width-50", [
|
|
470
474
|
f(t) ? "fixed top-0 left-0 z-200 transition-all" : "",
|
|
471
475
|
f(a) ? "translate-x-[0px]" : "translate-x-[-100%]"
|
|
472
476
|
]])
|
|
473
477
|
}, [
|
|
474
|
-
f(t) ? (l(),
|
|
475
|
-
|
|
478
|
+
f(t) ? (l(), v("div", Gt, [
|
|
479
|
+
p("div", {
|
|
476
480
|
class: "aside-bar__close text-lg cursor-pointer p-2 leading-4",
|
|
477
481
|
onClick: o
|
|
478
482
|
}, [
|
|
479
483
|
_(c, null, {
|
|
480
484
|
default: C(() => [
|
|
481
|
-
_(f(
|
|
485
|
+
_(f(He))
|
|
482
486
|
]),
|
|
483
487
|
_: 1
|
|
484
488
|
})
|
|
485
489
|
])
|
|
486
490
|
])) : I("", !0),
|
|
487
|
-
_(
|
|
491
|
+
_(h, { ref: "leftScrollRef" }, {
|
|
488
492
|
default: C(() => [
|
|
489
|
-
|
|
490
|
-
_(
|
|
493
|
+
p("div", Vt, [
|
|
494
|
+
_(at, { menus: f(e) }, null, 8, ["menus"])
|
|
491
495
|
])
|
|
492
496
|
]),
|
|
493
497
|
_: 1
|
|
@@ -496,83 +500,83 @@ const Qt = { class: "menu-item-icon" }, zt = ["innerHTML"], Zt = /* @__PURE__ */
|
|
|
496
500
|
], 2)) : I("", !0);
|
|
497
501
|
};
|
|
498
502
|
}
|
|
499
|
-
}),
|
|
500
|
-
function
|
|
501
|
-
const n = O(), e =
|
|
503
|
+
}), en = /* @__PURE__ */ N($t, [["__scopeId", "data-v-ff960d0f"]]);
|
|
504
|
+
function ot() {
|
|
505
|
+
const n = O(), e = w(() => n.value.appList || []);
|
|
502
506
|
return {
|
|
503
507
|
appList: e,
|
|
504
508
|
getAppPath: (o) => (o == null ? void 0 : o.path) || "",
|
|
505
509
|
findAppById: (o) => {
|
|
506
510
|
if (o)
|
|
507
|
-
return
|
|
511
|
+
return st(e.value, o);
|
|
508
512
|
}
|
|
509
513
|
};
|
|
510
514
|
}
|
|
511
|
-
const
|
|
512
|
-
(t, a) => t || (a.appId === e ? a :
|
|
515
|
+
const st = (n, e) => n.reduce(
|
|
516
|
+
(t, a) => t || (a.appId === e ? a : st(a.children || [], e)),
|
|
513
517
|
void 0
|
|
514
|
-
),
|
|
518
|
+
), tn = {
|
|
515
519
|
key: 0,
|
|
516
520
|
class: "app-select"
|
|
517
|
-
},
|
|
521
|
+
}, nn = ["href"], an = {
|
|
518
522
|
key: 0,
|
|
519
523
|
class: "app-select__dropdown"
|
|
520
|
-
},
|
|
524
|
+
}, on = ["href"], sn = { class: "app-select__dropdown-icon text-xl" }, rn = { class: "app-select__dropdown-desc" }, ln = /* @__PURE__ */ D({
|
|
521
525
|
__name: "AppSelect",
|
|
522
526
|
setup(n) {
|
|
523
|
-
const { currentAppId: e } = H(), { appList: t, getAppPath: a } =
|
|
527
|
+
const { currentAppId: e } = H(), { appList: t, getAppPath: a } = ot(), o = (s) => {
|
|
524
528
|
var r;
|
|
525
529
|
return e.value === s.appId || !!((r = s.children) != null && r.some((c) => c.appId === e.value));
|
|
526
530
|
};
|
|
527
531
|
return (s, r) => {
|
|
528
|
-
var
|
|
532
|
+
var h;
|
|
529
533
|
const c = L("el-icon");
|
|
530
|
-
return (
|
|
531
|
-
(l(!0),
|
|
532
|
-
var
|
|
533
|
-
return l(),
|
|
534
|
+
return (h = f(t)) != null && h.length ? (l(), v("div", tn, [
|
|
535
|
+
(l(!0), v(R, null, J(f(t), (i) => {
|
|
536
|
+
var g, y;
|
|
537
|
+
return l(), v("div", {
|
|
534
538
|
key: i.appId,
|
|
535
539
|
class: "app-select__group"
|
|
536
540
|
}, [
|
|
537
|
-
|
|
541
|
+
p("a", {
|
|
538
542
|
class: K(["app-select__link", {
|
|
539
543
|
"app-select__link--active": o(i)
|
|
540
544
|
}]),
|
|
541
545
|
href: f(a)(i) || void 0
|
|
542
546
|
}, [
|
|
543
|
-
|
|
544
|
-
(
|
|
547
|
+
p("span", null, E(i.name), 1),
|
|
548
|
+
(g = i.children) != null && g.length ? (l(), k(c, { key: 0 }, {
|
|
545
549
|
default: C(() => [
|
|
546
|
-
_(f(
|
|
550
|
+
_(f(Ae))
|
|
547
551
|
]),
|
|
548
552
|
_: 1
|
|
549
553
|
})) : I("", !0)
|
|
550
|
-
], 10,
|
|
551
|
-
(
|
|
552
|
-
(l(!0),
|
|
553
|
-
key:
|
|
554
|
+
], 10, nn),
|
|
555
|
+
(y = i.children) != null && y.length ? (l(), v("div", an, [
|
|
556
|
+
(l(!0), v(R, null, J(i.children, (m) => (l(), v("a", {
|
|
557
|
+
key: m.appId,
|
|
554
558
|
class: K(["app-select__dropdown-item", {
|
|
555
|
-
"app-select__dropdown-item--active": o(
|
|
559
|
+
"app-select__dropdown-item--active": o(m)
|
|
556
560
|
}]),
|
|
557
|
-
href: f(a)(
|
|
561
|
+
href: f(a)(m) || void 0
|
|
558
562
|
}, [
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
class: K(
|
|
563
|
+
p("span", sn, [
|
|
564
|
+
p("i", {
|
|
565
|
+
class: K(m.icon || "metisicon-moxingku")
|
|
562
566
|
}, null, 2)
|
|
563
567
|
]),
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
568
|
+
p("div", null, [
|
|
569
|
+
p("div", null, E(m.name), 1),
|
|
570
|
+
p("div", rn, E(m.desc), 1)
|
|
567
571
|
])
|
|
568
|
-
], 10,
|
|
572
|
+
], 10, on))), 128))
|
|
569
573
|
])) : I("", !0)
|
|
570
574
|
]);
|
|
571
575
|
}), 128))
|
|
572
576
|
])) : I("", !0);
|
|
573
577
|
};
|
|
574
578
|
}
|
|
575
|
-
}),
|
|
579
|
+
}), cn = /* @__PURE__ */ N(ln, [["__scopeId", "data-v-e2f5efb7"]]), un = /* @__PURE__ */ D({
|
|
576
580
|
__name: "NavIconBtn",
|
|
577
581
|
props: {
|
|
578
582
|
tag: { default: "button" },
|
|
@@ -580,7 +584,7 @@ const ot = (n, e) => n.reduce(
|
|
|
580
584
|
iconOnly: { type: Boolean, default: !0 }
|
|
581
585
|
},
|
|
582
586
|
setup(n) {
|
|
583
|
-
return (e, t) => (l(), k(
|
|
587
|
+
return (e, t) => (l(), k(be(n.tag), {
|
|
584
588
|
type: n.tag === "button" ? n.type : void 0,
|
|
585
589
|
class: K(["nav-icon-btn", { "nav-icon-btn--icon-only": n.iconOnly }])
|
|
586
590
|
}, {
|
|
@@ -590,11 +594,11 @@ const ot = (n, e) => n.reduce(
|
|
|
590
594
|
_: 3
|
|
591
595
|
}, 8, ["type", "class"]));
|
|
592
596
|
}
|
|
593
|
-
}), X = /* @__PURE__ */
|
|
597
|
+
}), X = /* @__PURE__ */ N(un, [["__scopeId", "data-v-824bbddc"]]), dn = /* @__PURE__ */ D({
|
|
594
598
|
__name: "ThemeToggle",
|
|
595
599
|
setup(n) {
|
|
596
|
-
const e = O(), { theme: t, isDark: a, toggleTheme: o } =
|
|
597
|
-
return
|
|
600
|
+
const e = O(), { theme: t, isDark: a, toggleTheme: o } = Ge();
|
|
601
|
+
return Fe(() => {
|
|
598
602
|
e.value.theme = t.value;
|
|
599
603
|
}), (s, r) => {
|
|
600
604
|
const c = L("el-icon");
|
|
@@ -611,7 +615,7 @@ const ot = (n, e) => n.reduce(
|
|
|
611
615
|
}, 8, ["onClick"]);
|
|
612
616
|
};
|
|
613
617
|
}
|
|
614
|
-
}),
|
|
618
|
+
}), rt = /* @__PURE__ */ N(dn, [["__scopeId", "data-v-e6ea60b7"]]), pn = {
|
|
615
619
|
label: {
|
|
616
620
|
clickToChangeImage: "Click to change image"
|
|
617
621
|
},
|
|
@@ -619,7 +623,7 @@ const ot = (n, e) => n.reduce(
|
|
|
619
623
|
uploadIng: "Uploading...",
|
|
620
624
|
agreementTip1: "Terms of Service and Privacy Policy"
|
|
621
625
|
}
|
|
622
|
-
},
|
|
626
|
+
}, mn = {
|
|
623
627
|
label: {
|
|
624
628
|
agreement: "I agree to",
|
|
625
629
|
and: "and",
|
|
@@ -824,7 +828,7 @@ const ot = (n, e) => n.reduce(
|
|
|
824
828
|
loginHeroTitle: "Enterprise AI Platform for Model Services & Compute",
|
|
825
829
|
loginHeroDesc: "Unified API access to multi-model routing, compute orchestration, and AI service operations, built for enterprise."
|
|
826
830
|
}
|
|
827
|
-
},
|
|
831
|
+
}, hn = {
|
|
828
832
|
btn: {
|
|
829
833
|
agree: "Agree",
|
|
830
834
|
disagree: "Disagree",
|
|
@@ -862,7 +866,7 @@ const ot = (n, e) => n.reduce(
|
|
|
862
866
|
},
|
|
863
867
|
pleaseSelect: "Please select {0}",
|
|
864
868
|
seeMore: "See More"
|
|
865
|
-
},
|
|
869
|
+
}, gn = {
|
|
866
870
|
notFound: {
|
|
867
871
|
title: "Coming Soon!",
|
|
868
872
|
description: "This page is under development. Please refresh the page or click the button below to return to the homepage.",
|
|
@@ -897,7 +901,7 @@ const ot = (n, e) => n.reduce(
|
|
|
897
901
|
folder: "folder",
|
|
898
902
|
file: "file"
|
|
899
903
|
}
|
|
900
|
-
},
|
|
904
|
+
}, fn = {
|
|
901
905
|
label: {
|
|
902
906
|
languageModel: "Language Model"
|
|
903
907
|
},
|
|
@@ -1046,7 +1050,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1046
1050
|
CNY: "Chinese Yuan",
|
|
1047
1051
|
USD: "US Dollar"
|
|
1048
1052
|
}
|
|
1049
|
-
},
|
|
1053
|
+
}, vn = {
|
|
1050
1054
|
label: {},
|
|
1051
1055
|
btn: {
|
|
1052
1056
|
search: "Search",
|
|
@@ -1055,7 +1059,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1055
1059
|
expand: "Expand"
|
|
1056
1060
|
},
|
|
1057
1061
|
msg: {}
|
|
1058
|
-
},
|
|
1062
|
+
}, yn = {
|
|
1059
1063
|
label: {
|
|
1060
1064
|
otherConfig: "Other Settings"
|
|
1061
1065
|
},
|
|
@@ -1070,7 +1074,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1070
1074
|
StaticPrefixInput: {
|
|
1071
1075
|
notEmpty: "Cannot be empty"
|
|
1072
1076
|
}
|
|
1073
|
-
},
|
|
1077
|
+
}, bn = {
|
|
1074
1078
|
label: {},
|
|
1075
1079
|
btn: {},
|
|
1076
1080
|
msg: {
|
|
@@ -1086,17 +1090,17 @@ const ot = (n, e) => n.reduce(
|
|
|
1086
1090
|
charError: "Passwords must contain letters, numbers, and special symbols",
|
|
1087
1091
|
charTypeError: "The password must contain at least three types: uppercase letters, lowercase letters, numbers, and special symbols"
|
|
1088
1092
|
}
|
|
1089
|
-
}, bn = {
|
|
1090
|
-
name: "English",
|
|
1091
|
-
common: mn,
|
|
1092
|
-
account: dn,
|
|
1093
|
-
admin: pn,
|
|
1094
|
-
components: hn,
|
|
1095
|
-
constant: gn,
|
|
1096
|
-
filterBox: fn,
|
|
1097
|
-
password: yn,
|
|
1098
|
-
instanceForm: vn
|
|
1099
1093
|
}, An = {
|
|
1094
|
+
name: "English",
|
|
1095
|
+
common: hn,
|
|
1096
|
+
account: pn,
|
|
1097
|
+
admin: mn,
|
|
1098
|
+
components: gn,
|
|
1099
|
+
constant: fn,
|
|
1100
|
+
filterBox: vn,
|
|
1101
|
+
password: bn,
|
|
1102
|
+
instanceForm: yn
|
|
1103
|
+
}, _n = {
|
|
1100
1104
|
label: {
|
|
1101
1105
|
clickToChangeImage: "点击更换图像"
|
|
1102
1106
|
},
|
|
@@ -1104,7 +1108,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1104
1108
|
uploadIng: "上传中...",
|
|
1105
1109
|
agreementTip1: "服务协议及隐私保护"
|
|
1106
1110
|
}
|
|
1107
|
-
},
|
|
1111
|
+
}, Cn = {
|
|
1108
1112
|
label: {
|
|
1109
1113
|
agreement: "我已同意",
|
|
1110
1114
|
and: "和",
|
|
@@ -1307,7 +1311,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1307
1311
|
loginHeroTitle: "泛 AI 聚合与分发服务",
|
|
1308
1312
|
loginHeroDesc: "通过 API 调度,实现模型调用、AI 应用构建、数据与工具服务的在线分发与使用。"
|
|
1309
1313
|
}
|
|
1310
|
-
},
|
|
1314
|
+
}, wn = {
|
|
1311
1315
|
btn: {
|
|
1312
1316
|
agree: "同意",
|
|
1313
1317
|
disagree: "不同意",
|
|
@@ -1380,7 +1384,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1380
1384
|
folder: "文件夹",
|
|
1381
1385
|
file: "文件"
|
|
1382
1386
|
}
|
|
1383
|
-
},
|
|
1387
|
+
}, Pn = {
|
|
1384
1388
|
label: {
|
|
1385
1389
|
languageModel: "语言模型"
|
|
1386
1390
|
},
|
|
@@ -1529,7 +1533,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1529
1533
|
CNY: "人民币",
|
|
1530
1534
|
USD: "美元"
|
|
1531
1535
|
}
|
|
1532
|
-
},
|
|
1536
|
+
}, Tn = {
|
|
1533
1537
|
label: {},
|
|
1534
1538
|
btn: {
|
|
1535
1539
|
search: "搜索",
|
|
@@ -1538,7 +1542,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1538
1542
|
expand: "展开"
|
|
1539
1543
|
},
|
|
1540
1544
|
msg: {}
|
|
1541
|
-
},
|
|
1545
|
+
}, kn = {
|
|
1542
1546
|
label: {
|
|
1543
1547
|
otherConfig: "其他配置"
|
|
1544
1548
|
},
|
|
@@ -1553,7 +1557,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1553
1557
|
StaticPrefixInput: {
|
|
1554
1558
|
notEmpty: "不能为空"
|
|
1555
1559
|
}
|
|
1556
|
-
},
|
|
1560
|
+
}, In = {
|
|
1557
1561
|
label: {},
|
|
1558
1562
|
btn: {},
|
|
1559
1563
|
msg: {
|
|
@@ -1569,44 +1573,44 @@ const ot = (n, e) => n.reduce(
|
|
|
1569
1573
|
charError: "密码必须包含字母、数字、特殊符号",
|
|
1570
1574
|
charTypeError: "密码必须包含至少以下三种(大写字母、小写字母、数字、特殊符号)"
|
|
1571
1575
|
}
|
|
1572
|
-
},
|
|
1576
|
+
}, Ln = {
|
|
1573
1577
|
name: "中文简体",
|
|
1574
|
-
common:
|
|
1575
|
-
account:
|
|
1576
|
-
admin:
|
|
1578
|
+
common: wn,
|
|
1579
|
+
account: _n,
|
|
1580
|
+
admin: Cn,
|
|
1577
1581
|
components: Sn,
|
|
1578
|
-
constant:
|
|
1579
|
-
filterBox:
|
|
1580
|
-
password:
|
|
1581
|
-
instanceForm:
|
|
1582
|
-
},
|
|
1583
|
-
"en-US":
|
|
1584
|
-
"zh-CN":
|
|
1585
|
-
},
|
|
1586
|
-
locale:
|
|
1582
|
+
constant: Pn,
|
|
1583
|
+
filterBox: Tn,
|
|
1584
|
+
password: In,
|
|
1585
|
+
instanceForm: kn
|
|
1586
|
+
}, oe = {
|
|
1587
|
+
"en-US": An,
|
|
1588
|
+
"zh-CN": Ln
|
|
1589
|
+
}, pe = wt({
|
|
1590
|
+
locale: je(),
|
|
1587
1591
|
fallbackLocale: "en-US",
|
|
1588
|
-
messages:
|
|
1592
|
+
messages: oe,
|
|
1589
1593
|
legacy: !1
|
|
1590
|
-
}),
|
|
1594
|
+
}), xn = {
|
|
1591
1595
|
key: 0,
|
|
1592
1596
|
class: "language-select__current"
|
|
1593
|
-
},
|
|
1597
|
+
}, En = { class: "language-select__panel" }, Mn = ["onClick"], Dn = /* @__PURE__ */ D({
|
|
1594
1598
|
__name: "LanguageSelect",
|
|
1595
1599
|
props: {
|
|
1596
1600
|
showLabel: { type: Boolean, default: !1 }
|
|
1597
1601
|
},
|
|
1598
1602
|
setup(n) {
|
|
1599
|
-
const { locale: e } =
|
|
1600
|
-
() =>
|
|
1601
|
-
), a = Object.keys(
|
|
1602
|
-
label:
|
|
1603
|
+
const { locale: e } = pe.global, t = w(
|
|
1604
|
+
() => oe[e.value].name
|
|
1605
|
+
), a = Object.keys(oe).map((s) => ({
|
|
1606
|
+
label: oe[s].name,
|
|
1603
1607
|
value: s
|
|
1604
1608
|
})), o = (s) => {
|
|
1605
1609
|
W.set("locale", s), location.reload();
|
|
1606
1610
|
};
|
|
1607
1611
|
return (s, r) => {
|
|
1608
|
-
const c = L("el-icon"),
|
|
1609
|
-
return l(), k(
|
|
1612
|
+
const c = L("el-icon"), h = L("el-popover");
|
|
1613
|
+
return l(), k(h, {
|
|
1610
1614
|
placement: "bottom",
|
|
1611
1615
|
width: 180,
|
|
1612
1616
|
trigger: "hover",
|
|
@@ -1625,7 +1629,7 @@ const ot = (n, e) => n.reduce(
|
|
|
1625
1629
|
z(s.$slots, "prefix", {}, void 0, !0),
|
|
1626
1630
|
_(c, null, {
|
|
1627
1631
|
default: C(() => [...r[0] || (r[0] = [
|
|
1628
|
-
|
|
1632
|
+
p("svg", {
|
|
1629
1633
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1630
1634
|
width: "24",
|
|
1631
1635
|
height: "24",
|
|
@@ -1639,24 +1643,24 @@ const ot = (n, e) => n.reduce(
|
|
|
1639
1643
|
"aria-hidden": "true",
|
|
1640
1644
|
class: "lucide lucide-globe"
|
|
1641
1645
|
}, [
|
|
1642
|
-
|
|
1646
|
+
p("circle", {
|
|
1643
1647
|
cx: "12",
|
|
1644
1648
|
cy: "12",
|
|
1645
1649
|
r: "10"
|
|
1646
1650
|
}),
|
|
1647
|
-
|
|
1648
|
-
|
|
1651
|
+
p("path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" }),
|
|
1652
|
+
p("path", { d: "M2 12h20" })
|
|
1649
1653
|
], -1)
|
|
1650
1654
|
])]),
|
|
1651
1655
|
_: 1
|
|
1652
1656
|
}),
|
|
1653
|
-
n.showLabel ? (l(),
|
|
1657
|
+
n.showLabel ? (l(), v("span", xn, E(t.value), 1)) : I("", !0),
|
|
1654
1658
|
n.showLabel ? (l(), k(c, {
|
|
1655
1659
|
key: 1,
|
|
1656
1660
|
class: "language-select__caret"
|
|
1657
1661
|
}, {
|
|
1658
1662
|
default: C(() => [
|
|
1659
|
-
_(f(
|
|
1663
|
+
_(f(Ae))
|
|
1660
1664
|
]),
|
|
1661
1665
|
_: 1
|
|
1662
1666
|
})) : I("", !0)
|
|
@@ -1665,25 +1669,25 @@ const ot = (n, e) => n.reduce(
|
|
|
1665
1669
|
}, 8, ["icon-only", "title", "aria-label"])
|
|
1666
1670
|
]),
|
|
1667
1671
|
default: C(() => [
|
|
1668
|
-
|
|
1669
|
-
(l(!0),
|
|
1672
|
+
p("div", En, [
|
|
1673
|
+
(l(!0), v(R, null, J(f(a), (i) => (l(), v("div", {
|
|
1670
1674
|
key: i.value,
|
|
1671
1675
|
class: K(["language-select__option", { "language-select__option--active": i.value === f(e) }]),
|
|
1672
|
-
onClick: (
|
|
1673
|
-
}, E(i.label), 11,
|
|
1676
|
+
onClick: (g) => o(i.value)
|
|
1677
|
+
}, E(i.label), 11, Mn))), 128))
|
|
1674
1678
|
])
|
|
1675
1679
|
]),
|
|
1676
1680
|
_: 3
|
|
1677
1681
|
});
|
|
1678
1682
|
};
|
|
1679
1683
|
}
|
|
1680
|
-
}),
|
|
1684
|
+
}), lt = /* @__PURE__ */ N(Dn, [["__scopeId", "data-v-48306ad1"]]), Nn = { class: "mobile-user-popover" }, Bn = ["href"], Rn = /* @__PURE__ */ D({
|
|
1681
1685
|
__name: "AsideUserMobilePopover",
|
|
1682
1686
|
setup(n) {
|
|
1683
|
-
const { t: e } =
|
|
1687
|
+
const { t: e } = pe.global, t = O(), a = w(() => Rt(t.value)), o = () => {
|
|
1684
1688
|
var s, r;
|
|
1685
1689
|
Promise.resolve((r = (s = t.value).onLogout) == null ? void 0 : r.call(s)).finally(() => {
|
|
1686
|
-
t.value.onLogout ||
|
|
1690
|
+
t.value.onLogout || de(t.value);
|
|
1687
1691
|
});
|
|
1688
1692
|
};
|
|
1689
1693
|
return (s, r) => {
|
|
@@ -1697,22 +1701,22 @@ const ot = (n, e) => n.reduce(
|
|
|
1697
1701
|
z(s.$slots, "reference", {}, void 0, !0)
|
|
1698
1702
|
]),
|
|
1699
1703
|
default: C(() => [
|
|
1700
|
-
|
|
1701
|
-
|
|
1704
|
+
p("div", Nn, [
|
|
1705
|
+
p("a", {
|
|
1702
1706
|
href: a.value,
|
|
1703
1707
|
class: "mobile-user-popover__item"
|
|
1704
1708
|
}, [
|
|
1705
|
-
r[0] || (r[0] =
|
|
1706
|
-
|
|
1707
|
-
], 8,
|
|
1708
|
-
_(
|
|
1709
|
-
r[2] || (r[2] =
|
|
1710
|
-
|
|
1709
|
+
r[0] || (r[0] = p("i", { class: "metisicon-yonghu1" }, null, -1)),
|
|
1710
|
+
p("span", null, E(f(e)("admin.label.profile")), 1)
|
|
1711
|
+
], 8, Bn),
|
|
1712
|
+
_(lt),
|
|
1713
|
+
r[2] || (r[2] = p("div", { class: "mobile-user-popover__divider" }, null, -1)),
|
|
1714
|
+
p("div", {
|
|
1711
1715
|
class: "mobile-user-popover__item mobile-user-popover__item--danger",
|
|
1712
1716
|
onClick: o
|
|
1713
1717
|
}, [
|
|
1714
|
-
r[1] || (r[1] =
|
|
1715
|
-
|
|
1718
|
+
r[1] || (r[1] = p("i", { class: "metisicon-exit-full" }, null, -1)),
|
|
1719
|
+
p("span", null, E(f(e)("common.btn.logout")), 1)
|
|
1716
1720
|
])
|
|
1717
1721
|
])
|
|
1718
1722
|
]),
|
|
@@ -1720,25 +1724,25 @@ const ot = (n, e) => n.reduce(
|
|
|
1720
1724
|
});
|
|
1721
1725
|
};
|
|
1722
1726
|
}
|
|
1723
|
-
}),
|
|
1727
|
+
}), it = /* @__PURE__ */ N(Rn, [["__scopeId", "data-v-87e082b1"]]), Un = { class: "header-right-mobile" }, Kn = /* @__PURE__ */ D({
|
|
1724
1728
|
__name: "HeaderRightMobile",
|
|
1725
1729
|
setup(n) {
|
|
1726
|
-
const e = O(), t =
|
|
1730
|
+
const e = O(), t = w(
|
|
1727
1731
|
() => {
|
|
1728
1732
|
var o, s;
|
|
1729
1733
|
return !!((o = e.value.user) != null && o.id || (s = e.value.user) != null && s.userId);
|
|
1730
1734
|
}
|
|
1731
1735
|
), a = () => {
|
|
1732
1736
|
var o, s;
|
|
1733
|
-
(s = (o = e.value).onLogin) != null && s.call(o) ||
|
|
1737
|
+
(s = (o = e.value).onLogin) != null && s.call(o) || de(e.value);
|
|
1734
1738
|
};
|
|
1735
|
-
return (o, s) => (l(),
|
|
1736
|
-
_(
|
|
1737
|
-
t.value ? (l(), k(
|
|
1739
|
+
return (o, s) => (l(), v("div", Un, [
|
|
1740
|
+
_(rt),
|
|
1741
|
+
t.value ? (l(), k(it, { key: 0 }, {
|
|
1738
1742
|
reference: C(() => [
|
|
1739
1743
|
_(X, { class: "header-right-mobile__action" }, {
|
|
1740
1744
|
default: C(() => [...s[0] || (s[0] = [
|
|
1741
|
-
|
|
1745
|
+
p("i", { class: "metisicon-yonghu1" }, null, -1)
|
|
1742
1746
|
])]),
|
|
1743
1747
|
_: 1
|
|
1744
1748
|
})
|
|
@@ -1750,13 +1754,13 @@ const ot = (n, e) => n.reduce(
|
|
|
1750
1754
|
onClick: a
|
|
1751
1755
|
}, {
|
|
1752
1756
|
default: C(() => [...s[1] || (s[1] = [
|
|
1753
|
-
|
|
1757
|
+
p("i", { class: "metisicon-yonghu1" }, null, -1)
|
|
1754
1758
|
])]),
|
|
1755
1759
|
_: 1
|
|
1756
1760
|
}))
|
|
1757
1761
|
]));
|
|
1758
1762
|
}
|
|
1759
|
-
}),
|
|
1763
|
+
}), Jn = /* @__PURE__ */ N(Kn, [["__scopeId", "data-v-48792b0a"]]), On = ["aria-label", "aria-expanded"], Fn = { class: "mobile-menu-toggle__icon" }, Hn = /* @__PURE__ */ D({
|
|
1760
1764
|
__name: "MobileMenuToggle",
|
|
1761
1765
|
setup(n) {
|
|
1762
1766
|
const { sideOpen: e } = H(), t = () => {
|
|
@@ -1764,14 +1768,14 @@ const ot = (n, e) => n.reduce(
|
|
|
1764
1768
|
};
|
|
1765
1769
|
return (a, o) => {
|
|
1766
1770
|
const s = L("el-icon");
|
|
1767
|
-
return l(),
|
|
1771
|
+
return l(), v("button", {
|
|
1768
1772
|
type: "button",
|
|
1769
1773
|
class: "mobile-menu-toggle",
|
|
1770
1774
|
"aria-label": f(e) ? "Close menu" : "Open menu",
|
|
1771
1775
|
"aria-expanded": f(e),
|
|
1772
1776
|
onClick: t
|
|
1773
1777
|
}, [
|
|
1774
|
-
|
|
1778
|
+
p("div", Fn, [
|
|
1775
1779
|
_(s, null, {
|
|
1776
1780
|
default: C(() => [
|
|
1777
1781
|
_(f(bt))
|
|
@@ -1779,50 +1783,50 @@ const ot = (n, e) => n.reduce(
|
|
|
1779
1783
|
_: 1
|
|
1780
1784
|
})
|
|
1781
1785
|
])
|
|
1782
|
-
], 8,
|
|
1786
|
+
], 8, On);
|
|
1783
1787
|
};
|
|
1784
1788
|
}
|
|
1785
|
-
}),
|
|
1789
|
+
}), Qn = /* @__PURE__ */ N(Hn, [["__scopeId", "data-v-b1a4f38a"]]), zn = {
|
|
1786
1790
|
key: 0,
|
|
1787
1791
|
class: "user-avatar__fallback"
|
|
1788
|
-
},
|
|
1792
|
+
}, Zn = /* @__PURE__ */ D({
|
|
1789
1793
|
__name: "UserAvatar",
|
|
1790
1794
|
props: {
|
|
1791
1795
|
src: { default: "" },
|
|
1792
1796
|
name: { default: "" }
|
|
1793
1797
|
},
|
|
1794
1798
|
setup(n) {
|
|
1795
|
-
const e = n, t =
|
|
1799
|
+
const e = n, t = B(!1), a = w(() => e.name.trim()), o = w(
|
|
1796
1800
|
() => a.value.charAt(0).toUpperCase() || "U"
|
|
1797
|
-
), s =
|
|
1801
|
+
), s = w(() => a.value || "User avatar"), r = w(() => e.src.trim()), c = w(
|
|
1798
1802
|
() => !r.value || t.value
|
|
1799
|
-
),
|
|
1803
|
+
), h = w(
|
|
1800
1804
|
() => c.value && !!a.value
|
|
1801
|
-
), i =
|
|
1805
|
+
), i = w(
|
|
1802
1806
|
() => c.value && !a.value
|
|
1803
|
-
),
|
|
1807
|
+
), g = w(
|
|
1804
1808
|
() => r.value && !t.value ? r.value : void 0
|
|
1805
1809
|
);
|
|
1806
|
-
|
|
1810
|
+
se(
|
|
1807
1811
|
() => e.src,
|
|
1808
1812
|
() => {
|
|
1809
1813
|
t.value = !1;
|
|
1810
1814
|
}
|
|
1811
1815
|
);
|
|
1812
|
-
const
|
|
1816
|
+
const y = () => {
|
|
1813
1817
|
t.value = !0;
|
|
1814
1818
|
};
|
|
1815
|
-
return (
|
|
1816
|
-
const
|
|
1817
|
-
return l(), k(T,
|
|
1818
|
-
src:
|
|
1819
|
-
"data-src":
|
|
1819
|
+
return (m, u) => {
|
|
1820
|
+
const A = L("el-icon"), T = L("el-avatar");
|
|
1821
|
+
return l(), k(T, Oe(m.$attrs, {
|
|
1822
|
+
src: g.value,
|
|
1823
|
+
"data-src": g.value,
|
|
1820
1824
|
alt: s.value,
|
|
1821
1825
|
class: ["user-avatar", { "user-avatar--fallback": c.value }],
|
|
1822
|
-
onError:
|
|
1826
|
+
onError: y
|
|
1823
1827
|
}), {
|
|
1824
1828
|
default: C(() => [
|
|
1825
|
-
|
|
1829
|
+
h.value ? (l(), v("span", zn, E(o.value), 1)) : i.value ? (l(), k(A, {
|
|
1826
1830
|
key: 1,
|
|
1827
1831
|
class: "user-avatar__icon",
|
|
1828
1832
|
"aria-hidden": "true"
|
|
@@ -1837,17 +1841,17 @@ const ot = (n, e) => n.reduce(
|
|
|
1837
1841
|
}, 16, ["src", "data-src", "alt", "class"]);
|
|
1838
1842
|
};
|
|
1839
1843
|
}
|
|
1840
|
-
}), Ue = /* @__PURE__ */
|
|
1844
|
+
}), Ue = /* @__PURE__ */ N(Zn, [["__scopeId", "data-v-50be58a7"]]), jn = {
|
|
1841
1845
|
key: 0,
|
|
1842
1846
|
class: "layout-breadcrumb text-xs",
|
|
1843
1847
|
"aria-label": "Breadcrumb"
|
|
1844
|
-
},
|
|
1848
|
+
}, qn = ["aria-label", "title"], Yn = {
|
|
1845
1849
|
key: 1,
|
|
1846
1850
|
class: "flex min-w-0 items-center gap-1"
|
|
1847
|
-
},
|
|
1851
|
+
}, Wn = ["href"], Xn = ["onClick"], Gn = {
|
|
1848
1852
|
key: 3,
|
|
1849
1853
|
class: "layout-breadcrumb__current"
|
|
1850
|
-
},
|
|
1854
|
+
}, Vn = /* @__PURE__ */ D({
|
|
1851
1855
|
__name: "LayoutBreadcrumb",
|
|
1852
1856
|
props: {
|
|
1853
1857
|
items: { default: void 0 },
|
|
@@ -1860,119 +1864,119 @@ const ot = (n, e) => n.reduce(
|
|
|
1860
1864
|
backLabel: { default: "返回" }
|
|
1861
1865
|
},
|
|
1862
1866
|
setup(n) {
|
|
1863
|
-
const e = n, t =
|
|
1864
|
-
var
|
|
1865
|
-
if ((
|
|
1867
|
+
const e = n, t = ue(), a = Qe(), o = O(), s = H(), r = w(() => {
|
|
1868
|
+
var Te, ke, Ie, Le, xe, Ee;
|
|
1869
|
+
if ((Te = e.items) != null && Te.length)
|
|
1866
1870
|
return e.items.filter((q) => q.title);
|
|
1867
|
-
const
|
|
1868
|
-
((
|
|
1869
|
-
),
|
|
1870
|
-
let
|
|
1871
|
-
const
|
|
1872
|
-
e.parentPath || ((
|
|
1871
|
+
const d = T(t.path), b = T(
|
|
1872
|
+
((ke = t.meta) == null ? void 0 : ke.parent) || ((Ie = t.meta) == null ? void 0 : Ie.parentPath) || t.path
|
|
1873
|
+
), S = c(), P = (xe = (Le = s == null ? void 0 : s.currentEndRoute) == null ? void 0 : Le.value) == null ? void 0 : xe.paths, x = h(P || []);
|
|
1874
|
+
let U = x.length ? x : m(S, b);
|
|
1875
|
+
const he = T(
|
|
1876
|
+
e.parentPath || ((Ee = t.meta) == null ? void 0 : Ee.parentPath) || ""
|
|
1873
1877
|
);
|
|
1874
|
-
if (!
|
|
1875
|
-
const q =
|
|
1876
|
-
|
|
1878
|
+
if (!U.length && he && (U = m(S, he)), !U.length) {
|
|
1879
|
+
const q = he || u(d, S);
|
|
1880
|
+
U = q ? m(S, q) : [];
|
|
1877
1881
|
}
|
|
1878
|
-
const Z =
|
|
1879
|
-
return e.showCurrent && j &&
|
|
1882
|
+
const Z = U.map(i).filter((q) => q.title), Q = Z[Z.length - 1], j = y();
|
|
1883
|
+
return e.showCurrent && j && M(Q == null ? void 0 : Q.path) !== M(d) ? Z.push({
|
|
1880
1884
|
title: j,
|
|
1881
|
-
path:
|
|
1885
|
+
path: d,
|
|
1882
1886
|
disabled: !0
|
|
1883
|
-
}) : j && Q &&
|
|
1887
|
+
}) : j && Q && M(Q.path) === M(d) && (Q.title = j, Q.disabled = !0), !Z.length && j && Z.push({
|
|
1884
1888
|
title: j,
|
|
1885
|
-
path:
|
|
1889
|
+
path: d,
|
|
1886
1890
|
disabled: !0
|
|
1887
1891
|
}), Z;
|
|
1888
1892
|
}), c = () => {
|
|
1889
|
-
const
|
|
1890
|
-
return (o.value.menus || []).forEach((
|
|
1893
|
+
const d = [], b = /* @__PURE__ */ new Set();
|
|
1894
|
+
return (o.value.menus || []).forEach((S) => {
|
|
1891
1895
|
var x;
|
|
1892
|
-
const P =
|
|
1893
|
-
!P ||
|
|
1894
|
-
}),
|
|
1895
|
-
},
|
|
1896
|
-
var
|
|
1897
|
-
return
|
|
1898
|
-
}), i = (
|
|
1899
|
-
var
|
|
1896
|
+
const P = S.path || S.name || JSON.stringify(((x = S.meta) == null ? void 0 : x.translations) || {});
|
|
1897
|
+
!P || b.has(P) || (b.add(P), d.push(S));
|
|
1898
|
+
}), d;
|
|
1899
|
+
}, h = (d) => d.filter((b) => {
|
|
1900
|
+
var S;
|
|
1901
|
+
return b && ((S = b.meta) == null ? void 0 : S.visible) !== "0";
|
|
1902
|
+
}), i = (d) => {
|
|
1903
|
+
var b;
|
|
1900
1904
|
return {
|
|
1901
|
-
title:
|
|
1902
|
-
path:
|
|
1903
|
-
disabled: ((
|
|
1904
|
-
children:
|
|
1905
|
+
title: g(d),
|
|
1906
|
+
path: d.path,
|
|
1907
|
+
disabled: ((b = d.meta) == null ? void 0 : b.visible) === "0",
|
|
1908
|
+
children: d.children
|
|
1905
1909
|
};
|
|
1906
|
-
},
|
|
1907
|
-
var
|
|
1908
|
-
return ((
|
|
1909
|
-
},
|
|
1910
|
-
var
|
|
1911
|
-
return e.currentTitle ? e.currentTitle : typeof ((
|
|
1912
|
-
},
|
|
1913
|
-
if (!
|
|
1914
|
-
for (const P of
|
|
1915
|
-
const x = [...
|
|
1916
|
-
if (
|
|
1917
|
-
return
|
|
1918
|
-
const
|
|
1919
|
-
if (
|
|
1910
|
+
}, g = (d) => {
|
|
1911
|
+
var S;
|
|
1912
|
+
return ((S = d == null ? void 0 : d.meta) != null && S.translations ? re(V(d.meta.translations, "name", d.name)) : "") || (d == null ? void 0 : d.title) || (d == null ? void 0 : d.name) || "";
|
|
1913
|
+
}, y = () => {
|
|
1914
|
+
var d;
|
|
1915
|
+
return e.currentTitle ? e.currentTitle : typeof ((d = t.meta) == null ? void 0 : d.title) == "string" ? t.meta.title : String(t.params.id || t.params.tenantId || "");
|
|
1916
|
+
}, m = (d, b, S = []) => {
|
|
1917
|
+
if (!b) return [];
|
|
1918
|
+
for (const P of d) {
|
|
1919
|
+
const x = [...S, P];
|
|
1920
|
+
if (A(P.path, b))
|
|
1921
|
+
return h(x);
|
|
1922
|
+
const U = m(P.children || [], b, x);
|
|
1923
|
+
if (U.length) return U;
|
|
1920
1924
|
}
|
|
1921
1925
|
return [];
|
|
1922
|
-
},
|
|
1923
|
-
const
|
|
1924
|
-
for (let P =
|
|
1925
|
-
const x = `/${
|
|
1926
|
-
if (
|
|
1926
|
+
}, u = (d, b) => {
|
|
1927
|
+
const S = d.split("/").filter(Boolean);
|
|
1928
|
+
for (let P = S.length - 1; P > 0; P -= 1) {
|
|
1929
|
+
const x = `/${S.slice(0, P).join("/")}`;
|
|
1930
|
+
if (m(b, x).length) return x;
|
|
1927
1931
|
}
|
|
1928
1932
|
return "";
|
|
1929
|
-
},
|
|
1930
|
-
const
|
|
1931
|
-
if (!
|
|
1932
|
-
if (
|
|
1933
|
-
const x =
|
|
1933
|
+
}, A = (d = "", b = "") => {
|
|
1934
|
+
const S = M(d), P = M(b);
|
|
1935
|
+
if (!S || !P) return !1;
|
|
1936
|
+
if (S === P) return !0;
|
|
1937
|
+
const x = S.replace(/\/:(\w+)/g, "/([^/]+)");
|
|
1934
1938
|
return new RegExp(`^${x}$`, "i").test(P);
|
|
1935
|
-
}, T = (
|
|
1936
|
-
var
|
|
1937
|
-
return !!((
|
|
1938
|
-
},
|
|
1939
|
-
const
|
|
1940
|
-
|
|
1939
|
+
}, T = (d = "") => d ? d.split("?")[0].split("#")[0] : "", M = (d = "") => (T(d).replace(/\/+$/, "") || "/").toLowerCase(), F = (d) => /^https?:\/\//.test(d.path || ""), ae = (d) => {
|
|
1940
|
+
var b;
|
|
1941
|
+
return !!((b = d.children) != null && b.some((S) => !S.disabled));
|
|
1942
|
+
}, Pe = (d, b) => d.disabled || b === r.value.length - 1 || !d.path ? !1 : F(d) || !ae(d), ct = (d) => {
|
|
1943
|
+
const b = d.to || me(d);
|
|
1944
|
+
b && a.push(b);
|
|
1941
1945
|
}, ut = () => {
|
|
1942
|
-
var
|
|
1946
|
+
var b;
|
|
1943
1947
|
if (e.backTo) {
|
|
1944
1948
|
a.push(e.backTo);
|
|
1945
1949
|
return;
|
|
1946
1950
|
}
|
|
1947
|
-
if ((
|
|
1951
|
+
if ((b = a.options.history.state) != null && b.back && window.history.length > 1) {
|
|
1948
1952
|
a.back();
|
|
1949
1953
|
return;
|
|
1950
1954
|
}
|
|
1951
|
-
const
|
|
1952
|
-
|
|
1955
|
+
const d = dt();
|
|
1956
|
+
d && a.push(d);
|
|
1953
1957
|
}, dt = () => {
|
|
1954
|
-
var
|
|
1955
|
-
const
|
|
1956
|
-
if (
|
|
1957
|
-
return
|
|
1958
|
-
const
|
|
1959
|
-
if (
|
|
1960
|
-
if (
|
|
1961
|
-
return
|
|
1962
|
-
},
|
|
1963
|
-
if (!
|
|
1964
|
-
const
|
|
1958
|
+
var S, P;
|
|
1959
|
+
const d = e.parentPath || ((S = t.meta) == null ? void 0 : S.parentPath) || ((P = t.meta) == null ? void 0 : P.parent) || "";
|
|
1960
|
+
if (d)
|
|
1961
|
+
return me({ path: d });
|
|
1962
|
+
const b = r.value[r.value.length - 2];
|
|
1963
|
+
if (b != null && b.to) return b.to;
|
|
1964
|
+
if (b != null && b.path && !F(b))
|
|
1965
|
+
return me(b);
|
|
1966
|
+
}, me = (d) => {
|
|
1967
|
+
if (!d.path) return;
|
|
1968
|
+
const b = e.preserveQueryKeys.reduce((S, P) => {
|
|
1965
1969
|
const x = t.query[P];
|
|
1966
|
-
return typeof x == "string" && (
|
|
1967
|
-
(
|
|
1968
|
-
)),
|
|
1970
|
+
return typeof x == "string" && (S[P] = x), Array.isArray(x) && (S[P] = x.filter(
|
|
1971
|
+
(U) => typeof U == "string"
|
|
1972
|
+
)), S;
|
|
1969
1973
|
}, {});
|
|
1970
|
-
return Object.keys(
|
|
1974
|
+
return Object.keys(b).length ? { path: d.path, query: b } : { path: d.path };
|
|
1971
1975
|
};
|
|
1972
|
-
return (
|
|
1973
|
-
const
|
|
1974
|
-
return e.showBack || r.value.length ? (l(),
|
|
1975
|
-
e.showBack ? (l(),
|
|
1976
|
+
return (d, b) => {
|
|
1977
|
+
const S = L("el-icon");
|
|
1978
|
+
return e.showBack || r.value.length ? (l(), v("nav", jn, [
|
|
1979
|
+
e.showBack ? (l(), v("button", {
|
|
1976
1980
|
key: 0,
|
|
1977
1981
|
class: "layout-breadcrumb__back",
|
|
1978
1982
|
type: "button",
|
|
@@ -1980,59 +1984,59 @@ const ot = (n, e) => n.reduce(
|
|
|
1980
1984
|
title: e.backLabel,
|
|
1981
1985
|
onClick: ut
|
|
1982
1986
|
}, [
|
|
1983
|
-
_(
|
|
1987
|
+
_(S, null, {
|
|
1984
1988
|
default: C(() => [
|
|
1985
1989
|
_(f(_t))
|
|
1986
1990
|
]),
|
|
1987
1991
|
_: 1
|
|
1988
1992
|
})
|
|
1989
|
-
], 8,
|
|
1990
|
-
r.value.length ? (l(),
|
|
1991
|
-
(l(!0),
|
|
1993
|
+
], 8, qn)) : I("", !0),
|
|
1994
|
+
r.value.length ? (l(), v("ol", Yn, [
|
|
1995
|
+
(l(!0), v(R, null, J(r.value, (P, x) => (l(), v("li", {
|
|
1992
1996
|
key: `${P.path || P.title}-${x}`,
|
|
1993
1997
|
class: "flex min-w-0 items-center gap-1"
|
|
1994
1998
|
}, [
|
|
1995
|
-
x > 0 ? (l(), k(
|
|
1999
|
+
x > 0 ? (l(), k(S, {
|
|
1996
2000
|
key: 0,
|
|
1997
2001
|
class: "layout-breadcrumb__separator"
|
|
1998
2002
|
}, {
|
|
1999
2003
|
default: C(() => [
|
|
2000
|
-
_(f(
|
|
2004
|
+
_(f(fe))
|
|
2001
2005
|
]),
|
|
2002
2006
|
_: 1
|
|
2003
2007
|
})) : I("", !0),
|
|
2004
|
-
F(P) &&
|
|
2008
|
+
F(P) && Pe(P, x) ? (l(), v("a", {
|
|
2005
2009
|
key: 1,
|
|
2006
2010
|
class: "layout-breadcrumb__link",
|
|
2007
2011
|
href: P.path
|
|
2008
|
-
}, E(P.title), 9,
|
|
2012
|
+
}, E(P.title), 9, Wn)) : Pe(P, x) ? (l(), v("button", {
|
|
2009
2013
|
key: 2,
|
|
2010
2014
|
class: "layout-breadcrumb__link",
|
|
2011
2015
|
type: "button",
|
|
2012
|
-
onClick: (
|
|
2013
|
-
}, E(P.title), 9,
|
|
2016
|
+
onClick: (U) => ct(P)
|
|
2017
|
+
}, E(P.title), 9, Xn)) : (l(), v("span", Gn, E(P.title), 1))
|
|
2014
2018
|
]))), 128))
|
|
2015
2019
|
])) : I("", !0)
|
|
2016
2020
|
])) : I("", !0);
|
|
2017
2021
|
};
|
|
2018
2022
|
}
|
|
2019
|
-
}),
|
|
2023
|
+
}), Ga = /* @__PURE__ */ N(Vn, [["__scopeId", "data-v-399c6ece"]]), $n = {
|
|
2020
2024
|
key: 0,
|
|
2021
2025
|
class: "timezone-select__current"
|
|
2022
|
-
},
|
|
2026
|
+
}, ea = { class: "timezone-select__panel" }, ta = ["onClick"], na = { class: "timezone-select__name" }, aa = { class: "timezone-select__offset" }, oa = /* @__PURE__ */ D({
|
|
2023
2027
|
__name: "TimezoneSelect",
|
|
2024
2028
|
props: {
|
|
2025
2029
|
showLabel: { type: Boolean, default: !1 }
|
|
2026
2030
|
},
|
|
2027
2031
|
setup(n) {
|
|
2028
|
-
const e = It(), t =
|
|
2032
|
+
const e = It(), t = B(!1), a = w(() => e.value), o = w(() => Nt()), s = w(() => Dt(a.value)), r = (c) => {
|
|
2029
2033
|
Lt(c), t.value = !1;
|
|
2030
2034
|
};
|
|
2031
|
-
return (c,
|
|
2032
|
-
const i = L("el-icon"),
|
|
2033
|
-
return l(), k(
|
|
2035
|
+
return (c, h) => {
|
|
2036
|
+
const i = L("el-icon"), g = L("el-popover");
|
|
2037
|
+
return l(), k(g, {
|
|
2034
2038
|
visible: t.value,
|
|
2035
|
-
"onUpdate:visible":
|
|
2039
|
+
"onUpdate:visible": h[0] || (h[0] = (y) => t.value = y),
|
|
2036
2040
|
placement: "bottom",
|
|
2037
2041
|
width: 280,
|
|
2038
2042
|
trigger: "hover",
|
|
@@ -2053,13 +2057,13 @@ const ot = (n, e) => n.reduce(
|
|
|
2053
2057
|
]),
|
|
2054
2058
|
_: 1
|
|
2055
2059
|
}),
|
|
2056
|
-
n.showLabel ? (l(),
|
|
2060
|
+
n.showLabel ? (l(), v("span", $n, E(a.value), 1)) : I("", !0),
|
|
2057
2061
|
n.showLabel ? (l(), k(i, {
|
|
2058
2062
|
key: 1,
|
|
2059
2063
|
class: "timezone-select__caret"
|
|
2060
2064
|
}, {
|
|
2061
2065
|
default: C(() => [
|
|
2062
|
-
_(f(
|
|
2066
|
+
_(f(Ae))
|
|
2063
2067
|
]),
|
|
2064
2068
|
_: 1
|
|
2065
2069
|
})) : I("", !0)
|
|
@@ -2068,50 +2072,50 @@ const ot = (n, e) => n.reduce(
|
|
|
2068
2072
|
}, 8, ["icon-only", "title", "aria-label"])
|
|
2069
2073
|
]),
|
|
2070
2074
|
default: C(() => [
|
|
2071
|
-
|
|
2072
|
-
(l(!0),
|
|
2073
|
-
key:
|
|
2075
|
+
p("div", ea, [
|
|
2076
|
+
(l(!0), v(R, null, J(o.value, (y) => (l(), v("button", {
|
|
2077
|
+
key: y.value,
|
|
2074
2078
|
type: "button",
|
|
2075
2079
|
class: K(["timezone-select__option", {
|
|
2076
|
-
"timezone-select__option--active":
|
|
2080
|
+
"timezone-select__option--active": y.value === a.value
|
|
2077
2081
|
}]),
|
|
2078
|
-
onClick: (
|
|
2082
|
+
onClick: (m) => r(y.value)
|
|
2079
2083
|
}, [
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
], 10,
|
|
2084
|
+
p("span", na, E(y.value), 1),
|
|
2085
|
+
p("span", aa, E(y.offset), 1)
|
|
2086
|
+
], 10, ta))), 128))
|
|
2083
2087
|
])
|
|
2084
2088
|
]),
|
|
2085
2089
|
_: 1
|
|
2086
2090
|
}, 8, ["visible"]);
|
|
2087
2091
|
};
|
|
2088
2092
|
}
|
|
2089
|
-
}),
|
|
2093
|
+
}), Va = /* @__PURE__ */ N(oa, [["__scopeId", "data-v-e62f5f2d"]]), sa = { class: "user-info__panel" }, ra = { class: "user-info__profile" }, la = { class: "user-info__profile-main" }, ia = ["title"], ca = ["title"], ua = { class: "user-info__meta" }, da = { class: "user-info__meta-label" }, pa = ["title"], ma = ["href"], ha = /* @__PURE__ */ D({
|
|
2090
2094
|
__name: "UserInfo",
|
|
2091
2095
|
setup(n) {
|
|
2092
|
-
const { t: e } =
|
|
2096
|
+
const { t: e } = pe.global, t = O(), a = w(() => t.value.user || {}), o = w(() => t.value.accountMenu || []), s = w(
|
|
2093
2097
|
() => {
|
|
2094
|
-
var
|
|
2095
|
-
return ((
|
|
2098
|
+
var h, i, g, y;
|
|
2099
|
+
return ((h = a.value) == null ? void 0 : h.name) || ((i = a.value) == null ? void 0 : i.username) || ((g = a.value) == null ? void 0 : g.email) || ((y = a.value) == null ? void 0 : y.userId) || "User";
|
|
2096
2100
|
}
|
|
2097
|
-
), r =
|
|
2101
|
+
), r = w(
|
|
2098
2102
|
() => {
|
|
2099
|
-
var
|
|
2103
|
+
var h, i, g;
|
|
2100
2104
|
return [
|
|
2101
|
-
{ label: e("admin.label.userName"), value: (
|
|
2105
|
+
{ label: e("admin.label.userName"), value: (h = a.value) == null ? void 0 : h.username },
|
|
2102
2106
|
{ label: e("admin.label.email"), value: (i = a.value) == null ? void 0 : i.email },
|
|
2103
|
-
{ label: e("admin.label.userId"), value: (
|
|
2104
|
-
].filter((
|
|
2107
|
+
{ label: e("admin.label.userId"), value: (g = a.value) == null ? void 0 : g.userId }
|
|
2108
|
+
].filter((y) => !!y.value);
|
|
2105
2109
|
}
|
|
2106
2110
|
), c = () => {
|
|
2107
|
-
var
|
|
2108
|
-
Promise.resolve((i = (
|
|
2109
|
-
t.value.onLogout ||
|
|
2111
|
+
var h, i;
|
|
2112
|
+
Promise.resolve((i = (h = t.value).onLogout) == null ? void 0 : i.call(h)).finally(() => {
|
|
2113
|
+
t.value.onLogout || de(t.value);
|
|
2110
2114
|
});
|
|
2111
2115
|
};
|
|
2112
|
-
return (
|
|
2113
|
-
const
|
|
2114
|
-
return l(), k(
|
|
2116
|
+
return (h, i) => {
|
|
2117
|
+
const g = L("el-popover");
|
|
2118
|
+
return l(), k(g, {
|
|
2115
2119
|
width: 280,
|
|
2116
2120
|
trigger: "hover",
|
|
2117
2121
|
"popper-class": "top-userinfo-popover"
|
|
@@ -2124,60 +2128,60 @@ const ot = (n, e) => n.reduce(
|
|
|
2124
2128
|
}, null, 8, ["src", "name"])
|
|
2125
2129
|
]),
|
|
2126
2130
|
default: C(() => {
|
|
2127
|
-
var
|
|
2131
|
+
var y;
|
|
2128
2132
|
return [
|
|
2129
|
-
|
|
2130
|
-
|
|
2133
|
+
p("div", sa, [
|
|
2134
|
+
p("div", ra, [
|
|
2131
2135
|
_(f(Ue), {
|
|
2132
2136
|
class: "user-info__profile-avatar",
|
|
2133
2137
|
src: a.value.avatar,
|
|
2134
2138
|
name: s.value
|
|
2135
2139
|
}, null, 8, ["src", "name"]),
|
|
2136
|
-
|
|
2137
|
-
|
|
2140
|
+
p("div", la, [
|
|
2141
|
+
p("div", {
|
|
2138
2142
|
class: "user-info__display-name",
|
|
2139
2143
|
title: s.value
|
|
2140
|
-
}, E(s.value), 9,
|
|
2141
|
-
(
|
|
2144
|
+
}, E(s.value), 9, ia),
|
|
2145
|
+
(y = a.value) != null && y.username ? (l(), v("div", {
|
|
2142
2146
|
key: 0,
|
|
2143
2147
|
class: "user-info__username",
|
|
2144
2148
|
title: a.value.username
|
|
2145
|
-
}, " @" + E(a.value.username), 9,
|
|
2149
|
+
}, " @" + E(a.value.username), 9, ca)) : I("", !0)
|
|
2146
2150
|
])
|
|
2147
2151
|
]),
|
|
2148
|
-
|
|
2149
|
-
(l(!0),
|
|
2150
|
-
key:
|
|
2152
|
+
p("div", ua, [
|
|
2153
|
+
(l(!0), v(R, null, J(r.value, (m) => (l(), v("div", {
|
|
2154
|
+
key: m.label,
|
|
2151
2155
|
class: "user-info__meta-row"
|
|
2152
2156
|
}, [
|
|
2153
|
-
|
|
2154
|
-
|
|
2157
|
+
p("span", da, E(m.label), 1),
|
|
2158
|
+
p("span", {
|
|
2155
2159
|
class: "user-info__meta-value",
|
|
2156
|
-
title:
|
|
2157
|
-
}, E(
|
|
2160
|
+
title: m.value
|
|
2161
|
+
}, E(m.value), 9, pa)
|
|
2158
2162
|
]))), 128))
|
|
2159
2163
|
]),
|
|
2160
|
-
i[1] || (i[1] =
|
|
2161
|
-
(l(!0),
|
|
2162
|
-
var
|
|
2163
|
-
return l(),
|
|
2164
|
-
key:
|
|
2165
|
-
href:
|
|
2164
|
+
i[1] || (i[1] = p("div", { class: "user-info__divider" }, null, -1)),
|
|
2165
|
+
(l(!0), v(R, null, J(o.value, (m, u) => {
|
|
2166
|
+
var A, T;
|
|
2167
|
+
return l(), v("a", {
|
|
2168
|
+
key: u,
|
|
2169
|
+
href: m.path,
|
|
2166
2170
|
class: "user-info__item"
|
|
2167
2171
|
}, [
|
|
2168
|
-
_(
|
|
2169
|
-
icon:
|
|
2172
|
+
_(nt, {
|
|
2173
|
+
icon: m.icon || ((A = m.meta) == null ? void 0 : A.icon)
|
|
2170
2174
|
}, null, 8, ["icon"]),
|
|
2171
|
-
|
|
2172
|
-
], 8,
|
|
2175
|
+
p("span", null, E(f(V)(((T = m.meta) == null ? void 0 : T.translations) || {}, "name", m.name)), 1)
|
|
2176
|
+
], 8, ma);
|
|
2173
2177
|
}), 128)),
|
|
2174
|
-
i[2] || (i[2] =
|
|
2175
|
-
|
|
2178
|
+
i[2] || (i[2] = p("div", { class: "user-info__divider" }, null, -1)),
|
|
2179
|
+
p("div", {
|
|
2176
2180
|
class: "user-info__item user-info__item--danger",
|
|
2177
2181
|
onClick: c
|
|
2178
2182
|
}, [
|
|
2179
|
-
i[0] || (i[0] =
|
|
2180
|
-
|
|
2183
|
+
i[0] || (i[0] = p("i", { class: "metisicon-exit-full" }, null, -1)),
|
|
2184
|
+
p("span", null, E(f(e)("common.btn.logout")), 1)
|
|
2181
2185
|
])
|
|
2182
2186
|
])
|
|
2183
2187
|
];
|
|
@@ -2186,29 +2190,29 @@ const ot = (n, e) => n.reduce(
|
|
|
2186
2190
|
});
|
|
2187
2191
|
};
|
|
2188
2192
|
}
|
|
2189
|
-
}),
|
|
2193
|
+
}), ga = /* @__PURE__ */ N(ha, [["__scopeId", "data-v-ac052463"]]), fa = { class: "header-right" }, va = ["href"], ya = /* @__PURE__ */ D({
|
|
2190
2194
|
__name: "SHeaderRight",
|
|
2191
2195
|
setup(n) {
|
|
2192
|
-
const { t: e } =
|
|
2193
|
-
var i,
|
|
2194
|
-
return !!((i = s.value) != null && i.id || (
|
|
2196
|
+
const { t: e } = pe.global, t = O(), a = w(() => t.value.hideDoc ?? !1), o = w(() => Ve(t.value)), s = w(() => t.value.user), r = w(() => {
|
|
2197
|
+
var i, g;
|
|
2198
|
+
return !!((i = s.value) != null && i.id || (g = s.value) != null && g.userId);
|
|
2195
2199
|
}), c = (i) => {
|
|
2196
2200
|
t.value.onLogin && (i.preventDefault(), t.value.onLogin());
|
|
2197
|
-
},
|
|
2198
|
-
return (i,
|
|
2199
|
-
const
|
|
2200
|
-
return l(),
|
|
2201
|
-
!a.value &&
|
|
2201
|
+
}, h = w(() => t.value.docsPath || "");
|
|
2202
|
+
return (i, g) => {
|
|
2203
|
+
const y = L("el-icon");
|
|
2204
|
+
return l(), v("div", fa, [
|
|
2205
|
+
!a.value && h.value ? (l(), k(X, {
|
|
2202
2206
|
key: 0,
|
|
2203
2207
|
tag: "a",
|
|
2204
2208
|
class: "whitespace-nowrap",
|
|
2205
|
-
href:
|
|
2209
|
+
href: h.value,
|
|
2206
2210
|
target: "_blank"
|
|
2207
2211
|
}, {
|
|
2208
2212
|
default: C(() => [
|
|
2209
|
-
_(
|
|
2210
|
-
default: C(() => [...
|
|
2211
|
-
|
|
2213
|
+
_(y, null, {
|
|
2214
|
+
default: C(() => [...g[0] || (g[0] = [
|
|
2215
|
+
p("svg", {
|
|
2212
2216
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2213
2217
|
width: "24",
|
|
2214
2218
|
height: "24",
|
|
@@ -2222,8 +2226,8 @@ const ot = (n, e) => n.reduce(
|
|
|
2222
2226
|
"aria-hidden": "true",
|
|
2223
2227
|
class: "lucide lucide-book-open"
|
|
2224
2228
|
}, [
|
|
2225
|
-
|
|
2226
|
-
|
|
2229
|
+
p("path", { d: "M12 7v14" }),
|
|
2230
|
+
p("path", { d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z" })
|
|
2227
2231
|
], -1)
|
|
2228
2232
|
])]),
|
|
2229
2233
|
_: 1
|
|
@@ -2231,21 +2235,21 @@ const ot = (n, e) => n.reduce(
|
|
|
2231
2235
|
]),
|
|
2232
2236
|
_: 1
|
|
2233
2237
|
}, 8, ["href"])) : I("", !0),
|
|
2238
|
+
_(lt),
|
|
2234
2239
|
_(rt),
|
|
2235
|
-
|
|
2236
|
-
r.value ? (l(), k(ha, { key: 1 })) : (l(), y("a", {
|
|
2240
|
+
r.value ? (l(), k(ga, { key: 1 })) : (l(), v("a", {
|
|
2237
2241
|
key: 2,
|
|
2238
2242
|
class: "header-right__login",
|
|
2239
2243
|
href: o.value,
|
|
2240
2244
|
onClick: c
|
|
2241
|
-
}, E(f(e)("common.btn.login")), 9,
|
|
2245
|
+
}, E(f(e)("common.btn.login")), 9, va))
|
|
2242
2246
|
]);
|
|
2243
2247
|
};
|
|
2244
2248
|
}
|
|
2245
|
-
}),
|
|
2249
|
+
}), ba = /* @__PURE__ */ N(ya, [["__scopeId", "data-v-3c5e16a6"]]), Aa = {
|
|
2246
2250
|
"header-bar": "",
|
|
2247
2251
|
class: "header-bar sticky top-0 z-200"
|
|
2248
|
-
},
|
|
2252
|
+
}, _a = { class: "header-bar__left" }, Ca = { class: "header-bar__logo-wrap" }, wa = {
|
|
2249
2253
|
href: "/",
|
|
2250
2254
|
target: "_self",
|
|
2251
2255
|
rel: "noopener",
|
|
@@ -2253,10 +2257,10 @@ const ot = (n, e) => n.reduce(
|
|
|
2253
2257
|
}, Sa = {
|
|
2254
2258
|
key: 1,
|
|
2255
2259
|
class: "header-bar__divider"
|
|
2256
|
-
},
|
|
2260
|
+
}, Pa = { class: "header-bar__right" }, Ta = /* @__PURE__ */ D({
|
|
2257
2261
|
__name: "HeaderBar",
|
|
2258
2262
|
setup(n) {
|
|
2259
|
-
const e = O(), { isMobile: t } = H(), a =
|
|
2263
|
+
const e = O(), { isMobile: t } = H(), a = w(
|
|
2260
2264
|
() => {
|
|
2261
2265
|
var o, s;
|
|
2262
2266
|
return !!((o = e.value.user) != null && o.id || (s = e.value.user) != null && s.userId);
|
|
@@ -2264,61 +2268,61 @@ const ot = (n, e) => n.reduce(
|
|
|
2264
2268
|
);
|
|
2265
2269
|
return (o, s) => {
|
|
2266
2270
|
const r = L("el-image");
|
|
2267
|
-
return l(),
|
|
2268
|
-
|
|
2269
|
-
f(t) ? (l(), k(
|
|
2270
|
-
|
|
2271
|
-
|
|
2271
|
+
return l(), v("div", Aa, [
|
|
2272
|
+
p("div", _a, [
|
|
2273
|
+
f(t) ? (l(), k(Qn, { key: 0 })) : I("", !0),
|
|
2274
|
+
p("div", Ca, [
|
|
2275
|
+
p("a", wa, [
|
|
2272
2276
|
_(r, {
|
|
2273
2277
|
src: f(e).logo,
|
|
2274
2278
|
class: "h-7"
|
|
2275
2279
|
}, null, 8, ["src"])
|
|
2276
2280
|
])
|
|
2277
2281
|
]),
|
|
2278
|
-
a.value && !f(t) ? (l(),
|
|
2279
|
-
a.value && !f(t) ? (l(), k(
|
|
2282
|
+
a.value && !f(t) ? (l(), v("div", Sa)) : I("", !0),
|
|
2283
|
+
a.value && !f(t) ? (l(), k(cn, { key: 2 })) : I("", !0)
|
|
2280
2284
|
]),
|
|
2281
|
-
|
|
2285
|
+
p("div", Pa, [
|
|
2282
2286
|
z(o.$slots, "default", {}, void 0, !0),
|
|
2283
|
-
f(t) ? I("", !0) : (l(), k(
|
|
2284
|
-
f(t) ? (l(), k(
|
|
2287
|
+
f(t) ? I("", !0) : (l(), k(ba, { key: 0 })),
|
|
2288
|
+
f(t) ? (l(), k(Jn, { key: 1 })) : I("", !0)
|
|
2285
2289
|
])
|
|
2286
2290
|
]);
|
|
2287
2291
|
};
|
|
2288
2292
|
}
|
|
2289
|
-
}),
|
|
2293
|
+
}), ka = /* @__PURE__ */ N(Ta, [["__scopeId", "data-v-0ce1ab70"]]), Ia = {
|
|
2290
2294
|
key: 0,
|
|
2291
2295
|
class: "min-w-0 flex-1"
|
|
2292
|
-
},
|
|
2296
|
+
}, La = /* @__PURE__ */ D({
|
|
2293
2297
|
__name: "AppSelectMobile",
|
|
2294
2298
|
setup(n) {
|
|
2295
|
-
const { currentAppId: e } = H(), { appList: t, getAppPath: a, findAppById: o } =
|
|
2299
|
+
const { currentAppId: e } = H(), { appList: t, getAppPath: a, findAppById: o } = ot(), s = w(() => {
|
|
2296
2300
|
const c = o(e.value);
|
|
2297
2301
|
return c ? a(c) : "";
|
|
2298
2302
|
}), r = (c) => {
|
|
2299
2303
|
c && (location.href = c);
|
|
2300
2304
|
};
|
|
2301
|
-
return (c,
|
|
2302
|
-
var
|
|
2303
|
-
const i = L("el-option"),
|
|
2304
|
-
return (
|
|
2305
|
-
_(
|
|
2305
|
+
return (c, h) => {
|
|
2306
|
+
var m;
|
|
2307
|
+
const i = L("el-option"), g = L("el-option-group"), y = L("el-select");
|
|
2308
|
+
return (m = f(t)) != null && m.length ? (l(), v("div", Ia, [
|
|
2309
|
+
_(y, {
|
|
2306
2310
|
"model-value": s.value,
|
|
2307
2311
|
class: "w-full",
|
|
2308
2312
|
onChange: r
|
|
2309
2313
|
}, {
|
|
2310
2314
|
default: C(() => [
|
|
2311
|
-
(l(!0),
|
|
2312
|
-
var
|
|
2313
|
-
return l(),
|
|
2314
|
-
key:
|
|
2315
|
+
(l(!0), v(R, null, J(f(t), (u) => {
|
|
2316
|
+
var A;
|
|
2317
|
+
return l(), v(R, {
|
|
2318
|
+
key: u.appId
|
|
2315
2319
|
}, [
|
|
2316
|
-
(
|
|
2320
|
+
(A = u.children) != null && A.length ? (l(), k(g, {
|
|
2317
2321
|
key: 0,
|
|
2318
|
-
label:
|
|
2322
|
+
label: u.name
|
|
2319
2323
|
}, {
|
|
2320
2324
|
default: C(() => [
|
|
2321
|
-
(l(!0),
|
|
2325
|
+
(l(!0), v(R, null, J(u.children, (T) => (l(), k(i, {
|
|
2322
2326
|
key: T.appId,
|
|
2323
2327
|
label: T.name,
|
|
2324
2328
|
value: f(a)(T),
|
|
@@ -2328,8 +2332,8 @@ const ot = (n, e) => n.reduce(
|
|
|
2328
2332
|
_: 2
|
|
2329
2333
|
}, 1032, ["label"])) : (l(), k(i, {
|
|
2330
2334
|
key: 1,
|
|
2331
|
-
label:
|
|
2332
|
-
value: f(a)(
|
|
2335
|
+
label: u.name,
|
|
2336
|
+
value: f(a)(u)
|
|
2333
2337
|
}, null, 8, ["label", "value"]))
|
|
2334
2338
|
], 64);
|
|
2335
2339
|
}), 128))
|
|
@@ -2339,26 +2343,26 @@ const ot = (n, e) => n.reduce(
|
|
|
2339
2343
|
])) : I("", !0);
|
|
2340
2344
|
};
|
|
2341
2345
|
}
|
|
2342
|
-
}),
|
|
2346
|
+
}), xa = { class: "aside-user-mobile" }, Ea = { class: "flex-1" }, Ma = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Da = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Na = /* @__PURE__ */ D({
|
|
2343
2347
|
__name: "AsideUserMobile",
|
|
2344
2348
|
setup(n) {
|
|
2345
|
-
const e = O(), t =
|
|
2349
|
+
const e = O(), t = w(() => e.value.user || {}), a = w(() => !!(t.value.id || t.value.userId)), o = w(() => t.value.name || t.value.username), s = () => {
|
|
2346
2350
|
var r, c;
|
|
2347
|
-
(c = (r = e.value).onLogin) != null && c.call(r) ||
|
|
2351
|
+
(c = (r = e.value).onLogin) != null && c.call(r) || de(e.value);
|
|
2348
2352
|
};
|
|
2349
2353
|
return (r, c) => {
|
|
2350
|
-
const
|
|
2351
|
-
return a.value ? (l(), k(
|
|
2354
|
+
const h = L("el-icon");
|
|
2355
|
+
return a.value ? (l(), k(it, { key: 0 }, {
|
|
2352
2356
|
reference: C(() => [
|
|
2353
|
-
|
|
2354
|
-
c[0] || (c[0] =
|
|
2355
|
-
|
|
2357
|
+
p("div", xa, [
|
|
2358
|
+
c[0] || (c[0] = p("div", { class: "aside-user-mobile__icon text-lg" }, [
|
|
2359
|
+
p("i", { class: "metisicon-yonghu1" })
|
|
2356
2360
|
], -1)),
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
_(
|
|
2361
|
+
p("div", Ea, E(o.value), 1),
|
|
2362
|
+
p("div", Ma, [
|
|
2363
|
+
_(h, null, {
|
|
2360
2364
|
default: C(() => [
|
|
2361
|
-
_(f(
|
|
2365
|
+
_(f(fe))
|
|
2362
2366
|
]),
|
|
2363
2367
|
_: 1
|
|
2364
2368
|
})
|
|
@@ -2366,19 +2370,19 @@ const ot = (n, e) => n.reduce(
|
|
|
2366
2370
|
])
|
|
2367
2371
|
]),
|
|
2368
2372
|
_: 1
|
|
2369
|
-
})) : (l(),
|
|
2373
|
+
})) : (l(), v("div", {
|
|
2370
2374
|
key: 1,
|
|
2371
2375
|
class: "aside-user-mobile",
|
|
2372
2376
|
onClick: s
|
|
2373
2377
|
}, [
|
|
2374
|
-
c[1] || (c[1] =
|
|
2375
|
-
|
|
2378
|
+
c[1] || (c[1] = p("div", { class: "aside-user-mobile__icon text-lg" }, [
|
|
2379
|
+
p("i", { class: "metisicon-yonghu1" })
|
|
2376
2380
|
], -1)),
|
|
2377
|
-
c[2] || (c[2] =
|
|
2378
|
-
|
|
2379
|
-
_(
|
|
2381
|
+
c[2] || (c[2] = p("div", { class: "flex-1" }, "登录/注册", -1)),
|
|
2382
|
+
p("div", Da, [
|
|
2383
|
+
_(h, null, {
|
|
2380
2384
|
default: C(() => [
|
|
2381
|
-
_(f(
|
|
2385
|
+
_(f(fe))
|
|
2382
2386
|
]),
|
|
2383
2387
|
_: 1
|
|
2384
2388
|
})
|
|
@@ -2386,18 +2390,18 @@ const ot = (n, e) => n.reduce(
|
|
|
2386
2390
|
]));
|
|
2387
2391
|
};
|
|
2388
2392
|
}
|
|
2389
|
-
}),
|
|
2393
|
+
}), Ba = /* @__PURE__ */ N(Na, [["__scopeId", "data-v-c56964a5"]]), Ra = { class: "aside-bar-mobile__head flex items-center gap-3" }, Ua = { class: "p-3" }, Ka = /* @__PURE__ */ D({
|
|
2390
2394
|
__name: "AsideBarMobile",
|
|
2391
2395
|
setup(n) {
|
|
2392
2396
|
const { menus: e, sideOpen: t } = H(), a = () => void (t.value = !1);
|
|
2393
2397
|
return (o, s) => {
|
|
2394
2398
|
const r = L("el-icon"), c = L("el-scrollbar");
|
|
2395
|
-
return f(e).length && !o.$route.meta.hideSidebar ? (l(),
|
|
2399
|
+
return f(e).length && !o.$route.meta.hideSidebar ? (l(), v("div", {
|
|
2396
2400
|
key: 0,
|
|
2397
2401
|
class: K(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [f(t) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
|
|
2398
2402
|
}, [
|
|
2399
|
-
|
|
2400
|
-
|
|
2403
|
+
p("div", Ra, [
|
|
2404
|
+
p("button", {
|
|
2401
2405
|
type: "button",
|
|
2402
2406
|
class: "aside-bar-mobile__close",
|
|
2403
2407
|
"aria-label": "Close menu",
|
|
@@ -2405,103 +2409,104 @@ const ot = (n, e) => n.reduce(
|
|
|
2405
2409
|
}, [
|
|
2406
2410
|
_(r, null, {
|
|
2407
2411
|
default: C(() => [
|
|
2408
|
-
_(f(
|
|
2412
|
+
_(f(He))
|
|
2409
2413
|
]),
|
|
2410
2414
|
_: 1
|
|
2411
2415
|
})
|
|
2412
2416
|
]),
|
|
2413
|
-
_(
|
|
2417
|
+
_(La)
|
|
2414
2418
|
]),
|
|
2415
2419
|
_(c, { ref: "leftScrollRef" }, {
|
|
2416
2420
|
default: C(() => [
|
|
2417
|
-
|
|
2418
|
-
_(
|
|
2421
|
+
p("div", Ua, [
|
|
2422
|
+
_(at, { menus: f(e) }, null, 8, ["menus"])
|
|
2419
2423
|
])
|
|
2420
2424
|
]),
|
|
2421
2425
|
_: 1
|
|
2422
2426
|
}, 512),
|
|
2423
2427
|
z(o.$slots, "sidebar-foot", {}, void 0, !0),
|
|
2424
|
-
_(
|
|
2428
|
+
_(Ba)
|
|
2425
2429
|
], 2)) : I("", !0);
|
|
2426
2430
|
};
|
|
2427
2431
|
}
|
|
2428
|
-
}), Ka = /* @__PURE__ */ D(Ra, [["__scopeId", "data-v-05675378"]]), Ja = "data:image/png;base64,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", Oa = { class: "layout-shell w-full flex flex-col" }, Fa = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Ha = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Qa = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, za = /* @__PURE__ */ M({
|
|
2432
|
+
}), Ja = /* @__PURE__ */ N(Ka, [["__scopeId", "data-v-05675378"]]), Oa = "data:image/png;base64,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", Fa = { class: "layout-shell w-full flex flex-col" }, Ha = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Qa = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, za = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Za = /* @__PURE__ */ D({
|
|
2429
2433
|
__name: "BaseLayout",
|
|
2430
2434
|
props: {
|
|
2431
2435
|
setting: {}
|
|
2432
2436
|
},
|
|
2433
2437
|
setup(n) {
|
|
2434
|
-
const e = n, t =
|
|
2435
|
-
var m,
|
|
2438
|
+
const e = n, t = w(() => {
|
|
2439
|
+
var m, u, A, T, M, F, ae;
|
|
2436
2440
|
return {
|
|
2437
2441
|
...e.setting || {},
|
|
2438
|
-
logo: ((m = e.setting) == null ? void 0 : m.logo) ||
|
|
2439
|
-
menus: ((
|
|
2440
|
-
accountMenu: ((
|
|
2441
|
-
user: ((
|
|
2442
|
-
appList: ((
|
|
2443
|
-
onLogin: (
|
|
2444
|
-
onLogout: (
|
|
2442
|
+
logo: ((m = e.setting) == null ? void 0 : m.logo) || Oa,
|
|
2443
|
+
menus: ((u = e.setting) == null ? void 0 : u.menus) || [],
|
|
2444
|
+
accountMenu: ((A = e.setting) == null ? void 0 : A.accountMenu) || [],
|
|
2445
|
+
user: ((T = e.setting) == null ? void 0 : T.user) ?? null,
|
|
2446
|
+
appList: ((M = e.setting) == null ? void 0 : M.appList) || [],
|
|
2447
|
+
onLogin: (F = e.setting) == null ? void 0 : F.onLogin,
|
|
2448
|
+
onLogout: (ae = e.setting) == null ? void 0 : ae.onLogout
|
|
2445
2449
|
};
|
|
2446
2450
|
});
|
|
2447
|
-
|
|
2448
|
-
const { isMobile: a, sideOpen: o } = H();
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2451
|
+
Fe(() => void Ot(t.value));
|
|
2452
|
+
const { isMobile: a, sideOpen: o, watchRoute: s } = H();
|
|
2453
|
+
s();
|
|
2454
|
+
let r = "", c = !1;
|
|
2455
|
+
const h = () => void (o.value = !1), i = (m) => {
|
|
2456
|
+
const u = m.matched[1];
|
|
2457
|
+
if (!u) return m.path;
|
|
2458
|
+
const A = g(u, m);
|
|
2459
|
+
return [u.path, A].filter(Boolean).join("|");
|
|
2460
|
+
}, g = (m, u) => Array.from(
|
|
2456
2461
|
m.path.matchAll(/:(\w+)/g),
|
|
2457
|
-
([,
|
|
2458
|
-
).map((
|
|
2459
|
-
const
|
|
2460
|
-
return `${
|
|
2461
|
-
}).join("|"),
|
|
2462
|
-
m.key === "Escape" && a.value && o.value &&
|
|
2462
|
+
([, T]) => T
|
|
2463
|
+
).map((T) => {
|
|
2464
|
+
const M = u.params[T];
|
|
2465
|
+
return `${T}:${Array.isArray(M) ? M.join(",") : M || ""}`;
|
|
2466
|
+
}).join("|"), y = (m) => {
|
|
2467
|
+
m.key === "Escape" && a.value && o.value && h();
|
|
2463
2468
|
};
|
|
2464
|
-
return
|
|
2469
|
+
return se(
|
|
2465
2470
|
() => a.value && o.value,
|
|
2466
2471
|
(m) => {
|
|
2467
2472
|
if (!(typeof document > "u")) {
|
|
2468
|
-
if (m && !
|
|
2469
|
-
|
|
2473
|
+
if (m && !c) {
|
|
2474
|
+
r = document.body.style.overflow, document.body.style.overflow = "hidden", c = !0;
|
|
2470
2475
|
return;
|
|
2471
2476
|
}
|
|
2472
|
-
!m &&
|
|
2477
|
+
!m && c && (document.body.style.overflow = r, c = !1);
|
|
2473
2478
|
}
|
|
2474
2479
|
},
|
|
2475
2480
|
{ immediate: !0 }
|
|
2476
|
-
),
|
|
2477
|
-
window.addEventListener("keydown",
|
|
2478
|
-
}),
|
|
2479
|
-
window.removeEventListener("keydown",
|
|
2480
|
-
}), (m,
|
|
2481
|
-
const
|
|
2482
|
-
return l(),
|
|
2483
|
-
_(
|
|
2481
|
+
), Ke(() => {
|
|
2482
|
+
window.addEventListener("keydown", y);
|
|
2483
|
+
}), Je(() => {
|
|
2484
|
+
window.removeEventListener("keydown", y), typeof document < "u" && c && (document.body.style.overflow = r);
|
|
2485
|
+
}), (m, u) => {
|
|
2486
|
+
const A = L("router-view");
|
|
2487
|
+
return l(), v("div", Fa, [
|
|
2488
|
+
_(ka, null, {
|
|
2484
2489
|
default: C(() => [
|
|
2485
2490
|
z(m.$slots, "header-right", {}, void 0, !0)
|
|
2486
2491
|
]),
|
|
2487
2492
|
_: 3
|
|
2488
2493
|
}),
|
|
2489
|
-
|
|
2490
|
-
f(a) ? (l(), k(
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
_(
|
|
2494
|
-
default: C(({ Component:
|
|
2495
|
-
_(
|
|
2496
|
-
name: String(
|
|
2494
|
+
p("div", Ha, [
|
|
2495
|
+
f(a) ? (l(), k(Ja, { key: 1 })) : (l(), k(en, { key: 0 })),
|
|
2496
|
+
p("main", Qa, [
|
|
2497
|
+
p("div", za, [
|
|
2498
|
+
_(A, null, {
|
|
2499
|
+
default: C(({ Component: T, route: M }) => [
|
|
2500
|
+
_(Me, {
|
|
2501
|
+
name: String(M.meta.transition || "layout-page"),
|
|
2497
2502
|
mode: "out-in"
|
|
2498
2503
|
}, {
|
|
2499
2504
|
default: C(() => [
|
|
2500
|
-
(l(),
|
|
2501
|
-
key:
|
|
2505
|
+
(l(), v("div", {
|
|
2506
|
+
key: i(M),
|
|
2502
2507
|
class: "layout-page-view"
|
|
2503
2508
|
}, [
|
|
2504
|
-
(l(), k(
|
|
2509
|
+
(l(), k(be(T)))
|
|
2505
2510
|
]))
|
|
2506
2511
|
]),
|
|
2507
2512
|
_: 2
|
|
@@ -2512,12 +2517,12 @@ const ot = (n, e) => n.reduce(
|
|
|
2512
2517
|
])
|
|
2513
2518
|
])
|
|
2514
2519
|
]),
|
|
2515
|
-
_(
|
|
2520
|
+
_(Me, { name: "layout-overlay" }, {
|
|
2516
2521
|
default: C(() => [
|
|
2517
|
-
f(a) && f(o) ? (l(),
|
|
2522
|
+
f(a) && f(o) ? (l(), v("div", {
|
|
2518
2523
|
key: 0,
|
|
2519
2524
|
class: "layout-shell__overlay",
|
|
2520
|
-
onClick:
|
|
2525
|
+
onClick: h
|
|
2521
2526
|
})) : I("", !0)
|
|
2522
2527
|
]),
|
|
2523
2528
|
_: 1
|
|
@@ -2525,19 +2530,18 @@ const ot = (n, e) => n.reduce(
|
|
|
2525
2530
|
]);
|
|
2526
2531
|
};
|
|
2527
2532
|
}
|
|
2528
|
-
}),
|
|
2533
|
+
}), $a = /* @__PURE__ */ N(Za, [["__scopeId", "data-v-2048c652"]]);
|
|
2529
2534
|
export {
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
+
$a as BaseLayout,
|
|
2536
|
+
lt as LanguageSelect,
|
|
2537
|
+
Ga as LayoutBreadcrumb,
|
|
2538
|
+
rt as ThemeToggle,
|
|
2539
|
+
Va as TimezoneSelect,
|
|
2535
2540
|
Ue as UserAvatar,
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
H as useLayoutState,
|
|
2541
|
+
ga as UserInfo,
|
|
2542
|
+
pe as i18n,
|
|
2543
|
+
oe as messages,
|
|
2544
|
+
ot as useApp,
|
|
2541
2545
|
O as useSetting,
|
|
2542
|
-
|
|
2546
|
+
Ge as useTheme
|
|
2543
2547
|
};
|