xto-fronted 0.8.4 → 0.9.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.
@@ -1,105 +1,115 @@
1
- import { x as N, y as Ee, z as nt, A as lt, B as rt, C as it, D as Ue, o as ft, E as ct, F as gt, i as tt, m as yt, G as bt, H as st, I as kt, J as wt, K as xt } from "./user-BfEOXV7Q.js";
2
- import { ref as y, computed as k, watch as Ce, defineComponent as ie, resolveComponent as ut, openBlock as o, createBlock as D, unref as n, withCtx as M, createElementBlock as c, Fragment as W, renderList as Z, createElementVNode as e, toDisplayString as x, createCommentVNode as P, normalizeClass as Q, withDirectives as Fe, vShow as Ct, createVNode as b, createTextVNode as be, onMounted as We, onUnmounted as qe, vModelText as He, Transition as $e, withModifiers as De, normalizeStyle as Ie, reactive as Ye, createStaticVNode as Te, withKeys as $t, h as Lt } from "vue";
3
- import { defineStore as ze } from "pinia";
4
- import { useRoute as Me, useRouter as fe, createRouter as Ge, createWebHistory as Xe } from "vue-router";
5
- import { SubMenu as je, MenuItem as Ne, Menu as Je, Tabs as Mt, TabPane as St } from "@xto/navigation";
6
- import { Icon as I, Button as Le } from "@xto/base";
7
- import { Drawer as Ze, Message as Nt } from "@xto/feedback";
8
- import { Form as It, FormItem as Ae, Input as ot, Checkbox as Et } from "@xto/form";
9
- import { createLocaleProvider as Ut, getSupportedLocales as zt, useLocale as Pt } from "@xto/core/locale";
10
- function Tt(t) {
11
- const l = /^#?([0-9a-f]{6})$/i.exec(t.trim());
12
- if (!l) return null;
13
- const d = parseInt(l[1], 16);
14
- return [d >> 16 & 255, d >> 8 & 255, d & 255];
1
+ import { y as T, z as bt, A as Ne, B as it, C as ct, D as ut, E as dt, F as ze, p as wt, G as mt, H as kt, j as at, n as xt, I as Ct, J as nt, K as $t, L as Lt, M as Mt, h as St, N as Nt } from "./user-B0q24FmO.js";
2
+ import { ref as g, computed as w, watch as Se, defineComponent as ie, resolveComponent as pt, openBlock as a, createBlock as D, unref as l, withCtx as S, createElementBlock as c, Fragment as H, renderList as J, createElementVNode as e, toDisplayString as x, createCommentVNode as P, normalizeClass as Z, withDirectives as Be, vShow as Et, createVNode as y, createTextVNode as Ce, onMounted as Ye, onUnmounted as Ge, vModelText as Xe, Transition as Ee, withModifiers as Ve, normalizeStyle as Pe, reactive as Je, createStaticVNode as Ae, withKeys as It, h as Ut } from "vue";
3
+ import { defineStore as Fe } from "pinia";
4
+ import { useRoute as Ue, useRouter as be, createRouter as Ze, createWebHistory as Qe } from "vue-router";
5
+ import { SubMenu as He, MenuItem as Te, Menu as et, Tabs as Tt, TabPane as Pt } from "@xto/navigation";
6
+ import { Icon as I, Button as Ie } from "@xto/base";
7
+ import { Drawer as tt, Message as zt } from "@xto/feedback";
8
+ import { Form as Ft, FormItem as Oe, Input as lt, Checkbox as Dt } from "@xto/form";
9
+ import { createLocaleProvider as At, getSupportedLocales as Bt, useLocale as Vt } from "@xto/core/locale";
10
+ function Ot(t) {
11
+ const n = /^#?([0-9a-f]{6})$/i.exec(t.trim());
12
+ if (!n) return null;
13
+ const m = parseInt(n[1], 16);
14
+ return [m >> 16 & 255, m >> 8 & 255, m & 255];
15
15
  }
16
- const he = ze("app", () => {
17
- const t = y(N.get("appName") || "XTO App"), l = y(N.get("indexPath") || "/dashboard"), d = y(N.get("loginPath") || "/login"), s = y(N.get("isDark") || !1), a = y(N.get("theme") || "light"), h = y(N.get("layout") || "sidebar"), i = y(N.get("isCollapsed") || !1), v = y(N.get("showTabs") ?? !0), m = y(N.get("showFooter") ?? !0), f = y(N.get("showBreadcrumb") ?? !0), _ = y(N.get("primaryColor") || "#4F46E5"), g = y([]), u = y([]), q = k(() => s.value ? "dark" : "light"), A = (E) => {
18
- t.value = E, N.set("appName", E);
19
- }, O = (E) => {
20
- l.value = E, N.set("indexPath", E);
21
- }, B = (E) => {
22
- d.value = E, N.set("loginPath", E);
23
- }, R = () => {
24
- s.value = !s.value, a.value = s.value ? "dark" : "light", H();
25
- }, G = (E) => {
26
- a.value = E, s.value = E === "dark", H();
27
- }, H = () => {
28
- const E = document.documentElement;
29
- s.value ? E.classList.add("dark") : E.classList.remove("dark"), N.set("isDark", s.value), N.set("theme", a.value);
30
- }, te = () => {
31
- i.value = !i.value, N.set("isCollapsed", i.value);
32
- }, ee = (E) => {
33
- h.value = E, N.set("layout", E);
16
+ function Le(t) {
17
+ const n = T.get(t);
18
+ return n === null || n === "" ? void 0 : n;
19
+ }
20
+ const ye = bt(), Me = ye.features || {}, Rt = ["layout", "primaryColor", "theme", "isDark", "showTabs", "showBreadcrumb", "showFooter"], he = Fe("app", () => {
21
+ const t = g(T.get("appName") || "XTO App"), n = g(T.get("indexPath") || "/dashboard"), m = g(T.get("loginPath") || "/login"), o = g(Le("theme") ?? ye.theme ?? "light"), s = g(o.value === "dark"), h = g(Le("layout") ?? ye.layout ?? "sidebar"), i = g(T.get("isCollapsed") || !1), v = g(Le("showTabs") ?? Me.showTabs ?? !0), d = g(Le("showFooter") ?? Me.showFooter ?? !0), f = g(Le("showBreadcrumb") ?? Me.showBreadcrumb ?? !0), _ = g(Le("primaryColor") ?? ye.primaryColor ?? "#4F46E5"), k = g(ye.allowUserOverride !== !1), u = g([]), K = g([]), A = w(() => s.value ? "dark" : "light"), j = (M) => {
22
+ t.value = M, T.set("appName", M);
23
+ }, B = (M) => {
24
+ n.value = M, T.set("indexPath", M);
25
+ }, W = (M) => {
26
+ m.value = M, T.set("loginPath", M);
27
+ }, V = () => {
28
+ const M = document.documentElement;
29
+ s.value ? M.classList.add("dark") : M.classList.remove("dark");
30
+ }, Q = () => {
31
+ s.value = !s.value, o.value = s.value ? "dark" : "light", X();
32
+ }, ee = (M) => {
33
+ o.value = M, s.value = M === "dark", X();
34
34
  }, X = () => {
35
- v.value = !v.value, N.set("showTabs", v.value);
36
- }, se = () => {
37
- m.value = !m.value, N.set("showFooter", m.value);
35
+ V(), T.set("isDark", s.value), T.set("theme", o.value);
36
+ }, G = () => {
37
+ i.value = !i.value, T.set("isCollapsed", i.value);
38
+ }, te = (M) => {
39
+ h.value = M, T.set("layout", M);
38
40
  }, F = () => {
39
- f.value = !f.value, N.set("showBreadcrumb", f.value);
40
- }, S = (E) => {
41
- _.value = E;
42
- const Y = document.documentElement;
43
- Y.style.setProperty("--xto-color-primary", E);
44
- const ae = Tt(E);
45
- if (ae) {
46
- const de = (j, re) => {
47
- const ge = re ? [255, 255, 255] : [0, 0, 0];
48
- return `#${ae.map((me, ye) => Math.round(me + (ge[ye] - me) * j)).map((me) => me.toString(16).padStart(2, "0")).join("")}`;
41
+ v.value = !v.value, T.set("showTabs", v.value);
42
+ }, E = () => {
43
+ d.value = !d.value, T.set("showFooter", d.value);
44
+ }, z = () => {
45
+ f.value = !f.value, T.set("showBreadcrumb", f.value);
46
+ }, Y = (M) => {
47
+ const O = document.documentElement;
48
+ O.style.setProperty("--xto-color-primary", M);
49
+ const me = Ot(M);
50
+ if (me) {
51
+ const pe = (oe, ke) => {
52
+ const xe = ke ? [255, 255, 255] : [0, 0, 0];
53
+ return `#${me.map((re, ge) => Math.round(re + (xe[ge] - re) * oe)).map((re) => re.toString(16).padStart(2, "0")).join("")}`;
49
54
  };
50
- for (let j = 1; j <= 9; j++)
51
- Y.style.setProperty(`--xto-color-primary-light-${j}`, de(j * 0.1, !0));
52
- Y.style.setProperty("--xto-color-primary-dark-1", de(0.12, !1)), Y.style.setProperty("--xto-color-primary-dark-2", de(0.28, !1)), Y.style.setProperty("--xto-color-primary-dark-3", de(0.45, !1)), Y.style.setProperty("--xto-color-ring", E);
55
+ for (let oe = 1; oe <= 9; oe++)
56
+ O.style.setProperty(`--xto-color-primary-light-${oe}`, pe(oe * 0.1, !0));
57
+ O.style.setProperty("--xto-color-primary-dark-1", pe(0.12, !1)), O.style.setProperty("--xto-color-primary-dark-2", pe(0.28, !1)), O.style.setProperty("--xto-color-primary-dark-3", pe(0.45, !1)), O.style.setProperty("--xto-color-ring", M);
53
58
  }
54
- N.set("primaryColor", E);
55
- }, T = (E) => {
56
- g.value.includes(E) || g.value.push(E);
57
- }, J = (E) => {
58
- const Y = g.value.indexOf(E);
59
- Y > -1 && g.value.splice(Y, 1);
60
- }, K = () => {
61
- g.value = [];
62
- }, le = (E) => {
63
- u.value = E;
64
- }, ve = () => {
65
- H(), _.value !== "#4F46E5" && document.documentElement.style.setProperty("--xto-color-primary", _.value);
59
+ }, q = (M) => {
60
+ _.value = M, Y(M), T.set("primaryColor", M);
61
+ }, ne = () => {
62
+ Rt.forEach((M) => T.remove(M)), h.value = ye.layout ?? "sidebar", _.value = ye.primaryColor ?? "#4F46E5", o.value = ye.theme ?? "light", s.value = o.value === "dark", v.value = Me.showTabs ?? !0, d.value = Me.showFooter ?? !0, f.value = Me.showBreadcrumb ?? !0, V(), Y(_.value);
63
+ }, ve = (M) => {
64
+ u.value.includes(M) || u.value.push(M);
65
+ }, we = (M) => {
66
+ const O = u.value.indexOf(M);
67
+ O > -1 && u.value.splice(O, 1);
68
+ }, le = () => {
69
+ u.value = [];
70
+ }, de = (M) => {
71
+ K.value = M;
72
+ }, fe = () => {
73
+ V(), Y(_.value);
66
74
  };
67
- return Ce(s, H), {
75
+ return Se(s, V), {
68
76
  appName: t,
69
- indexPath: l,
70
- loginPath: d,
77
+ indexPath: n,
78
+ loginPath: m,
71
79
  isDark: s,
72
- theme: a,
80
+ theme: o,
73
81
  layout: h,
74
82
  isCollapsed: i,
75
83
  showTabs: v,
76
- showFooter: m,
84
+ showFooter: d,
77
85
  showBreadcrumb: f,
78
86
  primaryColor: _,
79
- cachedViews: g,
80
- mixSubMenus: u,
81
- themeClass: q,
82
- setAppName: A,
83
- setIndexPath: O,
84
- setLoginPath: B,
85
- toggleTheme: R,
86
- toggleCollapse: te,
87
- setTheme: G,
88
- setLayout: ee,
89
- toggleTabs: X,
90
- toggleFooter: se,
91
- toggleBreadcrumb: F,
92
- setPrimaryColor: S,
93
- addCachedView: T,
94
- removeCachedView: J,
95
- clearCachedViews: K,
96
- setMixSubMenus: le,
97
- initTheme: ve
87
+ allowUserOverride: k,
88
+ cachedViews: u,
89
+ mixSubMenus: K,
90
+ themeClass: A,
91
+ setAppName: j,
92
+ setIndexPath: B,
93
+ setLoginPath: W,
94
+ toggleTheme: Q,
95
+ toggleCollapse: G,
96
+ setTheme: ee,
97
+ setLayout: te,
98
+ toggleTabs: F,
99
+ toggleFooter: E,
100
+ toggleBreadcrumb: z,
101
+ setPrimaryColor: q,
102
+ resetToServerDefaults: ne,
103
+ addCachedView: ve,
104
+ removeCachedView: we,
105
+ clearCachedViews: le,
106
+ setMixSubMenus: de,
107
+ initTheme: fe
98
108
  };
99
- }), Ft = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
109
+ }), Kt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
100
110
  __proto__: null,
101
111
  useAppStore: he
102
- }, Symbol.toStringTag, { value: "Module" })), Dt = "menu_list", At = "permission_list", Be = () => `${Dt}_${Ee()}`, Ve = () => `${At}_${Ee()}`, Bt = {
112
+ }, Symbol.toStringTag, { value: "Module" })), jt = "menu_list", Wt = "permission_list", Re = () => `${jt}_${Ne()}`, Ke = () => `${Wt}_${Ne()}`, qt = {
103
113
  menuCode: "home",
104
114
  menuName: "首页",
105
115
  menuUrl: "/dashboard",
@@ -108,125 +118,125 @@ const he = ze("app", () => {
108
118
  isDefault: !1,
109
119
  isOut: !1
110
120
  };
111
- function dt(t) {
112
- return t.filter((l) => l.type !== 1).map((l) => ({
113
- ...l,
114
- children: l.children ? dt(l.children) : void 0
121
+ function vt(t) {
122
+ return t.filter((n) => n.type !== 1).map((n) => ({
123
+ ...n,
124
+ children: n.children ? vt(n.children) : void 0
115
125
  }));
116
126
  }
117
- function Vt(t) {
118
- const l = [];
119
- function d(s) {
120
- s.forEach((a) => {
121
- a.type === 1 && a.menuCode && l.push(a.menuCode), a.children && d(a.children);
127
+ function Ht(t) {
128
+ const n = [];
129
+ function m(o) {
130
+ o.forEach((s) => {
131
+ s.type === 1 && s.menuCode && n.push(s.menuCode), s.children && m(s.children);
122
132
  });
123
133
  }
124
- return d(t), l;
134
+ return m(t), n;
125
135
  }
126
- const _e = ze("menu", () => {
127
- const t = y(N.get(Be()) || []), l = y(N.get(Ve()) || []), d = k(() => t.value.length > 0);
136
+ const _e = Fe("menu", () => {
137
+ const t = g(T.get(Re()) || []), n = g(T.get(Ke()) || []), m = w(() => t.value.length > 0);
128
138
  return {
129
139
  menuList: t,
130
- permissions: l,
131
- hasMenu: d,
140
+ permissions: n,
141
+ hasMenu: m,
132
142
  setMenuList: (i) => {
133
- l.value = Vt(i), N.set(Ve(), l.value);
134
- const v = dt(i);
135
- t.value = [Bt, ...v], N.set(Be(), t.value);
143
+ n.value = Ht(i), T.set(Ke(), n.value);
144
+ const v = vt(i);
145
+ t.value = [qt, ...v], T.set(Re(), t.value);
136
146
  },
137
147
  clearMenu: () => {
138
- t.value = [], l.value = [], N.remove(Be()), N.remove(Ve());
148
+ t.value = [], n.value = [], T.remove(Re()), T.remove(Ke());
139
149
  },
140
- hasPermission: (i) => Array.isArray(i) ? i.some((v) => l.value.includes(v)) : l.value.includes(i)
150
+ hasPermission: (i) => Array.isArray(i) ? i.some((v) => n.value.includes(v)) : n.value.includes(i)
141
151
  };
142
- }), Oe = "user_info", ce = ze("user", () => {
143
- const t = y(N.get(Oe)), l = k(() => !!t.value), d = k(() => {
152
+ }), je = "user_info", ce = Fe("user", () => {
153
+ const t = g(T.get(je)), n = w(() => !!t.value), m = w(() => {
144
154
  var u;
145
155
  return ((u = t.value) == null ? void 0 : u.userId) || "";
146
- }), s = k(() => {
156
+ }), o = w(() => {
147
157
  var u;
148
158
  return ((u = t.value) == null ? void 0 : u.userName) || "";
149
- }), a = k(() => {
159
+ }), s = w(() => {
150
160
  var u;
151
161
  return ((u = t.value) == null ? void 0 : u.departmentName) || "";
152
- }), h = k(() => {
162
+ }), h = w(() => {
153
163
  var u;
154
164
  return ((u = t.value) == null ? void 0 : u.roleName) || "";
155
- }), i = k(() => {
165
+ }), i = w(() => {
156
166
  var u;
157
167
  return ((u = t.value) == null ? void 0 : u.email) || "";
158
- }), v = k(() => {
168
+ }), v = w(() => {
159
169
  var u;
160
170
  return ((u = t.value) == null ? void 0 : u.mobilePhone) || "";
161
- }), m = k(() => {
171
+ }), d = w(() => {
162
172
  var u;
163
173
  return ((u = t.value) == null ? void 0 : u.positionName) || "";
164
- }), f = k(() => {
174
+ }), f = w(() => {
165
175
  var u;
166
176
  return ((u = t.value) == null ? void 0 : u.avatar) || "";
167
177
  });
168
178
  return {
169
179
  userInfo: t,
170
- isLoggedIn: l,
171
- userId: d,
172
- userName: s,
173
- departmentName: a,
180
+ isLoggedIn: n,
181
+ userId: m,
182
+ userName: o,
183
+ departmentName: s,
174
184
  roleName: h,
175
185
  email: i,
176
186
  mobilePhone: v,
177
- positionName: m,
187
+ positionName: d,
178
188
  avatar: f,
179
189
  setUserInfo: (u) => {
180
- t.value = u, N.set(Oe, u);
190
+ t.value = u, T.set(je, u);
181
191
  },
182
192
  clearUserInfo: () => {
183
- t.value = null, N.remove(Oe);
193
+ t.value = null, T.remove(je);
184
194
  }
185
195
  };
186
- }), Pe = ze("auth", () => {
187
- const t = y(nt()), l = k(() => lt()), d = y(""), s = y(""), a = y(""), h = y("/login");
196
+ }), De = Fe("auth", () => {
197
+ const t = g(it()), n = w(() => ct()), m = g(""), o = g(""), s = g(""), h = g("/login");
188
198
  return {
189
199
  token: t,
190
- isLoggedIn: l,
191
- baseUrl: d,
192
- appId: s,
193
- clientId: a,
200
+ isLoggedIn: n,
201
+ baseUrl: m,
202
+ appId: o,
203
+ clientId: s,
194
204
  loginPath: h,
195
205
  login: (u) => {
196
- t.value = u.access_token, it(u);
206
+ t.value = u.access_token, dt(u);
197
207
  },
198
208
  logout: () => {
199
- t.value = null, rt();
209
+ t.value = null, ut();
200
210
  },
201
211
  setBaseUrl: (u) => {
202
- d.value = u;
212
+ m.value = u;
203
213
  },
204
214
  setAppId: (u) => {
205
- s.value = u;
215
+ o.value = u;
206
216
  },
207
217
  setClientId: (u) => {
208
- a.value = u;
218
+ s.value = u;
209
219
  },
210
220
  setLoginPath: (u) => {
211
221
  h.value = u;
212
222
  }
213
223
  };
214
- }), Ot = { class: "menu-item__content" }, Rt = { class: "menu-item__icon" }, Kt = {
224
+ }), Yt = { class: "menu-item__content" }, Gt = { class: "menu-item__icon" }, Xt = {
215
225
  key: 1,
216
226
  class: "menu-item__char"
217
- }, jt = { class: "menu-item__text" }, Wt = { class: "menu-item__content" }, qt = {
227
+ }, Jt = { class: "menu-item__text" }, Zt = { class: "menu-item__content" }, Qt = {
218
228
  key: 0,
219
229
  class: "menu-item__icon"
220
- }, Ht = {
230
+ }, es = {
221
231
  key: 1,
222
232
  class: "menu-item__char"
223
- }, Yt = { class: "menu-item__text" }, Gt = /* @__PURE__ */ ie({
233
+ }, ts = { class: "menu-item__text" }, ss = /* @__PURE__ */ ie({
224
234
  __name: "SidebarMenuItem",
225
235
  props: {
226
236
  menu: {}
227
237
  },
228
238
  setup(t) {
229
- const l = t, d = /* @__PURE__ */ new Set([
239
+ const n = t, m = /* @__PURE__ */ new Set([
230
240
  "arrow-up",
231
241
  "arrow-down",
232
242
  "arrow-left",
@@ -328,10 +338,10 @@ const _e = ze("menu", () => {
328
338
  "sun",
329
339
  "theme",
330
340
  "skin"
331
- ]), s = (m) => {
332
- if (!m || m === "") return "";
333
- if (m.startsWith("tineco-icon-")) {
334
- const _ = m.replace("tineco-icon-", "");
341
+ ]), o = (d) => {
342
+ if (!d || d === "") return "";
343
+ if (d.startsWith("tineco-icon-")) {
344
+ const _ = d.replace("tineco-icon-", "");
335
345
  return {
336
346
  home: "home",
337
347
  dashboard: "dashboard",
@@ -364,65 +374,65 @@ const _e = ze("menu", () => {
364
374
  app: "app",
365
375
  list: "list",
366
376
  grid: "grid"
367
- }[m] || m;
368
- }, a = (m) => m ? m.charAt(0) : "", h = (m) => d.has(m), i = k(() => l.menu.menuId || l.menu.menuCode || l.menu.menuUrl || ""), v = k(() => l.menu.children && l.menu.children.length > 0);
369
- return (m, f) => {
370
- const _ = ut("SidebarMenuItem", !0);
371
- return v.value ? (o(), D(n(je), {
377
+ }[d] || d;
378
+ }, s = (d) => d ? d.charAt(0) : "", h = (d) => m.has(d), i = w(() => n.menu.menuId || n.menu.menuCode || n.menu.menuUrl || ""), v = w(() => n.menu.children && n.menu.children.length > 0);
379
+ return (d, f) => {
380
+ const _ = pt("SidebarMenuItem", !0);
381
+ return v.value ? (a(), D(l(He), {
372
382
  key: 0,
373
383
  index: i.value
374
384
  }, {
375
- title: M(() => [
376
- e("span", Ot, [
377
- e("span", Rt, [
378
- h(s(t.menu.icon)) ? (o(), D(n(I), {
385
+ title: S(() => [
386
+ e("span", Yt, [
387
+ e("span", Gt, [
388
+ h(o(t.menu.icon)) ? (a(), D(l(I), {
379
389
  key: 0,
380
- name: s(t.menu.icon),
390
+ name: o(t.menu.icon),
381
391
  size: 16
382
- }, null, 8, ["name"])) : (o(), c("span", Kt, x(a(t.menu.menuName)), 1))
392
+ }, null, 8, ["name"])) : (a(), c("span", Xt, x(s(t.menu.menuName)), 1))
383
393
  ]),
384
- e("span", jt, x(t.menu.menuName), 1)
394
+ e("span", Jt, x(t.menu.menuName), 1)
385
395
  ])
386
396
  ]),
387
- default: M(() => [
388
- (o(!0), c(W, null, Z(t.menu.children, (g) => (o(), D(_, {
389
- key: g.menuId || g.menuCode || g.menuUrl,
390
- menu: g
397
+ default: S(() => [
398
+ (a(!0), c(H, null, J(t.menu.children, (k) => (a(), D(_, {
399
+ key: k.menuId || k.menuCode || k.menuUrl,
400
+ menu: k
391
401
  }, null, 8, ["menu"]))), 128))
392
402
  ]),
393
403
  _: 1
394
- }, 8, ["index"])) : (o(), D(n(Ne), {
404
+ }, 8, ["index"])) : (a(), D(l(Te), {
395
405
  key: 1,
396
406
  index: t.menu.menuUrl || i.value
397
407
  }, {
398
- default: M(() => [
399
- e("span", Wt, [
400
- t.menu.menuName !== "首页" ? (o(), c("span", qt, [
401
- h(s(t.menu.icon)) ? (o(), D(n(I), {
408
+ default: S(() => [
409
+ e("span", Zt, [
410
+ t.menu.menuName !== "首页" ? (a(), c("span", Qt, [
411
+ h(o(t.menu.icon)) ? (a(), D(l(I), {
402
412
  key: 0,
403
- name: s(t.menu.icon),
413
+ name: o(t.menu.icon),
404
414
  size: 16
405
- }, null, 8, ["name"])) : (o(), c("span", Ht, x(a(t.menu.menuName)), 1))
415
+ }, null, 8, ["name"])) : (a(), c("span", es, x(s(t.menu.menuName)), 1))
406
416
  ])) : P("", !0),
407
- e("span", Yt, x(t.menu.menuName), 1)
417
+ e("span", ts, x(t.menu.menuName), 1)
408
418
  ])
409
419
  ]),
410
420
  _: 1
411
421
  }, 8, ["index"]));
412
422
  };
413
423
  }
414
- }), ue = (t, l) => {
415
- const d = t.__vccOpts || t;
416
- for (const [s, a] of l)
417
- d[s] = a;
418
- return d;
419
- }, Xt = /* @__PURE__ */ ue(Gt, [["__scopeId", "data-v-03a4d35c"]]), Jt = {
424
+ }), ue = (t, n) => {
425
+ const m = t.__vccOpts || t;
426
+ for (const [o, s] of n)
427
+ m[o] = s;
428
+ return m;
429
+ }, os = /* @__PURE__ */ ue(ss, [["__scopeId", "data-v-03a4d35c"]]), as = {
420
430
  key: 0,
421
431
  class: "sidebar__logo"
422
- }, Zt = ["src"], Qt = {
432
+ }, ns = ["src"], ls = {
423
433
  key: 1,
424
434
  class: "sidebar__user"
425
- }, es = { class: "sidebar__user-info" }, ts = { class: "sidebar__user-name" }, ss = { class: "sidebar__user-role" }, Re = "sidebar_opened_menus", Ke = "sidebar_menu_list_key", os = /* @__PURE__ */ ie({
435
+ }, rs = { class: "sidebar__user-info" }, is = { class: "sidebar__user-name" }, cs = { class: "sidebar__user-role" }, We = "sidebar_opened_menus", qe = "sidebar_menu_list_key", us = /* @__PURE__ */ ie({
426
436
  __name: "Sidebar",
427
437
  props: {
428
438
  menuList: { default: () => [] },
@@ -431,131 +441,131 @@ const _e = ze("menu", () => {
431
441
  logoSrc: {}
432
442
  },
433
443
  setup(t) {
434
- const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = Me(), a = fe(), h = _e(), i = ce(), v = Pe(), m = he(), f = k(() => l.menuList.length > 0 ? l.menuList : h.menuList), _ = k(() => m.isCollapsed), g = k(() => s.path), u = (F) => F.menuId || F.menuCode || F.menuUrl || "", q = () => f.value.map(u).join(","), A = N.get(Ke) || "", O = q(), B = A === O ? N.get(Re) || [] : [], R = y(B);
435
- Ce(R, (F) => {
436
- N.set(Re, F), N.set(Ke, q());
444
+ const n = t, m = w(() => n.logoSrc || ze("/vite.svg")), o = Ue(), s = be(), h = _e(), i = ce(), v = De(), d = he(), f = w(() => n.menuList.length > 0 ? n.menuList : h.menuList), _ = w(() => d.isCollapsed), k = w(() => o.path), u = (F) => F.menuId || F.menuCode || F.menuUrl || "", K = () => f.value.map(u).join(","), A = T.get(qe) || "", j = K(), B = A === j ? T.get(We) || [] : [], W = g(B);
445
+ Se(W, (F) => {
446
+ T.set(We, F), T.set(qe, K());
437
447
  }, { deep: !0 });
438
- const G = (F, S, T = []) => {
439
- var J;
440
- for (const K of F) {
441
- if (K.menuUrl && (S === K.menuUrl || S.startsWith(K.menuUrl + "/")))
442
- return [...T, u(K)];
443
- if ((J = K.children) != null && J.length) {
444
- const le = G(K.children, S, [...T, u(K)]);
445
- if (le) return le;
448
+ const V = (F, E, z = []) => {
449
+ var Y;
450
+ for (const q of F) {
451
+ if (q.menuUrl && (E === q.menuUrl || E.startsWith(q.menuUrl + "/")))
452
+ return [...z, u(q)];
453
+ if ((Y = q.children) != null && Y.length) {
454
+ const ne = V(q.children, E, [...z, u(q)]);
455
+ if (ne) return ne;
446
456
  }
447
457
  }
448
458
  return null;
449
459
  };
450
- Ce([() => s.path, f], ([F, S]) => {
451
- if (S.length > 0) {
452
- const T = G(S, F);
453
- if (T) {
454
- const J = T.slice(0, -1), K = /* @__PURE__ */ new Set([...R.value, ...J]);
455
- R.value = Array.from(K);
460
+ Se([() => o.path, f], ([F, E]) => {
461
+ if (E.length > 0) {
462
+ const z = V(E, F);
463
+ if (z) {
464
+ const Y = z.slice(0, -1), q = /* @__PURE__ */ new Set([...W.value, ...Y]);
465
+ W.value = Array.from(q);
456
466
  }
457
467
  }
458
- }, { immediate: !0 }), Ce(f, (F, S) => {
459
- F !== S && (R.value = [], N.set(Re, []), N.set(Ke, q()));
468
+ }, { immediate: !0 }), Se(f, (F, E) => {
469
+ F !== E && (W.value = [], T.set(We, []), T.set(qe, K()));
460
470
  }, { immediate: !1 });
461
- const H = k(() => m.isDark ? "#161B21" : "#fff"), te = k(() => m.isDark ? "#D9DCE1" : "#4E5566"), ee = k(() => m.isDark ? "#818CF8" : "#4F46E5"), X = (F) => {
462
- F && F !== s.path && a.push(F);
463
- }, se = () => {
464
- v.logout(), i.clearUserInfo(), h.clearMenu(), a.push(m.loginPath);
471
+ const Q = w(() => d.isDark ? "#161B21" : "#fff"), ee = w(() => d.isDark ? "#D9DCE1" : "#4E5566"), X = w(() => d.isDark ? "#818CF8" : "#4F46E5"), G = (F) => {
472
+ F && F !== o.path && s.push(F);
473
+ }, te = () => {
474
+ v.logout(), i.clearUserInfo(), h.clearMenu(), s.push(d.loginPath);
465
475
  };
466
- return (F, S) => (o(), c("div", {
467
- class: Q(["sidebar", { "sidebar--collapsed": _.value }])
476
+ return (F, E) => (a(), c("div", {
477
+ class: Z(["sidebar", { "sidebar--collapsed": _.value }])
468
478
  }, [
469
- l.showLogo ? (o(), c("div", Jt, [
479
+ n.showLogo ? (a(), c("div", as, [
470
480
  e("img", {
471
- src: d.value,
481
+ src: m.value,
472
482
  alt: "Logo",
473
483
  class: "sidebar__logo-img"
474
- }, null, 8, Zt),
475
- Fe(e("span", { class: "sidebar__logo-text" }, x(n(m).appName), 513), [
476
- [Ct, !_.value]
484
+ }, null, 8, ns),
485
+ Be(e("span", { class: "sidebar__logo-text" }, x(l(d).appName), 513), [
486
+ [Et, !_.value]
477
487
  ])
478
488
  ])) : P("", !0),
479
- b(n(Je), {
480
- modelValue: g.value,
481
- "onUpdate:modelValue": S[0] || (S[0] = (T) => g.value = T),
482
- openeds: R.value,
483
- "onUpdate:openeds": S[1] || (S[1] = (T) => R.value = T),
489
+ y(l(et), {
490
+ modelValue: k.value,
491
+ "onUpdate:modelValue": E[0] || (E[0] = (z) => k.value = z),
492
+ openeds: W.value,
493
+ "onUpdate:openeds": E[1] || (E[1] = (z) => W.value = z),
484
494
  mode: "vertical",
485
495
  collapse: _.value,
486
496
  "collapse-transition": !1,
487
- "background-color": H.value,
488
- "text-color": te.value,
489
- "active-text-color": ee.value,
497
+ "background-color": Q.value,
498
+ "text-color": ee.value,
499
+ "active-text-color": X.value,
490
500
  class: "sidebar__menu",
491
- onSelect: X
501
+ onSelect: G
492
502
  }, {
493
- default: M(() => [
494
- (o(!0), c(W, null, Z(f.value, (T) => (o(), D(Xt, {
495
- key: u(T),
496
- menu: T
503
+ default: S(() => [
504
+ (a(!0), c(H, null, J(f.value, (z) => (a(), D(os, {
505
+ key: u(z),
506
+ menu: z
497
507
  }, null, 8, ["menu"]))), 128))
498
508
  ]),
499
509
  _: 1
500
510
  }, 8, ["modelValue", "openeds", "collapse", "background-color", "text-color", "active-text-color"]),
501
- l.showUser && !_.value ? (o(), c("div", Qt, [
502
- e("div", es, [
503
- e("span", ts, x(n(i).userName), 1),
504
- e("span", ss, x(n(i).departmentName), 1)
511
+ n.showUser && !_.value ? (a(), c("div", ls, [
512
+ e("div", rs, [
513
+ e("span", is, x(l(i).userName), 1),
514
+ e("span", cs, x(l(i).departmentName), 1)
505
515
  ]),
506
- b(n(Le), {
516
+ y(l(Ie), {
507
517
  type: "text",
508
518
  size: "small",
509
- onClick: se
519
+ onClick: te
510
520
  }, {
511
- default: M(() => [...S[2] || (S[2] = [
512
- be("退出", -1)
521
+ default: S(() => [...E[2] || (E[2] = [
522
+ Ce("退出", -1)
513
523
  ])]),
514
524
  _: 1
515
525
  })
516
526
  ])) : P("", !0)
517
527
  ], 2));
518
528
  }
519
- }), at = /* @__PURE__ */ ue(os, [["__scopeId", "data-v-3145ea3a"]]), as = { class: "header" }, ns = { class: "header__left" }, ls = {
529
+ }), rt = /* @__PURE__ */ ue(us, [["__scopeId", "data-v-3145ea3a"]]), ds = { class: "header" }, ms = { class: "header__left" }, ps = {
520
530
  key: 0,
521
531
  class: "header__breadcrumb"
522
- }, rs = {
532
+ }, vs = {
523
533
  key: 0,
524
534
  class: "breadcrumb-separator"
525
- }, is = { class: "header__right" }, cs = {
535
+ }, hs = { class: "header__right" }, _s = {
526
536
  key: 0,
527
537
  class: "header__search-dropdown"
528
- }, us = {
538
+ }, fs = {
529
539
  key: 0,
530
540
  class: "header__search-results"
531
- }, ds = ["onClick"], ms = {
541
+ }, gs = ["onClick"], ys = {
532
542
  key: 0,
533
543
  class: "header__search-icon"
534
- }, ps = {
544
+ }, bs = {
535
545
  key: 1,
536
546
  class: "header__search-char"
537
- }, vs = { class: "header__search-item-title" }, hs = {
547
+ }, ws = { class: "header__search-item-title" }, ks = {
538
548
  key: 1,
539
549
  class: "header__search-item-parent"
540
- }, _s = {
550
+ }, xs = {
541
551
  key: 1,
542
552
  class: "header__search-empty"
543
- }, fs = ["title"], gs = { class: "header__avatar" }, ys = { class: "header__user-name" }, bs = {
553
+ }, Cs = ["title"], $s = { class: "header__avatar" }, Ls = { class: "header__user-name" }, Ms = {
544
554
  key: 0,
545
555
  class: "header__dropdown"
546
- }, ks = { class: "header__dropdown-header" }, ws = { class: "header__dropdown-avatar" }, xs = { class: "header__dropdown-info" }, Cs = { class: "header__dropdown-name" }, $s = { class: "header__dropdown-role" }, Ls = { class: "header__dropdown-menu" }, Ms = { class: "settings-drawer" }, Ss = { class: "settings-section" }, Ns = { class: "settings-layout-options" }, Is = ["onClick"], Es = { class: "layout-option__preview" }, Us = {
556
+ }, Ss = { class: "header__dropdown-header" }, Ns = { class: "header__dropdown-avatar" }, Es = { class: "header__dropdown-info" }, Is = { class: "header__dropdown-name" }, Us = { class: "header__dropdown-role" }, Ts = { class: "header__dropdown-menu" }, Ps = { class: "settings-drawer" }, zs = { class: "settings-section" }, Fs = { class: "settings-layout-options" }, Ds = ["onClick"], As = { class: "layout-option__preview" }, Bs = {
547
557
  key: 0,
548
558
  class: "layout-preview-sidebar"
549
- }, zs = {
559
+ }, Vs = {
550
560
  key: 1,
551
561
  class: "layout-preview-top"
552
- }, Ps = {
562
+ }, Os = {
553
563
  key: 2,
554
564
  class: "layout-preview-mix"
555
- }, Ts = { class: "layout-option__label" }, Fs = { class: "settings-section" }, Ds = { class: "settings-color-options" }, As = ["title", "onClick"], Bs = { class: "settings-section" }, Vs = { class: "settings-switch-list" }, Os = { class: "settings-switch-item" }, Rs = { class: "settings-switch-item" }, Ks = /* @__PURE__ */ ie({
565
+ }, Rs = { class: "layout-option__label" }, Ks = { class: "settings-section" }, js = { class: "settings-color-options" }, Ws = ["title", "onClick"], qs = { class: "settings-section" }, Hs = { class: "settings-switch-list" }, Ys = { class: "settings-switch-item" }, Gs = { class: "settings-switch-item" }, Xs = { class: "settings-section" }, Js = /* @__PURE__ */ ie({
556
566
  __name: "Header",
557
567
  setup(t) {
558
- const l = Me(), d = fe(), s = he(), a = ce(), h = Pe(), i = _e(), v = y(!1), m = y(!1), f = y(null), _ = y(!1), g = y(!1), u = y(""), q = y(null), A = y(!1), O = [
568
+ const n = Ue(), m = be(), o = he(), s = ce(), h = De(), i = _e(), v = g(!1), d = g(!1), f = g(null), _ = g(!1), k = g(!1), u = g(""), K = g(null), A = g(!1), j = [
559
569
  { value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
560
570
  { value: "top", label: "顶部菜单", icon: "menu" },
561
571
  { value: "mix", label: "混合菜单", icon: "grid" }
@@ -565,15 +575,15 @@ const _e = ze("menu", () => {
565
575
  { value: "#00A870", label: "翡翠绿" },
566
576
  { value: "#D46B08", label: "琥珀橙" },
567
577
  { value: "#1F2329", label: "石墨黑" }
568
- ], R = k(() => l.matched.filter((w) => w.meta && w.meta.title).map((w) => ({
569
- title: w.meta.title,
570
- path: w.path
571
- }))), G = (z, w = "") => {
572
- const oe = [];
573
- return z.forEach(($) => {
574
- $.children && $.children.length > 0 ? oe.push(...G($.children, $.menuName)) : oe.push({ ...$, parentTitle: w, title: $.menuName, path: $.menuUrl });
575
- }), oe;
576
- }, H = /* @__PURE__ */ new Set([
578
+ ], W = w(() => n.matched.filter((b) => b.meta && b.meta.title).map((b) => ({
579
+ title: b.meta.title,
580
+ path: b.path
581
+ }))), V = (U, b = "") => {
582
+ const se = [];
583
+ return U.forEach(($) => {
584
+ $.children && $.children.length > 0 ? se.push(...V($.children, $.menuName)) : se.push({ ...$, parentTitle: b, title: $.menuName, path: $.menuUrl });
585
+ }), se;
586
+ }, Q = /* @__PURE__ */ new Set([
577
587
  "arrow-up",
578
588
  "arrow-down",
579
589
  "arrow-left",
@@ -675,10 +685,10 @@ const _e = ze("menu", () => {
675
685
  "sun",
676
686
  "theme",
677
687
  "skin"
678
- ]), te = (z) => {
679
- if (!z || z === "") return "";
680
- if (z.startsWith("tineco-icon-")) {
681
- const oe = z.replace("tineco-icon-", "");
688
+ ]), ee = (U) => {
689
+ if (!U || U === "") return "";
690
+ if (U.startsWith("tineco-icon-")) {
691
+ const se = U.replace("tineco-icon-", "");
682
692
  return {
683
693
  home: "home",
684
694
  dashboard: "dashboard",
@@ -692,7 +702,7 @@ const _e = ze("menu", () => {
692
702
  chart: "chart",
693
703
  report: "report",
694
704
  analytics: "analytics"
695
- }[oe] || oe;
705
+ }[se] || se;
696
706
  }
697
707
  return {
698
708
  dashboard: "dashboard",
@@ -711,118 +721,120 @@ const _e = ze("menu", () => {
711
721
  app: "app",
712
722
  list: "list",
713
723
  grid: "grid"
714
- }[z] || z;
715
- }, ee = (z) => z ? z.charAt(0) : "", X = (z) => H.has(z), se = k(() => u.value.trim() ? G(i.menuList).filter(
716
- (w) => w.title.toLowerCase().includes(u.value.toLowerCase())
717
- ) : []), F = k(() => s.layout), S = () => {
718
- s.toggleCollapse();
719
- }, T = () => {
720
- s.toggleTheme();
721
- }, J = () => {
722
- m.value = !0;
723
- }, K = (z) => {
724
- s.setLayout(z), m.value = !1;
725
- }, le = (z) => {
726
- A.value = z;
727
- const w = document.documentElement;
728
- z ? w.classList.add("grey-mode") : w.classList.remove("grey-mode");
729
- }, ve = () => {
730
- le(!A.value), m.value = !1;
731
- }, E = () => {
732
- s.toggleTheme(), m.value = !1;
724
+ }[U] || U;
725
+ }, X = (U) => U ? U.charAt(0) : "", G = (U) => Q.has(U), te = w(() => u.value.trim() ? V(i.menuList).filter(
726
+ (b) => b.title.toLowerCase().includes(u.value.toLowerCase())
727
+ ) : []), F = w(() => o.layout), E = () => {
728
+ o.toggleCollapse();
729
+ }, z = () => {
730
+ o.toggleTheme();
733
731
  }, Y = () => {
732
+ d.value = !0;
733
+ }, q = (U) => {
734
+ o.setLayout(U), d.value = !1;
735
+ }, ne = (U) => {
736
+ A.value = U;
737
+ const b = document.documentElement;
738
+ U ? b.classList.add("grey-mode") : b.classList.remove("grey-mode");
739
+ }, ve = () => {
740
+ ne(!A.value), d.value = !1;
741
+ }, we = () => {
742
+ o.toggleTheme(), d.value = !1;
743
+ }, le = () => {
744
+ o.resetToServerDefaults(), d.value = !1;
745
+ }, de = () => {
734
746
  document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
735
- }, ae = () => {
747
+ }, fe = () => {
736
748
  _.value = !!document.fullscreenElement;
737
- }, de = () => {
749
+ }, M = () => {
738
750
  v.value = !v.value;
739
- }, j = () => {
751
+ }, O = () => {
740
752
  v.value = !1;
741
- }, re = () => {
742
- g.value = !1, u.value = "";
743
- }, ge = (z) => {
744
- d.push(z), re();
745
- }, ke = (z) => {
746
- s.setPrimaryColor(z), m.value = !1;
747
753
  }, me = () => {
748
- j(), d.push("/profile");
749
- }, ye = () => {
750
- j(), d.push("/change-password");
751
- }, Se = () => {
752
- j(), h.logout(), a.clearUserInfo(), i.clearMenu(), d.push(s.loginPath);
753
- }, we = (z) => {
754
- f.value && !f.value.contains(z.target) && j(), q.value && !q.value.contains(z.target) && re();
755
- }, xe = (z) => {
756
- z.key === "Escape" && (re(), j());
754
+ k.value = !1, u.value = "";
755
+ }, pe = (U) => {
756
+ m.push(U), me();
757
+ }, oe = (U) => {
758
+ o.setPrimaryColor(U), d.value = !1;
759
+ }, ke = () => {
760
+ O(), m.push("/profile");
761
+ }, xe = () => {
762
+ O(), m.push("/change-password");
763
+ }, $e = () => {
764
+ O(), h.logout(), s.clearUserInfo(), i.clearMenu(), m.push(o.loginPath);
765
+ }, re = (U) => {
766
+ f.value && !f.value.contains(U.target) && O(), K.value && !K.value.contains(U.target) && me();
767
+ }, ge = (U) => {
768
+ U.key === "Escape" && (me(), O());
757
769
  };
758
- return We(() => {
759
- document.addEventListener("click", we), document.addEventListener("fullscreenchange", ae), document.addEventListener("keydown", xe), s.initTheme(), A.value = document.documentElement.classList.contains("grey-mode");
760
- }), qe(() => {
761
- document.removeEventListener("click", we), document.removeEventListener("fullscreenchange", ae), document.removeEventListener("keydown", xe);
762
- }), (z, w) => {
763
- var oe;
764
- return o(), c("div", as, [
765
- e("div", ns, [
770
+ return Ye(() => {
771
+ document.addEventListener("click", re), document.addEventListener("fullscreenchange", fe), document.addEventListener("keydown", ge), o.initTheme(), A.value = document.documentElement.classList.contains("grey-mode");
772
+ }), Ge(() => {
773
+ document.removeEventListener("click", re), document.removeEventListener("fullscreenchange", fe), document.removeEventListener("keydown", ge);
774
+ }), (U, b) => {
775
+ var se;
776
+ return a(), c("div", ds, [
777
+ e("div", ms, [
766
778
  e("div", {
767
779
  class: "header__collapse",
768
- onClick: S
780
+ onClick: E
769
781
  }, [
770
- b(n(I), {
771
- name: n(s).isCollapsed ? "menu-unfold" : "menu-fold",
782
+ y(l(I), {
783
+ name: l(o).isCollapsed ? "menu-unfold" : "menu-fold",
772
784
  size: 18
773
785
  }, null, 8, ["name"])
774
786
  ]),
775
- n(s).showBreadcrumb ? (o(), c("div", ls, [
776
- (o(!0), c(W, null, Z(R.value, ($, pe) => (o(), c("span", {
787
+ l(o).showBreadcrumb ? (a(), c("div", ps, [
788
+ (a(!0), c(H, null, J(W.value, ($, N) => (a(), c("span", {
777
789
  key: $.path
778
790
  }, [
779
- pe > 0 ? (o(), c("span", rs, "/")) : P("", !0),
791
+ N > 0 ? (a(), c("span", vs, "/")) : P("", !0),
780
792
  e("span", {
781
- class: Q({ "is-current": pe === R.value.length - 1 })
793
+ class: Z({ "is-current": N === W.value.length - 1 })
782
794
  }, x($.title), 3)
783
795
  ]))), 128))
784
796
  ])) : P("", !0)
785
797
  ]),
786
- e("div", is, [
798
+ e("div", hs, [
787
799
  e("div", {
788
800
  class: "header__search",
789
801
  ref_key: "searchRef",
790
- ref: q
802
+ ref: K
791
803
  }, [
792
- b(n(I), {
804
+ y(l(I), {
793
805
  name: "search",
794
806
  size: 14,
795
807
  class: "header__search-icon"
796
808
  }),
797
- Fe(e("input", {
798
- "onUpdate:modelValue": w[0] || (w[0] = ($) => u.value = $),
809
+ Be(e("input", {
810
+ "onUpdate:modelValue": b[0] || (b[0] = ($) => u.value = $),
799
811
  type: "text",
800
812
  class: "header__search-input",
801
813
  placeholder: "搜索菜单...",
802
- onFocus: w[1] || (w[1] = ($) => g.value = !0)
814
+ onFocus: b[1] || (b[1] = ($) => k.value = !0)
803
815
  }, null, 544), [
804
- [He, u.value]
816
+ [Xe, u.value]
805
817
  ]),
806
- b($e, { name: "search-dropdown" }, {
807
- default: M(() => [
808
- g.value && (se.value.length > 0 || u.value) ? (o(), c("div", cs, [
809
- se.value.length > 0 ? (o(), c("div", us, [
810
- (o(!0), c(W, null, Z(se.value, ($) => (o(), c("div", {
818
+ y(Ee, { name: "search-dropdown" }, {
819
+ default: S(() => [
820
+ k.value && (te.value.length > 0 || u.value) ? (a(), c("div", _s, [
821
+ te.value.length > 0 ? (a(), c("div", fs, [
822
+ (a(!0), c(H, null, J(te.value, ($) => (a(), c("div", {
811
823
  key: $.path,
812
824
  class: "header__search-item",
813
- onClick: (pe) => ge($.path)
825
+ onClick: (N) => pe($.path)
814
826
  }, [
815
- $.title !== "首页" ? (o(), c("span", ms, [
816
- X(te($.icon)) ? (o(), D(n(I), {
827
+ $.title !== "首页" ? (a(), c("span", ys, [
828
+ G(ee($.icon)) ? (a(), D(l(I), {
817
829
  key: 0,
818
- name: te($.icon),
830
+ name: ee($.icon),
819
831
  size: 16
820
- }, null, 8, ["name"])) : (o(), c("span", ps, x(ee($.title)), 1))
832
+ }, null, 8, ["name"])) : (a(), c("span", bs, x(X($.title)), 1))
821
833
  ])) : P("", !0),
822
- e("span", vs, x($.title), 1),
823
- $.parentTitle ? (o(), c("span", hs, x($.parentTitle), 1)) : P("", !0)
824
- ], 8, ds))), 128))
825
- ])) : (o(), c("div", _s, " 未找到匹配的菜单 "))
834
+ e("span", ws, x($.title), 1),
835
+ $.parentTitle ? (a(), c("span", ks, x($.parentTitle), 1)) : P("", !0)
836
+ ], 8, gs))), 128))
837
+ ])) : (a(), c("div", xs, " 未找到匹配的菜单 "))
826
838
  ])) : P("", !0)
827
839
  ]),
828
840
  _: 1
@@ -830,31 +842,32 @@ const _e = ze("menu", () => {
830
842
  ], 512),
831
843
  e("div", {
832
844
  class: "header__action",
833
- onClick: Y,
845
+ onClick: de,
834
846
  title: _.value ? "退出全屏" : "全屏"
835
847
  }, [
836
- b(n(I), {
848
+ y(l(I), {
837
849
  name: _.value ? "fullscreen-exit" : "fullscreen",
838
850
  size: 16
839
851
  }, null, 8, ["name"])
840
- ], 8, fs),
841
- e("div", {
852
+ ], 8, Cs),
853
+ l(o).allowUserOverride ? (a(), c("div", {
854
+ key: 0,
842
855
  class: "header__action",
843
- onClick: J,
856
+ onClick: Y,
844
857
  title: "换肤设置"
845
858
  }, [
846
- b(n(I), {
859
+ y(l(I), {
847
860
  name: "skin",
848
861
  size: 16
849
862
  })
850
- ]),
863
+ ])) : P("", !0),
851
864
  e("div", {
852
865
  class: "header__action",
853
- onClick: T,
866
+ onClick: z,
854
867
  title: "切换主题"
855
868
  }, [
856
- b(n(I), {
857
- name: n(s).isDark ? "sun" : "moon",
869
+ y(l(I), {
870
+ name: l(o).isDark ? "sun" : "moon",
858
871
  size: 16
859
872
  }, null, 8, ["name"])
860
873
  ]),
@@ -865,15 +878,15 @@ const _e = ze("menu", () => {
865
878
  }, [
866
879
  e("div", {
867
880
  class: "header__user-trigger",
868
- onClick: De(de, ["stop"])
881
+ onClick: Ve(M, ["stop"])
869
882
  }, [
870
- e("div", gs, [
871
- e("span", null, x(((oe = n(a).userName) == null ? void 0 : oe.charAt(0)) || "U"), 1)
883
+ e("div", $s, [
884
+ e("span", null, x(((se = l(s).userName) == null ? void 0 : se.charAt(0)) || "U"), 1)
872
885
  ]),
873
- e("span", ys, x(n(a).userName), 1),
886
+ e("span", Ls, x(l(s).userName), 1),
874
887
  e("span", {
875
- class: Q(["header__user-arrow", { "is-active": v.value }])
876
- }, [...w[3] || (w[3] = [
888
+ class: Z(["header__user-arrow", { "is-active": v.value }])
889
+ }, [...b[3] || (b[3] = [
877
890
  e("svg", {
878
891
  viewBox: "0 0 12 12",
879
892
  width: "10",
@@ -888,52 +901,52 @@ const _e = ze("menu", () => {
888
901
  ], -1)
889
902
  ])], 2)
890
903
  ]),
891
- b($e, { name: "dropdown" }, {
892
- default: M(() => {
904
+ y(Ee, { name: "dropdown" }, {
905
+ default: S(() => {
893
906
  var $;
894
907
  return [
895
- v.value ? (o(), c("div", bs, [
896
- e("div", ks, [
897
- e("div", ws, [
898
- e("span", null, x((($ = n(a).userName) == null ? void 0 : $.charAt(0)) || "U"), 1)
908
+ v.value ? (a(), c("div", Ms, [
909
+ e("div", Ss, [
910
+ e("div", Ns, [
911
+ e("span", null, x((($ = l(s).userName) == null ? void 0 : $.charAt(0)) || "U"), 1)
899
912
  ]),
900
- e("div", xs, [
901
- e("div", Cs, x(n(a).userName), 1),
902
- e("div", $s, x(n(a).roleName || n(a).departmentName), 1)
913
+ e("div", Es, [
914
+ e("div", Is, x(l(s).userName), 1),
915
+ e("div", Us, x(l(s).roleName || l(s).departmentName), 1)
903
916
  ])
904
917
  ]),
905
- w[8] || (w[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
906
- e("div", Ls, [
918
+ b[8] || (b[8] = e("div", { class: "header__dropdown-divider" }, null, -1)),
919
+ e("div", Ts, [
907
920
  e("div", {
908
921
  class: "header__dropdown-item",
909
- onClick: me
922
+ onClick: ke
910
923
  }, [
911
- b(n(I), {
924
+ y(l(I), {
912
925
  name: "user",
913
926
  size: 16
914
927
  }),
915
- w[4] || (w[4] = e("span", null, "个人信息", -1))
928
+ b[4] || (b[4] = e("span", null, "个人信息", -1))
916
929
  ]),
917
930
  e("div", {
918
931
  class: "header__dropdown-item",
919
- onClick: ye
932
+ onClick: xe
920
933
  }, [
921
- b(n(I), {
934
+ y(l(I), {
922
935
  name: "lock",
923
936
  size: 16
924
937
  }),
925
- w[5] || (w[5] = e("span", null, "修改密码", -1))
938
+ b[5] || (b[5] = e("span", null, "修改密码", -1))
926
939
  ]),
927
- w[7] || (w[7] = e("div", { class: "header__dropdown-divider" }, null, -1)),
940
+ b[7] || (b[7] = e("div", { class: "header__dropdown-divider" }, null, -1)),
928
941
  e("div", {
929
942
  class: "header__dropdown-item header__dropdown-item--danger",
930
- onClick: Se
943
+ onClick: $e
931
944
  }, [
932
- b(n(I), {
945
+ y(l(I), {
933
946
  name: "logout",
934
947
  size: 16
935
948
  }),
936
- w[6] || (w[6] = e("span", null, "退出登录", -1))
949
+ b[6] || (b[6] = e("span", null, "退出登录", -1))
937
950
  ])
938
951
  ])
939
952
  ])) : P("", !0)
@@ -943,34 +956,34 @@ const _e = ze("menu", () => {
943
956
  })
944
957
  ], 512)
945
958
  ]),
946
- b(n(Ze), {
947
- modelValue: m.value,
948
- "onUpdate:modelValue": w[2] || (w[2] = ($) => m.value = $),
959
+ y(l(tt), {
960
+ modelValue: d.value,
961
+ "onUpdate:modelValue": b[2] || (b[2] = ($) => d.value = $),
949
962
  title: "换肤设置",
950
963
  direction: "rtl",
951
964
  size: "320px"
952
965
  }, {
953
- default: M(() => [
954
- e("div", Ms, [
955
- e("div", Ss, [
956
- w[12] || (w[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
957
- e("div", Ns, [
958
- (o(), c(W, null, Z(O, ($) => e("div", {
966
+ default: S(() => [
967
+ e("div", Ps, [
968
+ e("div", zs, [
969
+ b[12] || (b[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
970
+ e("div", Fs, [
971
+ (a(), c(H, null, J(j, ($) => e("div", {
959
972
  key: $.value,
960
- class: Q(["layout-option", { "is-active": F.value === $.value }]),
961
- onClick: (pe) => K($.value)
973
+ class: Z(["layout-option", { "is-active": F.value === $.value }]),
974
+ onClick: (N) => q($.value)
962
975
  }, [
963
- e("div", Es, [
964
- $.value === "sidebar" ? (o(), c("div", Us, [...w[9] || (w[9] = [
976
+ e("div", As, [
977
+ $.value === "sidebar" ? (a(), c("div", Bs, [...b[9] || (b[9] = [
965
978
  e("div", { class: "preview-aside" }, null, -1),
966
979
  e("div", { class: "preview-main" }, [
967
980
  e("div", { class: "preview-header" }),
968
981
  e("div", { class: "preview-content" })
969
982
  ], -1)
970
- ])])) : $.value === "top" ? (o(), c("div", zs, [...w[10] || (w[10] = [
983
+ ])])) : $.value === "top" ? (a(), c("div", Vs, [...b[10] || (b[10] = [
971
984
  e("div", { class: "preview-header-full" }, null, -1),
972
985
  e("div", { class: "preview-content-full" }, null, -1)
973
- ])])) : (o(), c("div", Ps, [...w[11] || (w[11] = [
986
+ ])])) : (a(), c("div", Os, [...b[11] || (b[11] = [
974
987
  e("div", { class: "preview-header-mix" }, [
975
988
  e("div", { class: "preview-mix-left" })
976
989
  ], -1),
@@ -980,51 +993,63 @@ const _e = ze("menu", () => {
980
993
  ], -1)
981
994
  ])]))
982
995
  ]),
983
- e("span", Ts, x($.label), 1)
984
- ], 10, Is)), 64))
996
+ e("span", Rs, x($.label), 1)
997
+ ], 10, Ds)), 64))
985
998
  ])
986
999
  ]),
987
- e("div", Fs, [
988
- w[13] || (w[13] = e("div", { class: "settings-title" }, "主题色", -1)),
989
- e("div", Ds, [
990
- (o(), c(W, null, Z(B, ($) => e("div", {
1000
+ e("div", Ks, [
1001
+ b[13] || (b[13] = e("div", { class: "settings-title" }, "主题色", -1)),
1002
+ e("div", js, [
1003
+ (a(), c(H, null, J(B, ($) => e("div", {
991
1004
  key: $.value,
992
- class: Q(["color-option", { "is-active": n(s).primaryColor === $.value }]),
993
- style: Ie({ backgroundColor: $.value }),
1005
+ class: Z(["color-option", { "is-active": l(o).primaryColor === $.value }]),
1006
+ style: Pe({ backgroundColor: $.value }),
994
1007
  title: $.label,
995
- onClick: (pe) => ke($.value)
1008
+ onClick: (N) => oe($.value)
996
1009
  }, [
997
- n(s).primaryColor === $.value ? (o(), D(n(I), {
1010
+ l(o).primaryColor === $.value ? (a(), D(l(I), {
998
1011
  key: 0,
999
1012
  name: "check",
1000
1013
  size: 12,
1001
1014
  color: "#fff"
1002
1015
  })) : P("", !0)
1003
- ], 14, As)), 64))
1016
+ ], 14, Ws)), 64))
1004
1017
  ])
1005
1018
  ]),
1006
- e("div", Bs, [
1007
- w[18] || (w[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
1008
- e("div", Vs, [
1009
- e("div", Os, [
1010
- w[15] || (w[15] = e("span", null, "灰色模式", -1)),
1019
+ e("div", qs, [
1020
+ b[18] || (b[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
1021
+ e("div", Hs, [
1022
+ e("div", Ys, [
1023
+ b[15] || (b[15] = e("span", null, "灰色模式", -1)),
1011
1024
  e("div", {
1012
- class: Q(["switch-wrapper", { "is-checked": A.value }]),
1025
+ class: Z(["switch-wrapper", { "is-checked": A.value }]),
1013
1026
  onClick: ve
1014
- }, [...w[14] || (w[14] = [
1027
+ }, [...b[14] || (b[14] = [
1015
1028
  e("span", { class: "switch-core" }, null, -1)
1016
1029
  ])], 2)
1017
1030
  ]),
1018
- e("div", Rs, [
1019
- w[17] || (w[17] = e("span", null, "暗黑模式", -1)),
1031
+ e("div", Gs, [
1032
+ b[17] || (b[17] = e("span", null, "暗黑模式", -1)),
1020
1033
  e("div", {
1021
- class: Q(["switch-wrapper", { "is-checked": n(s).isDark }]),
1022
- onClick: E
1023
- }, [...w[16] || (w[16] = [
1034
+ class: Z(["switch-wrapper", { "is-checked": l(o).isDark }]),
1035
+ onClick: we
1036
+ }, [...b[16] || (b[16] = [
1024
1037
  e("span", { class: "switch-core" }, null, -1)
1025
1038
  ])], 2)
1026
1039
  ])
1027
1040
  ])
1041
+ ]),
1042
+ e("div", Xs, [
1043
+ e("div", {
1044
+ class: "settings-reset",
1045
+ onClick: le
1046
+ }, [
1047
+ y(l(I), {
1048
+ name: "refresh",
1049
+ size: 14
1050
+ }),
1051
+ b[19] || (b[19] = e("span", null, "恢复默认", -1))
1052
+ ])
1028
1053
  ])
1029
1054
  ])
1030
1055
  ]),
@@ -1033,72 +1058,72 @@ const _e = ze("menu", () => {
1033
1058
  ]);
1034
1059
  };
1035
1060
  }
1036
- }), js = /* @__PURE__ */ ue(Ks, [["__scopeId", "data-v-11f8bfa7"]]), Ws = { class: "top-menu" }, qs = { class: "top-menu__logo" }, Hs = ["src"], Ys = { class: "top-menu__logo-text" }, Gs = { class: "top-menu__menu-content" }, Xs = {
1061
+ }), Zs = /* @__PURE__ */ ue(Js, [["__scopeId", "data-v-21769fe5"]]), Qs = { class: "top-menu" }, eo = { class: "top-menu__logo" }, to = ["src"], so = { class: "top-menu__logo-text" }, oo = { class: "top-menu__menu-content" }, ao = {
1037
1062
  key: 0,
1038
1063
  class: "top-menu__menu-icon"
1039
- }, Js = {
1064
+ }, no = {
1040
1065
  key: 1,
1041
1066
  class: "top-menu__menu-char"
1042
- }, Zs = { class: "top-menu__menu-text" }, Qs = { class: "top-menu__menu-content" }, eo = { class: "top-menu__menu-icon" }, to = {
1067
+ }, lo = { class: "top-menu__menu-text" }, ro = { class: "top-menu__menu-content" }, io = { class: "top-menu__menu-icon" }, co = {
1043
1068
  key: 1,
1044
1069
  class: "top-menu__menu-char"
1045
- }, so = { class: "top-menu__menu-text" }, oo = { class: "top-menu__menu-content" }, ao = { class: "top-menu__menu-icon" }, no = {
1070
+ }, uo = { class: "top-menu__menu-text" }, mo = { class: "top-menu__menu-content" }, po = { class: "top-menu__menu-icon" }, vo = {
1046
1071
  key: 1,
1047
1072
  class: "top-menu__menu-char"
1048
- }, lo = { class: "top-menu__menu-text" }, ro = { class: "top-menu__menu-content" }, io = { class: "top-menu__menu-icon" }, co = {
1073
+ }, ho = { class: "top-menu__menu-text" }, _o = { class: "top-menu__menu-content" }, fo = { class: "top-menu__menu-icon" }, go = {
1049
1074
  key: 1,
1050
1075
  class: "top-menu__menu-char"
1051
- }, uo = { class: "top-menu__menu-text" }, mo = { class: "top-menu__menu-content" }, po = {
1076
+ }, yo = { class: "top-menu__menu-text" }, bo = { class: "top-menu__menu-content" }, wo = {
1052
1077
  key: 0,
1053
1078
  class: "top-menu__menu-icon"
1054
- }, vo = {
1079
+ }, ko = {
1055
1080
  key: 1,
1056
1081
  class: "top-menu__menu-char"
1057
- }, ho = { class: "top-menu__menu-text" }, _o = { class: "top-menu__actions" }, fo = {
1082
+ }, xo = { class: "top-menu__menu-text" }, Co = { class: "top-menu__actions" }, $o = {
1058
1083
  key: 0,
1059
1084
  class: "top-menu__search-dropdown"
1060
- }, go = {
1085
+ }, Lo = {
1061
1086
  key: 0,
1062
1087
  class: "top-menu__search-results"
1063
- }, yo = ["onClick"], bo = {
1088
+ }, Mo = ["onClick"], So = {
1064
1089
  key: 0,
1065
1090
  class: "top-menu__search-icon-item"
1066
- }, ko = {
1091
+ }, No = {
1067
1092
  key: 1,
1068
1093
  class: "top-menu__search-char"
1069
- }, wo = { class: "top-menu__search-item-title" }, xo = {
1094
+ }, Eo = { class: "top-menu__search-item-title" }, Io = {
1070
1095
  key: 1,
1071
1096
  class: "top-menu__search-item-parent"
1072
- }, Co = {
1097
+ }, Uo = {
1073
1098
  key: 1,
1074
1099
  class: "top-menu__search-empty"
1075
- }, $o = ["title"], Lo = { class: "top-menu__avatar" }, Mo = { class: "top-menu__user-name" }, So = {
1100
+ }, To = ["title"], Po = { class: "top-menu__avatar" }, zo = { class: "top-menu__user-name" }, Fo = {
1076
1101
  key: 0,
1077
1102
  class: "top-menu__dropdown"
1078
- }, No = { class: "top-menu__dropdown-header" }, Io = { class: "top-menu__dropdown-avatar" }, Eo = { class: "top-menu__dropdown-info" }, Uo = { class: "top-menu__dropdown-name" }, zo = { class: "top-menu__dropdown-role" }, Po = { class: "top-menu__dropdown-menu" }, To = { class: "settings-drawer" }, Fo = { class: "settings-section" }, Do = { class: "settings-layout-options" }, Ao = ["onClick"], Bo = { class: "layout-option__preview" }, Vo = {
1103
+ }, Do = { class: "top-menu__dropdown-header" }, Ao = { class: "top-menu__dropdown-avatar" }, Bo = { class: "top-menu__dropdown-info" }, Vo = { class: "top-menu__dropdown-name" }, Oo = { class: "top-menu__dropdown-role" }, Ro = { class: "top-menu__dropdown-menu" }, Ko = { class: "settings-drawer" }, jo = { class: "settings-section" }, Wo = { class: "settings-layout-options" }, qo = ["onClick"], Ho = { class: "layout-option__preview" }, Yo = {
1079
1104
  key: 0,
1080
1105
  class: "layout-preview-sidebar"
1081
- }, Oo = {
1106
+ }, Go = {
1082
1107
  key: 1,
1083
1108
  class: "layout-preview-top"
1084
- }, Ro = {
1109
+ }, Xo = {
1085
1110
  key: 2,
1086
1111
  class: "layout-preview-mix"
1087
- }, Ko = { class: "layout-option__label" }, jo = { class: "settings-section" }, Wo = { class: "settings-color-options" }, qo = ["title", "onClick"], Ho = { class: "settings-section" }, Yo = { class: "settings-switch-list" }, Go = { class: "settings-switch-item" }, Xo = { class: "settings-switch-item" }, Jo = /* @__PURE__ */ ie({
1112
+ }, Jo = { class: "layout-option__label" }, Zo = { class: "settings-section" }, Qo = { class: "settings-color-options" }, ea = ["title", "onClick"], ta = { class: "settings-section" }, sa = { class: "settings-switch-list" }, oa = { class: "settings-switch-item" }, aa = { class: "settings-switch-item" }, na = /* @__PURE__ */ ie({
1088
1113
  __name: "TopMenu",
1089
1114
  props: {
1090
1115
  logoSrc: {}
1091
1116
  },
1092
1117
  setup(t) {
1093
- const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = Me(), a = fe(), h = _e(), i = he(), v = ce(), m = Pe(), f = k(() => s.path), _ = (U, C = "") => {
1094
- const ne = [];
1095
- return U.forEach((r) => {
1096
- r.children && r.children.length > 0 ? ne.push(..._(r.children, r.menuName)) : ne.push({ ...r, parentTitle: C, title: r.menuName, path: r.menuUrl });
1097
- }), ne;
1098
- }, g = k(() => ee.value.trim() ? _(h.menuList).filter(
1099
- (C) => C.title.toLowerCase().includes(ee.value.toLowerCase())
1100
- ) : []), u = k(() => i.isDark ? "#1d1e1f" : "#fff"), q = k(() => i.isDark ? "#cfd3dc" : "#303133"), A = k(() => "#409eff"), O = y(!1), B = y(null), R = y(!1), G = y(!1), H = y(!1), te = y(!1), ee = y(""), X = y(null), se = (U) => {
1101
- U && U !== s.path && a.push(U);
1118
+ const n = t, m = w(() => n.logoSrc || ze("/vite.svg")), o = Ue(), s = be(), h = _e(), i = he(), v = ce(), d = De(), f = w(() => o.path), _ = (N, C = "") => {
1119
+ const ae = [];
1120
+ return N.forEach((r) => {
1121
+ r.children && r.children.length > 0 ? ae.push(..._(r.children, r.menuName)) : ae.push({ ...r, parentTitle: C, title: r.menuName, path: r.menuUrl });
1122
+ }), ae;
1123
+ }, k = w(() => X.value.trim() ? _(h.menuList).filter(
1124
+ (C) => C.title.toLowerCase().includes(X.value.toLowerCase())
1125
+ ) : []), u = w(() => i.isDark ? "#1d1e1f" : "#fff"), K = w(() => i.isDark ? "#cfd3dc" : "#303133"), A = w(() => "#409eff"), j = g(!1), B = g(null), W = g(!1), V = g(!1), Q = g(!1), ee = g(!1), X = g(""), G = g(null), te = (N) => {
1126
+ N && N !== o.path && s.push(N);
1102
1127
  }, F = /* @__PURE__ */ new Set([
1103
1128
  "arrow-up",
1104
1129
  "arrow-down",
@@ -1201,10 +1226,10 @@ const _e = ze("menu", () => {
1201
1226
  "sun",
1202
1227
  "theme",
1203
1228
  "skin"
1204
- ]), S = (U) => {
1205
- if (!U || U === "") return "";
1206
- if (U.startsWith("tineco-icon-")) {
1207
- const ne = U.replace("tineco-icon-", "");
1229
+ ]), E = (N) => {
1230
+ if (!N || N === "") return "";
1231
+ if (N.startsWith("tineco-icon-")) {
1232
+ const ae = N.replace("tineco-icon-", "");
1208
1233
  return {
1209
1234
  home: "home",
1210
1235
  dashboard: "dashboard",
@@ -1218,7 +1243,7 @@ const _e = ze("menu", () => {
1218
1243
  chart: "chart",
1219
1244
  report: "report",
1220
1245
  analytics: "analytics"
1221
- }[ne] || ne;
1246
+ }[ae] || ae;
1222
1247
  }
1223
1248
  return {
1224
1249
  dashboard: "dashboard",
@@ -1237,155 +1262,155 @@ const _e = ze("menu", () => {
1237
1262
  app: "app",
1238
1263
  list: "list",
1239
1264
  grid: "grid"
1240
- }[U] || U;
1241
- }, T = (U) => U ? U.charAt(0) : "", J = (U) => F.has(U), K = () => {
1242
- i.toggleTheme(), G.value = !1;
1243
- }, le = () => {
1265
+ }[N] || N;
1266
+ }, z = (N) => N ? N.charAt(0) : "", Y = (N) => F.has(N), q = () => {
1267
+ i.toggleTheme(), V.value = !1;
1268
+ }, ne = () => {
1244
1269
  document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
1245
1270
  }, ve = () => {
1246
- R.value = !!document.fullscreenElement;
1247
- }, E = () => {
1248
- O.value = !O.value;
1249
- }, Y = () => {
1250
- O.value = !1;
1251
- }, ae = () => {
1252
- te.value = !1, ee.value = "";
1253
- }, de = (U) => {
1254
- a.push(U), ae();
1255
- }, j = () => {
1256
- G.value = !0;
1257
- }, re = (U) => {
1258
- H.value = U;
1271
+ W.value = !!document.fullscreenElement;
1272
+ }, we = () => {
1273
+ j.value = !j.value;
1274
+ }, le = () => {
1275
+ j.value = !1;
1276
+ }, de = () => {
1277
+ ee.value = !1, X.value = "";
1278
+ }, fe = (N) => {
1279
+ s.push(N), de();
1280
+ }, M = () => {
1281
+ V.value = !0;
1282
+ }, O = (N) => {
1283
+ Q.value = N;
1259
1284
  const C = document.documentElement;
1260
- U ? C.classList.add("grey-mode") : C.classList.remove("grey-mode");
1261
- }, ge = () => {
1262
- re(!H.value), G.value = !1;
1263
- }, ke = () => {
1264
- i.toggleTheme(), G.value = !1;
1265
- }, me = [
1285
+ N ? C.classList.add("grey-mode") : C.classList.remove("grey-mode");
1286
+ }, me = () => {
1287
+ O(!Q.value), V.value = !1;
1288
+ }, pe = () => {
1289
+ i.toggleTheme(), V.value = !1;
1290
+ }, oe = [
1266
1291
  { value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
1267
1292
  { value: "top", label: "顶部菜单", icon: "menu" },
1268
1293
  { value: "mix", label: "混合菜单", icon: "grid" }
1269
- ], ye = k(() => i.layout), Se = (U) => {
1270
- i.setLayout(U), G.value = !1;
1271
- }, we = [
1294
+ ], ke = w(() => i.layout), xe = (N) => {
1295
+ i.setLayout(N), V.value = !1;
1296
+ }, $e = [
1272
1297
  { value: "#409eff", label: "默认蓝" },
1273
1298
  { value: "#0F6FDE", label: "企业蓝" },
1274
1299
  { value: "#00A870", label: "翡翠绿" },
1275
1300
  { value: "#D46B08", label: "琥珀橙" },
1276
1301
  { value: "#1F2329", label: "石墨黑" }
1277
- ], xe = (U) => {
1278
- i.setPrimaryColor(U), G.value = !1;
1279
- }, z = () => {
1280
- Y(), a.push("/profile");
1281
- }, w = () => {
1282
- Y(), a.push("/change-password");
1283
- }, oe = () => {
1284
- Y(), m.logout(), v.clearUserInfo(), h.clearMenu(), a.push(i.loginPath);
1285
- }, $ = (U) => {
1286
- B.value && !B.value.contains(U.target) && Y(), X.value && !X.value.contains(U.target) && ae();
1287
- }, pe = (U) => {
1288
- U.key === "Escape" && (ae(), Y());
1302
+ ], re = (N) => {
1303
+ i.setPrimaryColor(N), V.value = !1;
1304
+ }, ge = () => {
1305
+ le(), s.push("/profile");
1306
+ }, U = () => {
1307
+ le(), s.push("/change-password");
1308
+ }, b = () => {
1309
+ le(), d.logout(), v.clearUserInfo(), h.clearMenu(), s.push(i.loginPath);
1310
+ }, se = (N) => {
1311
+ B.value && !B.value.contains(N.target) && le(), G.value && !G.value.contains(N.target) && de();
1312
+ }, $ = (N) => {
1313
+ N.key === "Escape" && (de(), le());
1289
1314
  };
1290
- return We(() => {
1291
- document.addEventListener("click", $), document.addEventListener("fullscreenchange", ve), document.addEventListener("keydown", pe), H.value = document.documentElement.classList.contains("grey-mode");
1292
- }), qe(() => {
1293
- document.removeEventListener("click", $), document.removeEventListener("fullscreenchange", ve), document.removeEventListener("keydown", pe);
1294
- }), (U, C) => {
1295
- var ne;
1296
- return o(), c("div", Ws, [
1297
- e("div", qs, [
1315
+ return Ye(() => {
1316
+ document.addEventListener("click", se), document.addEventListener("fullscreenchange", ve), document.addEventListener("keydown", $), Q.value = document.documentElement.classList.contains("grey-mode");
1317
+ }), Ge(() => {
1318
+ document.removeEventListener("click", se), document.removeEventListener("fullscreenchange", ve), document.removeEventListener("keydown", $);
1319
+ }), (N, C) => {
1320
+ var ae;
1321
+ return a(), c("div", Qs, [
1322
+ e("div", eo, [
1298
1323
  e("img", {
1299
- src: d.value,
1324
+ src: m.value,
1300
1325
  alt: "Logo",
1301
1326
  class: "top-menu__logo-img"
1302
- }, null, 8, Hs),
1303
- e("span", Ys, x(n(i).appName), 1)
1327
+ }, null, 8, to),
1328
+ e("span", so, x(l(i).appName), 1)
1304
1329
  ]),
1305
- b(n(Je), {
1330
+ y(l(et), {
1306
1331
  "model-value": f.value,
1307
1332
  mode: "horizontal",
1308
1333
  "background-color": u.value,
1309
- "text-color": q.value,
1334
+ "text-color": K.value,
1310
1335
  "active-text-color": A.value,
1311
1336
  class: "top-menu__menu",
1312
- onSelect: se
1337
+ onSelect: te
1313
1338
  }, {
1314
- default: M(() => [
1315
- (o(!0), c(W, null, Z(n(h).menuList, (r) => (o(), c(W, {
1339
+ default: S(() => [
1340
+ (a(!0), c(H, null, J(l(h).menuList, (r) => (a(), c(H, {
1316
1341
  key: r.menuUrl
1317
1342
  }, [
1318
- r.children && r.children.length > 0 ? (o(), D(n(je), {
1343
+ r.children && r.children.length > 0 ? (a(), D(l(He), {
1319
1344
  key: 0,
1320
1345
  index: r.menuUrl
1321
1346
  }, {
1322
- title: M(() => [
1323
- e("span", Gs, [
1324
- r.menuName !== "首页" ? (o(), c("span", Xs, [
1325
- J(S(r.icon)) ? (o(), D(n(I), {
1347
+ title: S(() => [
1348
+ e("span", oo, [
1349
+ r.menuName !== "首页" ? (a(), c("span", ao, [
1350
+ Y(E(r.icon)) ? (a(), D(l(I), {
1326
1351
  key: 0,
1327
- name: S(r.icon),
1352
+ name: E(r.icon),
1328
1353
  size: 16
1329
- }, null, 8, ["name"])) : (o(), c("span", Js, x(T(r.menuName)), 1))
1354
+ }, null, 8, ["name"])) : (a(), c("span", no, x(z(r.menuName)), 1))
1330
1355
  ])) : P("", !0),
1331
- e("span", Zs, x(r.menuName), 1)
1356
+ e("span", lo, x(r.menuName), 1)
1332
1357
  ])
1333
1358
  ]),
1334
- default: M(() => [
1335
- (o(!0), c(W, null, Z(r.children, (p) => (o(), c(W, {
1359
+ default: S(() => [
1360
+ (a(!0), c(H, null, J(r.children, (p) => (a(), c(H, {
1336
1361
  key: p.menuUrl
1337
1362
  }, [
1338
- p.children && p.children.length > 0 ? (o(), D(n(je), {
1363
+ p.children && p.children.length > 0 ? (a(), D(l(He), {
1339
1364
  key: 0,
1340
1365
  index: p.menuUrl
1341
1366
  }, {
1342
- title: M(() => [
1343
- e("span", Qs, [
1344
- e("span", eo, [
1345
- J(S(p.icon)) ? (o(), D(n(I), {
1367
+ title: S(() => [
1368
+ e("span", ro, [
1369
+ e("span", io, [
1370
+ Y(E(p.icon)) ? (a(), D(l(I), {
1346
1371
  key: 0,
1347
- name: S(p.icon),
1372
+ name: E(p.icon),
1348
1373
  size: 16
1349
- }, null, 8, ["name"])) : (o(), c("span", to, x(T(p.menuName)), 1))
1374
+ }, null, 8, ["name"])) : (a(), c("span", co, x(z(p.menuName)), 1))
1350
1375
  ]),
1351
- e("span", so, x(p.menuName), 1)
1376
+ e("span", uo, x(p.menuName), 1)
1352
1377
  ])
1353
1378
  ]),
1354
- default: M(() => [
1355
- (o(!0), c(W, null, Z(p.children, (V) => (o(), D(n(Ne), {
1356
- key: V.menuUrl,
1357
- index: V.menuUrl
1379
+ default: S(() => [
1380
+ (a(!0), c(H, null, J(p.children, (R) => (a(), D(l(Te), {
1381
+ key: R.menuUrl,
1382
+ index: R.menuUrl
1358
1383
  }, {
1359
- default: M(() => [
1360
- e("span", oo, [
1361
- e("span", ao, [
1362
- J(S(V.icon)) ? (o(), D(n(I), {
1384
+ default: S(() => [
1385
+ e("span", mo, [
1386
+ e("span", po, [
1387
+ Y(E(R.icon)) ? (a(), D(l(I), {
1363
1388
  key: 0,
1364
- name: S(V.icon),
1389
+ name: E(R.icon),
1365
1390
  size: 16
1366
- }, null, 8, ["name"])) : (o(), c("span", no, x(T(V.menuName)), 1))
1391
+ }, null, 8, ["name"])) : (a(), c("span", vo, x(z(R.menuName)), 1))
1367
1392
  ]),
1368
- e("span", lo, x(V.menuName), 1)
1393
+ e("span", ho, x(R.menuName), 1)
1369
1394
  ])
1370
1395
  ]),
1371
1396
  _: 2
1372
1397
  }, 1032, ["index"]))), 128))
1373
1398
  ]),
1374
1399
  _: 2
1375
- }, 1032, ["index"])) : (o(), D(n(Ne), {
1400
+ }, 1032, ["index"])) : (a(), D(l(Te), {
1376
1401
  key: 1,
1377
1402
  index: p.menuUrl
1378
1403
  }, {
1379
- default: M(() => [
1380
- e("span", ro, [
1381
- e("span", io, [
1382
- J(S(p.icon)) ? (o(), D(n(I), {
1404
+ default: S(() => [
1405
+ e("span", _o, [
1406
+ e("span", fo, [
1407
+ Y(E(p.icon)) ? (a(), D(l(I), {
1383
1408
  key: 0,
1384
- name: S(p.icon),
1409
+ name: E(p.icon),
1385
1410
  size: 16
1386
- }, null, 8, ["name"])) : (o(), c("span", co, x(T(p.menuName)), 1))
1411
+ }, null, 8, ["name"])) : (a(), c("span", go, x(z(p.menuName)), 1))
1387
1412
  ]),
1388
- e("span", uo, x(p.menuName), 1)
1413
+ e("span", yo, x(p.menuName), 1)
1389
1414
  ])
1390
1415
  ]),
1391
1416
  _: 2
@@ -1393,20 +1418,20 @@ const _e = ze("menu", () => {
1393
1418
  ], 64))), 128))
1394
1419
  ]),
1395
1420
  _: 2
1396
- }, 1032, ["index"])) : (o(), D(n(Ne), {
1421
+ }, 1032, ["index"])) : (a(), D(l(Te), {
1397
1422
  key: 1,
1398
1423
  index: r.menuUrl
1399
1424
  }, {
1400
- default: M(() => [
1401
- e("span", mo, [
1402
- r.menuName !== "首页" ? (o(), c("span", po, [
1403
- J(S(r.icon)) ? (o(), D(n(I), {
1425
+ default: S(() => [
1426
+ e("span", bo, [
1427
+ r.menuName !== "首页" ? (a(), c("span", wo, [
1428
+ Y(E(r.icon)) ? (a(), D(l(I), {
1404
1429
  key: 0,
1405
- name: S(r.icon),
1430
+ name: E(r.icon),
1406
1431
  size: 16
1407
- }, null, 8, ["name"])) : (o(), c("span", vo, x(T(r.menuName)), 1))
1432
+ }, null, 8, ["name"])) : (a(), c("span", ko, x(z(r.menuName)), 1))
1408
1433
  ])) : P("", !0),
1409
- e("span", ho, x(r.menuName), 1)
1434
+ e("span", xo, x(r.menuName), 1)
1410
1435
  ])
1411
1436
  ]),
1412
1437
  _: 2
@@ -1415,46 +1440,46 @@ const _e = ze("menu", () => {
1415
1440
  ]),
1416
1441
  _: 1
1417
1442
  }, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
1418
- e("div", _o, [
1443
+ e("div", Co, [
1419
1444
  e("div", {
1420
1445
  class: "top-menu__search",
1421
1446
  ref_key: "searchRef",
1422
- ref: X
1447
+ ref: G
1423
1448
  }, [
1424
- b(n(I), {
1449
+ y(l(I), {
1425
1450
  name: "search",
1426
1451
  size: 14,
1427
1452
  class: "top-menu__search-icon"
1428
1453
  }),
1429
- Fe(e("input", {
1430
- "onUpdate:modelValue": C[0] || (C[0] = (r) => ee.value = r),
1454
+ Be(e("input", {
1455
+ "onUpdate:modelValue": C[0] || (C[0] = (r) => X.value = r),
1431
1456
  type: "text",
1432
1457
  class: "top-menu__search-input",
1433
1458
  placeholder: "搜索菜单...",
1434
- onFocus: C[1] || (C[1] = (r) => te.value = !0)
1459
+ onFocus: C[1] || (C[1] = (r) => ee.value = !0)
1435
1460
  }, null, 544), [
1436
- [He, ee.value]
1461
+ [Xe, X.value]
1437
1462
  ]),
1438
- b($e, { name: "search-dropdown" }, {
1439
- default: M(() => [
1440
- te.value && (g.value.length > 0 || ee.value) ? (o(), c("div", fo, [
1441
- g.value.length > 0 ? (o(), c("div", go, [
1442
- (o(!0), c(W, null, Z(g.value, (r) => (o(), c("div", {
1463
+ y(Ee, { name: "search-dropdown" }, {
1464
+ default: S(() => [
1465
+ ee.value && (k.value.length > 0 || X.value) ? (a(), c("div", $o, [
1466
+ k.value.length > 0 ? (a(), c("div", Lo, [
1467
+ (a(!0), c(H, null, J(k.value, (r) => (a(), c("div", {
1443
1468
  key: r.path,
1444
1469
  class: "top-menu__search-item",
1445
- onClick: (p) => de(r.path)
1470
+ onClick: (p) => fe(r.path)
1446
1471
  }, [
1447
- r.title !== "首页" ? (o(), c("span", bo, [
1448
- J(S(r.icon)) ? (o(), D(n(I), {
1472
+ r.title !== "首页" ? (a(), c("span", So, [
1473
+ Y(E(r.icon)) ? (a(), D(l(I), {
1449
1474
  key: 0,
1450
- name: S(r.icon),
1475
+ name: E(r.icon),
1451
1476
  size: 16
1452
- }, null, 8, ["name"])) : (o(), c("span", ko, x(T(r.title)), 1))
1477
+ }, null, 8, ["name"])) : (a(), c("span", No, x(z(r.title)), 1))
1453
1478
  ])) : P("", !0),
1454
- e("span", wo, x(r.title), 1),
1455
- r.parentTitle ? (o(), c("span", xo, x(r.parentTitle), 1)) : P("", !0)
1456
- ], 8, yo))), 128))
1457
- ])) : (o(), c("div", Co, " 未找到匹配的菜单 "))
1479
+ e("span", Eo, x(r.title), 1),
1480
+ r.parentTitle ? (a(), c("span", Io, x(r.parentTitle), 1)) : P("", !0)
1481
+ ], 8, Mo))), 128))
1482
+ ])) : (a(), c("div", Uo, " 未找到匹配的菜单 "))
1458
1483
  ])) : P("", !0)
1459
1484
  ]),
1460
1485
  _: 1
@@ -1462,31 +1487,31 @@ const _e = ze("menu", () => {
1462
1487
  ], 512),
1463
1488
  e("div", {
1464
1489
  class: "top-menu__action",
1465
- onClick: le,
1466
- title: R.value ? "退出全屏" : "全屏"
1490
+ onClick: ne,
1491
+ title: W.value ? "退出全屏" : "全屏"
1467
1492
  }, [
1468
- b(n(I), {
1469
- name: R.value ? "fullscreen-exit" : "fullscreen",
1493
+ y(l(I), {
1494
+ name: W.value ? "fullscreen-exit" : "fullscreen",
1470
1495
  size: 16
1471
1496
  }, null, 8, ["name"])
1472
- ], 8, $o),
1497
+ ], 8, To),
1473
1498
  e("div", {
1474
1499
  class: "top-menu__action",
1475
- onClick: j,
1500
+ onClick: M,
1476
1501
  title: "换肤设置"
1477
1502
  }, [
1478
- b(n(I), {
1503
+ y(l(I), {
1479
1504
  name: "skin",
1480
1505
  size: 16
1481
1506
  })
1482
1507
  ]),
1483
1508
  e("div", {
1484
1509
  class: "top-menu__action",
1485
- onClick: K,
1510
+ onClick: q,
1486
1511
  title: "切换主题"
1487
1512
  }, [
1488
- b(n(I), {
1489
- name: n(i).isDark ? "sun" : "moon",
1513
+ y(l(I), {
1514
+ name: l(i).isDark ? "sun" : "moon",
1490
1515
  size: 16
1491
1516
  }, null, 8, ["name"])
1492
1517
  ]),
@@ -1497,14 +1522,14 @@ const _e = ze("menu", () => {
1497
1522
  }, [
1498
1523
  e("div", {
1499
1524
  class: "top-menu__user-trigger",
1500
- onClick: De(E, ["stop"])
1525
+ onClick: Ve(we, ["stop"])
1501
1526
  }, [
1502
- e("div", Lo, [
1503
- e("span", null, x(((ne = n(v).userName) == null ? void 0 : ne.charAt(0)) || "U"), 1)
1527
+ e("div", Po, [
1528
+ e("span", null, x(((ae = l(v).userName) == null ? void 0 : ae.charAt(0)) || "U"), 1)
1504
1529
  ]),
1505
- e("span", Mo, x(n(v).userName), 1),
1530
+ e("span", zo, x(l(v).userName), 1),
1506
1531
  e("span", {
1507
- class: Q(["top-menu__user-arrow", { "is-active": O.value }])
1532
+ class: Z(["top-menu__user-arrow", { "is-active": j.value }])
1508
1533
  }, [...C[3] || (C[3] = [
1509
1534
  e("svg", {
1510
1535
  viewBox: "0 0 12 12",
@@ -1520,27 +1545,27 @@ const _e = ze("menu", () => {
1520
1545
  ], -1)
1521
1546
  ])], 2)
1522
1547
  ]),
1523
- b($e, { name: "dropdown" }, {
1524
- default: M(() => {
1548
+ y(Ee, { name: "dropdown" }, {
1549
+ default: S(() => {
1525
1550
  var r;
1526
1551
  return [
1527
- O.value ? (o(), c("div", So, [
1528
- e("div", No, [
1529
- e("div", Io, [
1530
- e("span", null, x(((r = n(v).userName) == null ? void 0 : r.charAt(0)) || "U"), 1)
1552
+ j.value ? (a(), c("div", Fo, [
1553
+ e("div", Do, [
1554
+ e("div", Ao, [
1555
+ e("span", null, x(((r = l(v).userName) == null ? void 0 : r.charAt(0)) || "U"), 1)
1531
1556
  ]),
1532
- e("div", Eo, [
1533
- e("div", Uo, x(n(v).userName), 1),
1534
- e("div", zo, x(n(v).departmentName), 1)
1557
+ e("div", Bo, [
1558
+ e("div", Vo, x(l(v).userName), 1),
1559
+ e("div", Oo, x(l(v).departmentName), 1)
1535
1560
  ])
1536
1561
  ]),
1537
1562
  C[8] || (C[8] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
1538
- e("div", Po, [
1563
+ e("div", Ro, [
1539
1564
  e("div", {
1540
1565
  class: "top-menu__dropdown-item",
1541
- onClick: z
1566
+ onClick: ge
1542
1567
  }, [
1543
- b(n(I), {
1568
+ y(l(I), {
1544
1569
  name: "user",
1545
1570
  size: 16
1546
1571
  }),
@@ -1548,9 +1573,9 @@ const _e = ze("menu", () => {
1548
1573
  ]),
1549
1574
  e("div", {
1550
1575
  class: "top-menu__dropdown-item",
1551
- onClick: w
1576
+ onClick: U
1552
1577
  }, [
1553
- b(n(I), {
1578
+ y(l(I), {
1554
1579
  name: "lock",
1555
1580
  size: 16
1556
1581
  }),
@@ -1559,9 +1584,9 @@ const _e = ze("menu", () => {
1559
1584
  C[7] || (C[7] = e("div", { class: "top-menu__dropdown-divider" }, null, -1)),
1560
1585
  e("div", {
1561
1586
  class: "top-menu__dropdown-item top-menu__dropdown-item--danger",
1562
- onClick: oe
1587
+ onClick: b
1563
1588
  }, [
1564
- b(n(I), {
1589
+ y(l(I), {
1565
1590
  name: "logout",
1566
1591
  size: 16
1567
1592
  }),
@@ -1575,34 +1600,34 @@ const _e = ze("menu", () => {
1575
1600
  })
1576
1601
  ], 512)
1577
1602
  ]),
1578
- b(n(Ze), {
1579
- modelValue: G.value,
1580
- "onUpdate:modelValue": C[2] || (C[2] = (r) => G.value = r),
1603
+ y(l(tt), {
1604
+ modelValue: V.value,
1605
+ "onUpdate:modelValue": C[2] || (C[2] = (r) => V.value = r),
1581
1606
  title: "换肤设置",
1582
1607
  direction: "rtl",
1583
1608
  size: "320px"
1584
1609
  }, {
1585
- default: M(() => [
1586
- e("div", To, [
1587
- e("div", Fo, [
1610
+ default: S(() => [
1611
+ e("div", Ko, [
1612
+ e("div", jo, [
1588
1613
  C[12] || (C[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
1589
- e("div", Do, [
1590
- (o(), c(W, null, Z(me, (r) => e("div", {
1614
+ e("div", Wo, [
1615
+ (a(), c(H, null, J(oe, (r) => e("div", {
1591
1616
  key: r.value,
1592
- class: Q(["layout-option", { "is-active": ye.value === r.value }]),
1593
- onClick: (p) => Se(r.value)
1617
+ class: Z(["layout-option", { "is-active": ke.value === r.value }]),
1618
+ onClick: (p) => xe(r.value)
1594
1619
  }, [
1595
- e("div", Bo, [
1596
- r.value === "sidebar" ? (o(), c("div", Vo, [...C[9] || (C[9] = [
1620
+ e("div", Ho, [
1621
+ r.value === "sidebar" ? (a(), c("div", Yo, [...C[9] || (C[9] = [
1597
1622
  e("div", { class: "preview-aside" }, null, -1),
1598
1623
  e("div", { class: "preview-main" }, [
1599
1624
  e("div", { class: "preview-header" }),
1600
1625
  e("div", { class: "preview-content" })
1601
1626
  ], -1)
1602
- ])])) : r.value === "top" ? (o(), c("div", Oo, [...C[10] || (C[10] = [
1627
+ ])])) : r.value === "top" ? (a(), c("div", Go, [...C[10] || (C[10] = [
1603
1628
  e("div", { class: "preview-header-full" }, null, -1),
1604
1629
  e("div", { class: "preview-content-full" }, null, -1)
1605
- ])])) : (o(), c("div", Ro, [...C[11] || (C[11] = [
1630
+ ])])) : (a(), c("div", Xo, [...C[11] || (C[11] = [
1606
1631
  e("div", { class: "preview-header-mix" }, [
1607
1632
  e("div", { class: "preview-mix-left" })
1608
1633
  ], -1),
@@ -1612,46 +1637,46 @@ const _e = ze("menu", () => {
1612
1637
  ], -1)
1613
1638
  ])]))
1614
1639
  ]),
1615
- e("span", Ko, x(r.label), 1)
1616
- ], 10, Ao)), 64))
1640
+ e("span", Jo, x(r.label), 1)
1641
+ ], 10, qo)), 64))
1617
1642
  ])
1618
1643
  ]),
1619
- e("div", jo, [
1644
+ e("div", Zo, [
1620
1645
  C[13] || (C[13] = e("div", { class: "settings-title" }, "主题色", -1)),
1621
- e("div", Wo, [
1622
- (o(), c(W, null, Z(we, (r) => e("div", {
1646
+ e("div", Qo, [
1647
+ (a(), c(H, null, J($e, (r) => e("div", {
1623
1648
  key: r.value,
1624
- class: Q(["color-option", { "is-active": n(i).primaryColor === r.value }]),
1625
- style: Ie({ backgroundColor: r.value }),
1649
+ class: Z(["color-option", { "is-active": l(i).primaryColor === r.value }]),
1650
+ style: Pe({ backgroundColor: r.value }),
1626
1651
  title: r.label,
1627
- onClick: (p) => xe(r.value)
1652
+ onClick: (p) => re(r.value)
1628
1653
  }, [
1629
- n(i).primaryColor === r.value ? (o(), D(n(I), {
1654
+ l(i).primaryColor === r.value ? (a(), D(l(I), {
1630
1655
  key: 0,
1631
1656
  name: "check",
1632
1657
  size: 12,
1633
1658
  color: "#fff"
1634
1659
  })) : P("", !0)
1635
- ], 14, qo)), 64))
1660
+ ], 14, ea)), 64))
1636
1661
  ])
1637
1662
  ]),
1638
- e("div", Ho, [
1663
+ e("div", ta, [
1639
1664
  C[18] || (C[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
1640
- e("div", Yo, [
1641
- e("div", Go, [
1665
+ e("div", sa, [
1666
+ e("div", oa, [
1642
1667
  C[15] || (C[15] = e("span", null, "灰色模式", -1)),
1643
1668
  e("div", {
1644
- class: Q(["switch-wrapper", { "is-checked": H.value }]),
1645
- onClick: ge
1669
+ class: Z(["switch-wrapper", { "is-checked": Q.value }]),
1670
+ onClick: me
1646
1671
  }, [...C[14] || (C[14] = [
1647
1672
  e("span", { class: "switch-core" }, null, -1)
1648
1673
  ])], 2)
1649
1674
  ]),
1650
- e("div", Xo, [
1675
+ e("div", aa, [
1651
1676
  C[17] || (C[17] = e("span", null, "暗黑模式", -1)),
1652
1677
  e("div", {
1653
- class: Q(["switch-wrapper", { "is-checked": n(i).isDark }]),
1654
- onClick: ke
1678
+ class: Z(["switch-wrapper", { "is-checked": l(i).isDark }]),
1679
+ onClick: pe
1655
1680
  }, [...C[16] || (C[16] = [
1656
1681
  e("span", { class: "switch-core" }, null, -1)
1657
1682
  ])], 2)
@@ -1665,76 +1690,76 @@ const _e = ze("menu", () => {
1665
1690
  ]);
1666
1691
  };
1667
1692
  }
1668
- }), Zo = /* @__PURE__ */ ue(Jo, [["__scopeId", "data-v-711d5b8d"]]), Qo = { class: "mix-top-menu" }, ea = { class: "mix-top-menu__logo" }, ta = ["src"], sa = { class: "mix-top-menu__logo-text" }, oa = { class: "mix-top-menu__menu-content" }, aa = {
1693
+ }), la = /* @__PURE__ */ ue(na, [["__scopeId", "data-v-711d5b8d"]]), ra = { class: "mix-top-menu" }, ia = { class: "mix-top-menu__logo" }, ca = ["src"], ua = { class: "mix-top-menu__logo-text" }, da = { class: "mix-top-menu__menu-content" }, ma = {
1669
1694
  key: 0,
1670
1695
  class: "mix-top-menu__menu-icon"
1671
- }, na = {
1696
+ }, pa = {
1672
1697
  key: 1,
1673
1698
  class: "mix-top-menu__menu-char"
1674
- }, la = { class: "mix-top-menu__menu-text" }, ra = { class: "mix-top-menu__actions" }, ia = {
1699
+ }, va = { class: "mix-top-menu__menu-text" }, ha = { class: "mix-top-menu__actions" }, _a = {
1675
1700
  key: 0,
1676
1701
  class: "mix-top-menu__search-dropdown"
1677
- }, ca = {
1702
+ }, fa = {
1678
1703
  key: 0,
1679
1704
  class: "mix-top-menu__search-results"
1680
- }, ua = ["onClick"], da = {
1705
+ }, ga = ["onClick"], ya = {
1681
1706
  key: 0,
1682
1707
  class: "mix-top-menu__search-icon-item"
1683
- }, ma = {
1708
+ }, ba = {
1684
1709
  key: 1,
1685
1710
  class: "mix-top-menu__search-char"
1686
- }, pa = { class: "mix-top-menu__search-item-title" }, va = {
1711
+ }, wa = { class: "mix-top-menu__search-item-title" }, ka = {
1687
1712
  key: 1,
1688
1713
  class: "mix-top-menu__search-item-parent"
1689
- }, ha = {
1714
+ }, xa = {
1690
1715
  key: 1,
1691
1716
  class: "mix-top-menu__search-empty"
1692
- }, _a = ["title"], fa = { class: "mix-top-menu__avatar" }, ga = { class: "mix-top-menu__user-name" }, ya = {
1717
+ }, Ca = ["title"], $a = { class: "mix-top-menu__avatar" }, La = { class: "mix-top-menu__user-name" }, Ma = {
1693
1718
  key: 0,
1694
1719
  class: "mix-top-menu__dropdown"
1695
- }, ba = { class: "mix-top-menu__dropdown-header" }, ka = { class: "mix-top-menu__dropdown-avatar" }, wa = { class: "mix-top-menu__dropdown-info" }, xa = { class: "mix-top-menu__dropdown-name" }, Ca = { class: "mix-top-menu__dropdown-role" }, $a = { class: "mix-top-menu__dropdown-menu" }, La = { class: "settings-drawer" }, Ma = { class: "settings-section" }, Sa = { class: "settings-layout-options" }, Na = ["onClick"], Ia = { class: "layout-option__preview" }, Ea = {
1720
+ }, Sa = { class: "mix-top-menu__dropdown-header" }, Na = { class: "mix-top-menu__dropdown-avatar" }, Ea = { class: "mix-top-menu__dropdown-info" }, Ia = { class: "mix-top-menu__dropdown-name" }, Ua = { class: "mix-top-menu__dropdown-role" }, Ta = { class: "mix-top-menu__dropdown-menu" }, Pa = { class: "settings-drawer" }, za = { class: "settings-section" }, Fa = { class: "settings-layout-options" }, Da = ["onClick"], Aa = { class: "layout-option__preview" }, Ba = {
1696
1721
  key: 0,
1697
1722
  class: "layout-preview-sidebar"
1698
- }, Ua = {
1723
+ }, Va = {
1699
1724
  key: 1,
1700
1725
  class: "layout-preview-top"
1701
- }, za = {
1726
+ }, Oa = {
1702
1727
  key: 2,
1703
1728
  class: "layout-preview-mix"
1704
- }, Pa = { class: "layout-option__label" }, Ta = { class: "settings-section" }, Fa = { class: "settings-color-options" }, Da = ["title", "onClick"], Aa = { class: "settings-section" }, Ba = { class: "settings-switch-list" }, Va = { class: "settings-switch-item" }, Oa = { class: "settings-switch-item" }, Ra = /* @__PURE__ */ ie({
1729
+ }, Ra = { class: "layout-option__label" }, Ka = { class: "settings-section" }, ja = { class: "settings-color-options" }, Wa = ["title", "onClick"], qa = { class: "settings-section" }, Ha = { class: "settings-switch-list" }, Ya = { class: "settings-switch-item" }, Ga = { class: "settings-switch-item" }, Xa = /* @__PURE__ */ ie({
1705
1730
  __name: "MixTopMenu",
1706
1731
  props: {
1707
1732
  logoSrc: {}
1708
1733
  },
1709
1734
  setup(t) {
1710
- const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = Me(), a = fe(), h = _e(), i = he(), v = ce(), m = Pe(), f = y(""), _ = (r, p = "") => {
1711
- const V = [];
1735
+ const n = t, m = w(() => n.logoSrc || ze("/vite.svg")), o = Ue(), s = be(), h = _e(), i = he(), v = ce(), d = De(), f = g(""), _ = (r, p = "") => {
1736
+ const R = [];
1712
1737
  return r.forEach((L) => {
1713
- L.children && L.children.length > 0 ? V.push(..._(L.children, L.menuName)) : V.push({ ...L, parentTitle: p, title: L.menuName, path: L.menuUrl });
1714
- }), V;
1715
- }, g = k(() => S.value.trim() ? _(h.menuList).filter(
1716
- (p) => p.title.toLowerCase().includes(S.value.toLowerCase())
1717
- ) : []), u = k(() => {
1738
+ L.children && L.children.length > 0 ? R.push(..._(L.children, L.menuName)) : R.push({ ...L, parentTitle: p, title: L.menuName, path: L.menuUrl });
1739
+ }), R;
1740
+ }, k = w(() => E.value.trim() ? _(h.menuList).filter(
1741
+ (p) => p.title.toLowerCase().includes(E.value.toLowerCase())
1742
+ ) : []), u = w(() => {
1718
1743
  const r = h.menuList.find((p) => p.menuUrl === f.value);
1719
1744
  return (r == null ? void 0 : r.children) || [];
1720
- }), q = k(() => h.menuList.find((r) => !!(s.path === r.menuUrl || r.children && r.children.some((p) => s.path.startsWith(p.menuUrl) || s.path === p.menuUrl)))), A = () => {
1721
- q.value ? f.value = q.value.menuUrl : h.menuList.length > 0 && (f.value = h.menuList[0].menuUrl);
1722
- }, O = (r) => {
1745
+ }), K = w(() => h.menuList.find((r) => !!(o.path === r.menuUrl || r.children && r.children.some((p) => o.path.startsWith(p.menuUrl) || o.path === p.menuUrl)))), A = () => {
1746
+ K.value ? f.value = K.value.menuUrl : h.menuList.length > 0 && (f.value = h.menuList[0].menuUrl);
1747
+ }, j = (r) => {
1723
1748
  f.value = r;
1724
- const p = h.menuList.find((V) => V.menuUrl === r);
1749
+ const p = h.menuList.find((R) => R.menuUrl === r);
1725
1750
  if (p)
1726
1751
  if (p.children && p.children.length > 0) {
1727
- const V = p.children[0].menuUrl;
1728
- s.path !== V && a.push(V);
1752
+ const R = p.children[0].menuUrl;
1753
+ o.path !== R && s.push(R);
1729
1754
  } else
1730
- s.path !== r && a.push(r);
1731
- }, B = k(() => i.isDark ? "#1d1e1f" : "#fff"), R = k(() => i.isDark ? "#cfd3dc" : "#303133"), G = k(() => "#409eff"), H = y(!1), te = y(null), ee = y(!1), X = y(!1), se = y(!1), F = y(!1), S = y(""), T = y(null);
1732
- Ce(() => s.path, () => {
1755
+ o.path !== r && s.push(r);
1756
+ }, B = w(() => i.isDark ? "#1d1e1f" : "#fff"), W = w(() => i.isDark ? "#cfd3dc" : "#303133"), V = w(() => "#409eff"), Q = g(!1), ee = g(null), X = g(!1), G = g(!1), te = g(!1), F = g(!1), E = g(""), z = g(null);
1757
+ Se(() => o.path, () => {
1733
1758
  A(), i.setMixSubMenus(u.value);
1734
- }), Ce(() => h.menuList, (r) => {
1759
+ }), Se(() => h.menuList, (r) => {
1735
1760
  r && r.length > 0 && (A(), i.setMixSubMenus(u.value));
1736
1761
  }, { immediate: !0 });
1737
- const J = /* @__PURE__ */ new Set([
1762
+ const Y = /* @__PURE__ */ new Set([
1738
1763
  "arrow-up",
1739
1764
  "arrow-down",
1740
1765
  "arrow-left",
@@ -1836,10 +1861,10 @@ const _e = ze("menu", () => {
1836
1861
  "sun",
1837
1862
  "theme",
1838
1863
  "skin"
1839
- ]), K = (r) => {
1864
+ ]), q = (r) => {
1840
1865
  if (!r || r === "") return "";
1841
1866
  if (r.startsWith("tineco-icon-")) {
1842
- const V = r.replace("tineco-icon-", "");
1867
+ const R = r.replace("tineco-icon-", "");
1843
1868
  return {
1844
1869
  home: "home",
1845
1870
  dashboard: "dashboard",
@@ -1853,7 +1878,7 @@ const _e = ze("menu", () => {
1853
1878
  chart: "chart",
1854
1879
  report: "report",
1855
1880
  analytics: "analytics"
1856
- }[V] || V;
1881
+ }[R] || R;
1857
1882
  }
1858
1883
  return {
1859
1884
  dashboard: "dashboard",
@@ -1873,94 +1898,94 @@ const _e = ze("menu", () => {
1873
1898
  list: "list",
1874
1899
  grid: "grid"
1875
1900
  }[r] || r;
1876
- }, le = (r) => r ? r.charAt(0) : "", ve = (r) => J.has(r), E = () => {
1877
- i.toggleTheme(), X.value = !1;
1878
- }, Y = () => {
1901
+ }, ne = (r) => r ? r.charAt(0) : "", ve = (r) => Y.has(r), we = () => {
1902
+ i.toggleTheme(), G.value = !1;
1903
+ }, le = () => {
1879
1904
  document.fullscreenElement ? document.exitFullscreen() : document.documentElement.requestFullscreen();
1880
- }, ae = () => {
1881
- ee.value = !!document.fullscreenElement;
1882
1905
  }, de = () => {
1883
- H.value = !H.value;
1884
- }, j = () => {
1885
- H.value = !1;
1886
- }, re = () => {
1887
- F.value = !1, S.value = "";
1888
- }, ge = (r) => {
1889
- a.push(r), re();
1890
- }, ke = () => {
1891
- X.value = !0;
1906
+ X.value = !!document.fullscreenElement;
1907
+ }, fe = () => {
1908
+ Q.value = !Q.value;
1909
+ }, M = () => {
1910
+ Q.value = !1;
1911
+ }, O = () => {
1912
+ F.value = !1, E.value = "";
1892
1913
  }, me = (r) => {
1893
- se.value = r;
1914
+ s.push(r), O();
1915
+ }, pe = () => {
1916
+ G.value = !0;
1917
+ }, oe = (r) => {
1918
+ te.value = r;
1894
1919
  const p = document.documentElement;
1895
1920
  r ? p.classList.add("grey-mode") : p.classList.remove("grey-mode");
1896
- }, ye = () => {
1897
- me(!se.value), X.value = !1;
1898
- }, Se = () => {
1899
- i.toggleTheme(), X.value = !1;
1900
- }, we = [
1921
+ }, ke = () => {
1922
+ oe(!te.value), G.value = !1;
1923
+ }, xe = () => {
1924
+ i.toggleTheme(), G.value = !1;
1925
+ }, $e = [
1901
1926
  { value: "sidebar", label: "左侧菜单", icon: "sidebar-left" },
1902
1927
  { value: "top", label: "顶部菜单", icon: "menu" },
1903
1928
  { value: "mix", label: "混合菜单", icon: "grid" }
1904
- ], xe = k(() => i.layout), z = (r) => {
1905
- i.setLayout(r), X.value = !1;
1906
- }, w = [
1929
+ ], re = w(() => i.layout), ge = (r) => {
1930
+ i.setLayout(r), G.value = !1;
1931
+ }, U = [
1907
1932
  { value: "#409eff", label: "默认蓝" },
1908
1933
  { value: "#0F6FDE", label: "企业蓝" },
1909
1934
  { value: "#00A870", label: "翡翠绿" },
1910
1935
  { value: "#D46B08", label: "琥珀橙" },
1911
1936
  { value: "#1F2329", label: "石墨黑" }
1912
- ], oe = (r) => {
1913
- i.setPrimaryColor(r), X.value = !1;
1937
+ ], b = (r) => {
1938
+ i.setPrimaryColor(r), G.value = !1;
1939
+ }, se = () => {
1940
+ M(), s.push("/profile");
1914
1941
  }, $ = () => {
1915
- j(), a.push("/profile");
1916
- }, pe = () => {
1917
- j(), a.push("/change-password");
1918
- }, U = () => {
1919
- j(), m.logout(), v.clearUserInfo(), h.clearMenu(), a.push(i.loginPath);
1942
+ M(), s.push("/change-password");
1943
+ }, N = () => {
1944
+ M(), d.logout(), v.clearUserInfo(), h.clearMenu(), s.push(i.loginPath);
1920
1945
  }, C = (r) => {
1921
- te.value && !te.value.contains(r.target) && j(), T.value && !T.value.contains(r.target) && re();
1922
- }, ne = (r) => {
1923
- r.key === "Escape" && (re(), j());
1946
+ ee.value && !ee.value.contains(r.target) && M(), z.value && !z.value.contains(r.target) && O();
1947
+ }, ae = (r) => {
1948
+ r.key === "Escape" && (O(), M());
1924
1949
  };
1925
- return We(() => {
1926
- document.addEventListener("click", C), document.addEventListener("fullscreenchange", ae), document.addEventListener("keydown", ne), se.value = document.documentElement.classList.contains("grey-mode"), A();
1927
- }), qe(() => {
1928
- document.removeEventListener("click", C), document.removeEventListener("fullscreenchange", ae), document.removeEventListener("keydown", ne);
1950
+ return Ye(() => {
1951
+ document.addEventListener("click", C), document.addEventListener("fullscreenchange", de), document.addEventListener("keydown", ae), te.value = document.documentElement.classList.contains("grey-mode"), A();
1952
+ }), Ge(() => {
1953
+ document.removeEventListener("click", C), document.removeEventListener("fullscreenchange", de), document.removeEventListener("keydown", ae);
1929
1954
  }), (r, p) => {
1930
- var V;
1931
- return o(), c("div", Qo, [
1932
- e("div", ea, [
1955
+ var R;
1956
+ return a(), c("div", ra, [
1957
+ e("div", ia, [
1933
1958
  e("img", {
1934
- src: d.value,
1959
+ src: m.value,
1935
1960
  alt: "Logo",
1936
1961
  class: "mix-top-menu__logo-img"
1937
- }, null, 8, ta),
1938
- e("span", sa, x(n(i).appName), 1)
1962
+ }, null, 8, ca),
1963
+ e("span", ua, x(l(i).appName), 1)
1939
1964
  ]),
1940
- b(n(Je), {
1965
+ y(l(et), {
1941
1966
  "model-value": f.value,
1942
1967
  mode: "horizontal",
1943
1968
  "background-color": B.value,
1944
- "text-color": R.value,
1945
- "active-text-color": G.value,
1969
+ "text-color": W.value,
1970
+ "active-text-color": V.value,
1946
1971
  class: "mix-top-menu__menu",
1947
- onSelect: O
1972
+ onSelect: j
1948
1973
  }, {
1949
- default: M(() => [
1950
- (o(!0), c(W, null, Z(n(h).menuList, (L) => (o(), D(n(Ne), {
1974
+ default: S(() => [
1975
+ (a(!0), c(H, null, J(l(h).menuList, (L) => (a(), D(l(Te), {
1951
1976
  key: L.menuUrl,
1952
1977
  index: L.menuUrl
1953
1978
  }, {
1954
- default: M(() => [
1955
- e("span", oa, [
1956
- L.menuName !== "首页" ? (o(), c("span", aa, [
1957
- ve(K(L.icon)) ? (o(), D(n(I), {
1979
+ default: S(() => [
1980
+ e("span", da, [
1981
+ L.menuName !== "首页" ? (a(), c("span", ma, [
1982
+ ve(q(L.icon)) ? (a(), D(l(I), {
1958
1983
  key: 0,
1959
- name: K(L.icon),
1984
+ name: q(L.icon),
1960
1985
  size: 16
1961
- }, null, 8, ["name"])) : (o(), c("span", na, x(le(L.menuName)), 1))
1986
+ }, null, 8, ["name"])) : (a(), c("span", pa, x(ne(L.menuName)), 1))
1962
1987
  ])) : P("", !0),
1963
- e("span", la, x(L.menuName), 1)
1988
+ e("span", va, x(L.menuName), 1)
1964
1989
  ])
1965
1990
  ]),
1966
1991
  _: 2
@@ -1968,46 +1993,46 @@ const _e = ze("menu", () => {
1968
1993
  ]),
1969
1994
  _: 1
1970
1995
  }, 8, ["model-value", "background-color", "text-color", "active-text-color"]),
1971
- e("div", ra, [
1996
+ e("div", ha, [
1972
1997
  e("div", {
1973
1998
  class: "mix-top-menu__search",
1974
1999
  ref_key: "searchRef",
1975
- ref: T
2000
+ ref: z
1976
2001
  }, [
1977
- b(n(I), {
2002
+ y(l(I), {
1978
2003
  name: "search",
1979
2004
  size: 14,
1980
2005
  class: "mix-top-menu__search-icon"
1981
2006
  }),
1982
- Fe(e("input", {
1983
- "onUpdate:modelValue": p[0] || (p[0] = (L) => S.value = L),
2007
+ Be(e("input", {
2008
+ "onUpdate:modelValue": p[0] || (p[0] = (L) => E.value = L),
1984
2009
  type: "text",
1985
2010
  class: "mix-top-menu__search-input",
1986
2011
  placeholder: "搜索菜单...",
1987
2012
  onFocus: p[1] || (p[1] = (L) => F.value = !0)
1988
2013
  }, null, 544), [
1989
- [He, S.value]
2014
+ [Xe, E.value]
1990
2015
  ]),
1991
- b($e, { name: "search-dropdown" }, {
1992
- default: M(() => [
1993
- F.value && (g.value.length > 0 || S.value) ? (o(), c("div", ia, [
1994
- g.value.length > 0 ? (o(), c("div", ca, [
1995
- (o(!0), c(W, null, Z(g.value, (L) => (o(), c("div", {
2016
+ y(Ee, { name: "search-dropdown" }, {
2017
+ default: S(() => [
2018
+ F.value && (k.value.length > 0 || E.value) ? (a(), c("div", _a, [
2019
+ k.value.length > 0 ? (a(), c("div", fa, [
2020
+ (a(!0), c(H, null, J(k.value, (L) => (a(), c("div", {
1996
2021
  key: L.path,
1997
2022
  class: "mix-top-menu__search-item",
1998
- onClick: (et) => ge(L.path)
2023
+ onClick: (ot) => me(L.path)
1999
2024
  }, [
2000
- L.title !== "首页" ? (o(), c("span", da, [
2001
- ve(K(L.icon)) ? (o(), D(n(I), {
2025
+ L.title !== "首页" ? (a(), c("span", ya, [
2026
+ ve(q(L.icon)) ? (a(), D(l(I), {
2002
2027
  key: 0,
2003
- name: K(L.icon),
2028
+ name: q(L.icon),
2004
2029
  size: 16
2005
- }, null, 8, ["name"])) : (o(), c("span", ma, x(le(L.title)), 1))
2030
+ }, null, 8, ["name"])) : (a(), c("span", ba, x(ne(L.title)), 1))
2006
2031
  ])) : P("", !0),
2007
- e("span", pa, x(L.title), 1),
2008
- L.parentTitle ? (o(), c("span", va, x(L.parentTitle), 1)) : P("", !0)
2009
- ], 8, ua))), 128))
2010
- ])) : (o(), c("div", ha, " 未找到匹配的菜单 "))
2032
+ e("span", wa, x(L.title), 1),
2033
+ L.parentTitle ? (a(), c("span", ka, x(L.parentTitle), 1)) : P("", !0)
2034
+ ], 8, ga))), 128))
2035
+ ])) : (a(), c("div", xa, " 未找到匹配的菜单 "))
2011
2036
  ])) : P("", !0)
2012
2037
  ]),
2013
2038
  _: 1
@@ -2015,49 +2040,49 @@ const _e = ze("menu", () => {
2015
2040
  ], 512),
2016
2041
  e("div", {
2017
2042
  class: "mix-top-menu__action",
2018
- onClick: Y,
2019
- title: ee.value ? "退出全屏" : "全屏"
2043
+ onClick: le,
2044
+ title: X.value ? "退出全屏" : "全屏"
2020
2045
  }, [
2021
- b(n(I), {
2022
- name: ee.value ? "fullscreen-exit" : "fullscreen",
2046
+ y(l(I), {
2047
+ name: X.value ? "fullscreen-exit" : "fullscreen",
2023
2048
  size: 16
2024
2049
  }, null, 8, ["name"])
2025
- ], 8, _a),
2050
+ ], 8, Ca),
2026
2051
  e("div", {
2027
2052
  class: "mix-top-menu__action",
2028
- onClick: ke,
2053
+ onClick: pe,
2029
2054
  title: "换肤设置"
2030
2055
  }, [
2031
- b(n(I), {
2056
+ y(l(I), {
2032
2057
  name: "skin",
2033
2058
  size: 16
2034
2059
  })
2035
2060
  ]),
2036
2061
  e("div", {
2037
2062
  class: "mix-top-menu__action",
2038
- onClick: E,
2063
+ onClick: we,
2039
2064
  title: "切换主题"
2040
2065
  }, [
2041
- b(n(I), {
2042
- name: n(i).isDark ? "sun" : "moon",
2066
+ y(l(I), {
2067
+ name: l(i).isDark ? "sun" : "moon",
2043
2068
  size: 16
2044
2069
  }, null, 8, ["name"])
2045
2070
  ]),
2046
2071
  e("div", {
2047
2072
  class: "mix-top-menu__user",
2048
2073
  ref_key: "dropdownRef",
2049
- ref: te
2074
+ ref: ee
2050
2075
  }, [
2051
2076
  e("div", {
2052
2077
  class: "mix-top-menu__user-trigger",
2053
- onClick: De(de, ["stop"])
2078
+ onClick: Ve(fe, ["stop"])
2054
2079
  }, [
2055
- e("div", fa, [
2056
- e("span", null, x(((V = n(v).userName) == null ? void 0 : V.charAt(0)) || "U"), 1)
2080
+ e("div", $a, [
2081
+ e("span", null, x(((R = l(v).userName) == null ? void 0 : R.charAt(0)) || "U"), 1)
2057
2082
  ]),
2058
- e("span", ga, x(n(v).userName), 1),
2083
+ e("span", La, x(l(v).userName), 1),
2059
2084
  e("span", {
2060
- class: Q(["mix-top-menu__user-arrow", { "is-active": H.value }])
2085
+ class: Z(["mix-top-menu__user-arrow", { "is-active": Q.value }])
2061
2086
  }, [...p[3] || (p[3] = [
2062
2087
  e("svg", {
2063
2088
  viewBox: "0 0 12 12",
@@ -2073,27 +2098,27 @@ const _e = ze("menu", () => {
2073
2098
  ], -1)
2074
2099
  ])], 2)
2075
2100
  ]),
2076
- b($e, { name: "dropdown" }, {
2077
- default: M(() => {
2101
+ y(Ee, { name: "dropdown" }, {
2102
+ default: S(() => {
2078
2103
  var L;
2079
2104
  return [
2080
- H.value ? (o(), c("div", ya, [
2081
- e("div", ba, [
2082
- e("div", ka, [
2083
- e("span", null, x(((L = n(v).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
2105
+ Q.value ? (a(), c("div", Ma, [
2106
+ e("div", Sa, [
2107
+ e("div", Na, [
2108
+ e("span", null, x(((L = l(v).userName) == null ? void 0 : L.charAt(0)) || "U"), 1)
2084
2109
  ]),
2085
- e("div", wa, [
2086
- e("div", xa, x(n(v).userName), 1),
2087
- e("div", Ca, x(n(v).departmentName), 1)
2110
+ e("div", Ea, [
2111
+ e("div", Ia, x(l(v).userName), 1),
2112
+ e("div", Ua, x(l(v).departmentName), 1)
2088
2113
  ])
2089
2114
  ]),
2090
2115
  p[8] || (p[8] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
2091
- e("div", $a, [
2116
+ e("div", Ta, [
2092
2117
  e("div", {
2093
2118
  class: "mix-top-menu__dropdown-item",
2094
- onClick: $
2119
+ onClick: se
2095
2120
  }, [
2096
- b(n(I), {
2121
+ y(l(I), {
2097
2122
  name: "user",
2098
2123
  size: 16
2099
2124
  }),
@@ -2101,9 +2126,9 @@ const _e = ze("menu", () => {
2101
2126
  ]),
2102
2127
  e("div", {
2103
2128
  class: "mix-top-menu__dropdown-item",
2104
- onClick: pe
2129
+ onClick: $
2105
2130
  }, [
2106
- b(n(I), {
2131
+ y(l(I), {
2107
2132
  name: "lock",
2108
2133
  size: 16
2109
2134
  }),
@@ -2112,9 +2137,9 @@ const _e = ze("menu", () => {
2112
2137
  p[7] || (p[7] = e("div", { class: "mix-top-menu__dropdown-divider" }, null, -1)),
2113
2138
  e("div", {
2114
2139
  class: "mix-top-menu__dropdown-item mix-top-menu__dropdown-item--danger",
2115
- onClick: U
2140
+ onClick: N
2116
2141
  }, [
2117
- b(n(I), {
2142
+ y(l(I), {
2118
2143
  name: "logout",
2119
2144
  size: 16
2120
2145
  }),
@@ -2128,34 +2153,34 @@ const _e = ze("menu", () => {
2128
2153
  })
2129
2154
  ], 512)
2130
2155
  ]),
2131
- b(n(Ze), {
2132
- modelValue: X.value,
2133
- "onUpdate:modelValue": p[2] || (p[2] = (L) => X.value = L),
2156
+ y(l(tt), {
2157
+ modelValue: G.value,
2158
+ "onUpdate:modelValue": p[2] || (p[2] = (L) => G.value = L),
2134
2159
  title: "换肤设置",
2135
2160
  direction: "rtl",
2136
2161
  size: "320px"
2137
2162
  }, {
2138
- default: M(() => [
2139
- e("div", La, [
2140
- e("div", Ma, [
2163
+ default: S(() => [
2164
+ e("div", Pa, [
2165
+ e("div", za, [
2141
2166
  p[12] || (p[12] = e("div", { class: "settings-title" }, "布局模式", -1)),
2142
- e("div", Sa, [
2143
- (o(), c(W, null, Z(we, (L) => e("div", {
2167
+ e("div", Fa, [
2168
+ (a(), c(H, null, J($e, (L) => e("div", {
2144
2169
  key: L.value,
2145
- class: Q(["layout-option", { "is-active": xe.value === L.value }]),
2146
- onClick: (et) => z(L.value)
2170
+ class: Z(["layout-option", { "is-active": re.value === L.value }]),
2171
+ onClick: (ot) => ge(L.value)
2147
2172
  }, [
2148
- e("div", Ia, [
2149
- L.value === "sidebar" ? (o(), c("div", Ea, [...p[9] || (p[9] = [
2173
+ e("div", Aa, [
2174
+ L.value === "sidebar" ? (a(), c("div", Ba, [...p[9] || (p[9] = [
2150
2175
  e("div", { class: "preview-aside" }, null, -1),
2151
2176
  e("div", { class: "preview-main" }, [
2152
2177
  e("div", { class: "preview-header" }),
2153
2178
  e("div", { class: "preview-content" })
2154
2179
  ], -1)
2155
- ])])) : L.value === "top" ? (o(), c("div", Ua, [...p[10] || (p[10] = [
2180
+ ])])) : L.value === "top" ? (a(), c("div", Va, [...p[10] || (p[10] = [
2156
2181
  e("div", { class: "preview-header-full" }, null, -1),
2157
2182
  e("div", { class: "preview-content-full" }, null, -1)
2158
- ])])) : (o(), c("div", za, [...p[11] || (p[11] = [
2183
+ ])])) : (a(), c("div", Oa, [...p[11] || (p[11] = [
2159
2184
  e("div", { class: "preview-header-mix" }, [
2160
2185
  e("div", { class: "preview-mix-left" })
2161
2186
  ], -1),
@@ -2165,46 +2190,46 @@ const _e = ze("menu", () => {
2165
2190
  ], -1)
2166
2191
  ])]))
2167
2192
  ]),
2168
- e("span", Pa, x(L.label), 1)
2169
- ], 10, Na)), 64))
2193
+ e("span", Ra, x(L.label), 1)
2194
+ ], 10, Da)), 64))
2170
2195
  ])
2171
2196
  ]),
2172
- e("div", Ta, [
2197
+ e("div", Ka, [
2173
2198
  p[13] || (p[13] = e("div", { class: "settings-title" }, "主题色", -1)),
2174
- e("div", Fa, [
2175
- (o(), c(W, null, Z(w, (L) => e("div", {
2199
+ e("div", ja, [
2200
+ (a(), c(H, null, J(U, (L) => e("div", {
2176
2201
  key: L.value,
2177
- class: Q(["color-option", { "is-active": n(i).primaryColor === L.value }]),
2178
- style: Ie({ backgroundColor: L.value }),
2202
+ class: Z(["color-option", { "is-active": l(i).primaryColor === L.value }]),
2203
+ style: Pe({ backgroundColor: L.value }),
2179
2204
  title: L.label,
2180
- onClick: (et) => oe(L.value)
2205
+ onClick: (ot) => b(L.value)
2181
2206
  }, [
2182
- n(i).primaryColor === L.value ? (o(), D(n(I), {
2207
+ l(i).primaryColor === L.value ? (a(), D(l(I), {
2183
2208
  key: 0,
2184
2209
  name: "check",
2185
2210
  size: 12,
2186
2211
  color: "#fff"
2187
2212
  })) : P("", !0)
2188
- ], 14, Da)), 64))
2213
+ ], 14, Wa)), 64))
2189
2214
  ])
2190
2215
  ]),
2191
- e("div", Aa, [
2216
+ e("div", qa, [
2192
2217
  p[18] || (p[18] = e("div", { class: "settings-title" }, "功能设置", -1)),
2193
- e("div", Ba, [
2194
- e("div", Va, [
2218
+ e("div", Ha, [
2219
+ e("div", Ya, [
2195
2220
  p[15] || (p[15] = e("span", null, "灰色模式", -1)),
2196
2221
  e("div", {
2197
- class: Q(["switch-wrapper", { "is-checked": se.value }]),
2198
- onClick: ye
2222
+ class: Z(["switch-wrapper", { "is-checked": te.value }]),
2223
+ onClick: ke
2199
2224
  }, [...p[14] || (p[14] = [
2200
2225
  e("span", { class: "switch-core" }, null, -1)
2201
2226
  ])], 2)
2202
2227
  ]),
2203
- e("div", Oa, [
2228
+ e("div", Ga, [
2204
2229
  p[17] || (p[17] = e("span", null, "暗黑模式", -1)),
2205
2230
  e("div", {
2206
- class: Q(["switch-wrapper", { "is-checked": n(i).isDark }]),
2207
- onClick: Se
2231
+ class: Z(["switch-wrapper", { "is-checked": l(i).isDark }]),
2232
+ onClick: xe
2208
2233
  }, [...p[16] || (p[16] = [
2209
2234
  e("span", { class: "switch-core" }, null, -1)
2210
2235
  ])], 2)
@@ -2218,130 +2243,130 @@ const _e = ze("menu", () => {
2218
2243
  ]);
2219
2244
  };
2220
2245
  }
2221
- }), Ka = /* @__PURE__ */ ue(Ra, [["__scopeId", "data-v-ec17777f"]]), ja = {
2246
+ }), Ja = /* @__PURE__ */ ue(Xa, [["__scopeId", "data-v-ec17777f"]]), Za = {
2222
2247
  key: 0,
2223
2248
  class: "layout layout--sidebar"
2224
- }, Wa = { class: "layout__main" }, qa = { class: "layout__header" }, Ha = { class: "layout__content" }, Ya = {
2249
+ }, Qa = { class: "layout__main" }, en = { class: "layout__header" }, tn = { class: "layout__content" }, sn = {
2225
2250
  key: 1,
2226
2251
  class: "layout layout--top"
2227
- }, Ga = { class: "layout__top-menu" }, Xa = { class: "layout__main" }, Ja = { class: "layout__content" }, Za = {
2252
+ }, on = { class: "layout__top-menu" }, an = { class: "layout__main" }, nn = { class: "layout__content" }, ln = {
2228
2253
  key: 2,
2229
2254
  class: "layout layout--mix"
2230
- }, Qa = { class: "layout__mix-top-menu" }, en = { class: "layout__mix-body" }, tn = { class: "layout__content" }, sn = /* @__PURE__ */ ie({
2255
+ }, rn = { class: "layout__mix-top-menu" }, cn = { class: "layout__mix-body" }, un = { class: "layout__content" }, dn = /* @__PURE__ */ ie({
2231
2256
  __name: "index",
2232
2257
  props: {
2233
2258
  logoSrc: {}
2234
2259
  },
2235
2260
  setup(t) {
2236
- const l = t, d = k(() => l.logoSrc || Ue("/vite.svg")), s = he(), a = _e(), h = k(
2237
- () => s.isCollapsed ? "64px" : "210px"
2238
- ), i = k(() => s.layout), v = k(() => i.value === "mix"), m = k(() => i.value === "sidebar" ? a.menuList : i.value === "mix" ? s.mixSubMenus : []), f = k(() => v.value ? m.value.length > 0 : !1);
2239
- return (_, g) => {
2240
- const u = ut("router-view");
2241
- return o(), c(W, null, [
2242
- i.value === "sidebar" ? (o(), c("div", ja, [
2261
+ const n = t, m = w(() => n.logoSrc || ze("/vite.svg")), o = he(), s = _e(), h = w(
2262
+ () => o.isCollapsed ? "64px" : "210px"
2263
+ ), i = w(() => o.layout), v = w(() => i.value === "mix"), d = w(() => i.value === "sidebar" ? s.menuList : i.value === "mix" ? o.mixSubMenus : []), f = w(() => v.value ? d.value.length > 0 : !1);
2264
+ return (_, k) => {
2265
+ const u = pt("router-view");
2266
+ return a(), c(H, null, [
2267
+ i.value === "sidebar" ? (a(), c("div", Za, [
2243
2268
  e("aside", {
2244
2269
  class: "layout__aside",
2245
- style: Ie({ width: h.value })
2270
+ style: Pe({ width: h.value })
2246
2271
  }, [
2247
- b(at, {
2248
- "menu-list": m.value,
2272
+ y(rt, {
2273
+ "menu-list": d.value,
2249
2274
  "show-logo": !0,
2250
2275
  "show-user": !0,
2251
- "logo-src": d.value
2276
+ "logo-src": m.value
2252
2277
  }, null, 8, ["menu-list", "logo-src"])
2253
2278
  ], 4),
2254
- e("div", Wa, [
2255
- e("header", qa, [
2256
- b(js)
2279
+ e("div", Qa, [
2280
+ e("header", en, [
2281
+ y(Zs)
2257
2282
  ]),
2258
- e("main", Ha, [
2259
- b(u)
2283
+ e("main", tn, [
2284
+ y(u)
2260
2285
  ])
2261
2286
  ])
2262
2287
  ])) : P("", !0),
2263
- i.value === "top" ? (o(), c("div", Ya, [
2264
- e("div", Ga, [
2265
- b(Zo, { "logo-src": d.value }, null, 8, ["logo-src"])
2288
+ i.value === "top" ? (a(), c("div", sn, [
2289
+ e("div", on, [
2290
+ y(la, { "logo-src": m.value }, null, 8, ["logo-src"])
2266
2291
  ]),
2267
- e("div", Xa, [
2268
- e("main", Ja, [
2269
- b(u)
2292
+ e("div", an, [
2293
+ e("main", nn, [
2294
+ y(u)
2270
2295
  ])
2271
2296
  ])
2272
2297
  ])) : P("", !0),
2273
- i.value === "mix" ? (o(), c("div", Za, [
2274
- e("div", Qa, [
2275
- b(Ka, { "logo-src": d.value }, null, 8, ["logo-src"])
2298
+ i.value === "mix" ? (a(), c("div", ln, [
2299
+ e("div", rn, [
2300
+ y(Ja, { "logo-src": m.value }, null, 8, ["logo-src"])
2276
2301
  ]),
2277
- e("div", en, [
2278
- f.value ? (o(), c("aside", {
2302
+ e("div", cn, [
2303
+ f.value ? (a(), c("aside", {
2279
2304
  key: 0,
2280
2305
  class: "layout__aside",
2281
- style: Ie({ width: h.value })
2306
+ style: Pe({ width: h.value })
2282
2307
  }, [
2283
- b(at, {
2284
- "menu-list": m.value,
2308
+ y(rt, {
2309
+ "menu-list": d.value,
2285
2310
  "show-logo": !1,
2286
2311
  "show-user": !1
2287
2312
  }, null, 8, ["menu-list"])
2288
2313
  ], 4)) : P("", !0),
2289
- e("main", tn, [
2290
- b(u)
2314
+ e("main", un, [
2315
+ y(u)
2291
2316
  ])
2292
2317
  ])
2293
2318
  ])) : P("", !0)
2294
2319
  ], 64);
2295
2320
  };
2296
2321
  }
2297
- }), mt = /* @__PURE__ */ ue(sn, [["__scopeId", "data-v-4e5f3bf5"]]), on = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2322
+ }), ht = /* @__PURE__ */ ue(dn, [["__scopeId", "data-v-4e5f3bf5"]]), mn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2298
2323
  __proto__: null,
2299
- default: mt
2300
- }, Symbol.toStringTag, { value: "Module" })), an = { class: "tabs-wrapper" }, nn = { class: "tab-label" }, ln = ["onClick"], rn = /* @__PURE__ */ ie({
2324
+ default: ht
2325
+ }, Symbol.toStringTag, { value: "Module" })), pn = { class: "tabs-wrapper" }, vn = { class: "tab-label" }, hn = ["onClick"], _n = /* @__PURE__ */ ie({
2301
2326
  __name: "Tabs",
2302
2327
  setup(t) {
2303
- const l = Me(), d = fe(), s = k(() => {
2328
+ const n = Ue(), m = be(), o = w(() => {
2304
2329
  const v = [];
2305
- return l.matched.forEach((m) => {
2330
+ return n.matched.forEach((d) => {
2306
2331
  var f;
2307
- (f = m.meta) != null && f.affix && v.push({
2308
- name: m.name,
2309
- title: m.meta.title,
2310
- path: m.path,
2332
+ (f = d.meta) != null && f.affix && v.push({
2333
+ name: d.name,
2334
+ title: d.meta.title,
2335
+ path: d.path,
2311
2336
  affix: !0
2312
2337
  });
2313
2338
  }), v;
2314
- }), a = k(() => l.path), h = (v) => {
2315
- d.push(v);
2339
+ }), s = w(() => n.path), h = (v) => {
2340
+ m.push(v);
2316
2341
  }, i = (v) => {
2317
- const m = s.value.find((f) => f.path === v);
2318
- if (!(m != null && m.affix) && v === a.value) {
2319
- const f = s.value.findIndex((g) => g.path === v), _ = s.value[f - 1] || s.value[f + 1];
2320
- _ && d.push(_.path);
2342
+ const d = o.value.find((f) => f.path === v);
2343
+ if (!(d != null && d.affix) && v === s.value) {
2344
+ const f = o.value.findIndex((k) => k.path === v), _ = o.value[f - 1] || o.value[f + 1];
2345
+ _ && m.push(_.path);
2321
2346
  }
2322
2347
  };
2323
- return (v, m) => (o(), c("div", an, [
2324
- b(n(Mt), {
2325
- modelValue: a.value,
2326
- "onUpdate:modelValue": m[0] || (m[0] = (f) => a.value = f),
2348
+ return (v, d) => (a(), c("div", pn, [
2349
+ y(l(Tt), {
2350
+ modelValue: s.value,
2351
+ "onUpdate:modelValue": d[0] || (d[0] = (f) => s.value = f),
2327
2352
  type: "card",
2328
2353
  onTabClick: h
2329
2354
  }, {
2330
- default: M(() => [
2331
- (o(!0), c(W, null, Z(s.value, (f) => (o(), D(n(St), {
2355
+ default: S(() => [
2356
+ (a(!0), c(H, null, J(o.value, (f) => (a(), D(l(Pt), {
2332
2357
  key: f.path,
2333
2358
  name: f.path,
2334
2359
  label: f.title,
2335
2360
  closable: !f.affix
2336
2361
  }, {
2337
- label: M(() => [
2338
- e("span", nn, [
2339
- be(x(f.title) + " ", 1),
2340
- f.affix ? P("", !0) : (o(), c("span", {
2362
+ label: S(() => [
2363
+ e("span", vn, [
2364
+ Ce(x(f.title) + " ", 1),
2365
+ f.affix ? P("", !0) : (a(), c("span", {
2341
2366
  key: 0,
2342
2367
  class: "tab-close",
2343
- onClick: De((_) => i(f.path), ["stop"])
2344
- }, " ✕ ", 8, ln))
2368
+ onClick: Ve((_) => i(f.path), ["stop"])
2369
+ }, " ✕ ", 8, hn))
2345
2370
  ])
2346
2371
  ]),
2347
2372
  _: 2
@@ -2351,16 +2376,16 @@ const _e = ze("menu", () => {
2351
2376
  }, 8, ["modelValue"])
2352
2377
  ]));
2353
2378
  }
2354
- }), Jn = /* @__PURE__ */ ue(rn, [["__scopeId", "data-v-0a4ca30d"]]), cn = {}, un = { class: "footer" };
2355
- function dn(t, l) {
2356
- return o(), c("div", un, [...l[0] || (l[0] = [
2379
+ }), nl = /* @__PURE__ */ ue(_n, [["__scopeId", "data-v-0a4ca30d"]]), fn = {}, gn = { class: "footer" };
2380
+ function yn(t, n) {
2381
+ return a(), c("div", gn, [...n[0] || (n[0] = [
2357
2382
  e("span", null, "Copyright © 2024 Xto Demo. All Rights Reserved.", -1)
2358
2383
  ])]);
2359
2384
  }
2360
- const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e349"]]), mn = { class: "login-page" }, pn = { class: "login-form-section" }, vn = { class: "form-container" }, hn = { class: "input-wrapper" }, _n = { class: "input-wrapper" }, fn = { class: "form-options" }, gn = { key: 0 }, yn = { key: 1 }, bn = /* @__PURE__ */ ie({
2385
+ const ll = /* @__PURE__ */ ue(fn, [["render", yn], ["__scopeId", "data-v-ac63e349"]]), bn = { class: "login-page" }, wn = { class: "login-form-section" }, kn = { class: "form-container" }, xn = { class: "input-wrapper" }, Cn = { class: "input-wrapper" }, $n = { class: "form-options" }, Ln = { key: 0 }, Mn = { key: 1 }, Sn = /* @__PURE__ */ ie({
2361
2386
  __name: "index",
2362
2387
  setup(t) {
2363
- const l = fe(), d = Me(), s = y(!1), a = y(!1), h = Ye({
2388
+ const n = be(), m = Ue(), o = g(!1), s = g(!1), h = Je({
2364
2389
  uid: "",
2365
2390
  password: ""
2366
2391
  }), i = {
@@ -2371,35 +2396,35 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2371
2396
  { required: !0, message: "请输入密码", trigger: "blur" },
2372
2397
  { min: 6, message: "密码长度至少6位", trigger: "blur" }
2373
2398
  ]
2374
- }, v = y(), m = async () => {
2399
+ }, v = g(), d = async () => {
2375
2400
  var f;
2376
2401
  try {
2377
- await ((f = v.value) == null ? void 0 : f.validate()), s.value = !0;
2378
- const _ = await ft({
2379
- appId: Ee(),
2380
- clientId: ct(),
2402
+ await ((f = v.value) == null ? void 0 : f.validate()), o.value = !0;
2403
+ const _ = await wt({
2404
+ appId: Ne(),
2405
+ clientId: mt(),
2381
2406
  uid: h.uid,
2382
2407
  password: h.password,
2383
2408
  code: !0
2384
2409
  });
2385
- it(_), Nt.success("登录成功");
2386
- const g = d.query.redirect;
2387
- g ? l.push(g) : l.push({ name: "Dashboard" });
2410
+ dt(_), zt.success("登录成功");
2411
+ const k = m.query.redirect;
2412
+ k ? n.push(k) : n.push({ name: "Dashboard" });
2388
2413
  } catch (_) {
2389
2414
  console.error("登录失败:", _);
2390
2415
  } finally {
2391
- s.value = !1;
2416
+ o.value = !1;
2392
2417
  }
2393
2418
  };
2394
- return (f, _) => (o(), c("div", mn, [
2395
- _[10] || (_[10] = Te('<div class="login-brand" data-v-20b19b53><div class="brand-content" data-v-20b19b53><div class="brand-logo" data-v-20b19b53><div class="logo-icon" data-v-20b19b53><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-20b19b53><rect width="48" height="48" rx="12" fill="currentColor" data-v-20b19b53></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-20b19b53></path></svg></div><span class="logo-text" data-v-20b19b53>XTO</span></div><div class="brand-slogan" data-v-20b19b53><h1 data-v-20b19b53>企业级后台管理解决方案</h1><p data-v-20b19b53>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-20b19b53><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>高性能</h4><p data-v-20b19b53>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><rect x="3" y="3" width="18" height="18" rx="2" data-v-20b19b53></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>丰富组件</h4><p data-v-20b19b53>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><circle cx="12" cy="12" r="10" data-v-20b19b53></circle><path d="M12 6v6l4 2" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>持续更新</h4><p data-v-20b19b53>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-20b19b53><div class="decoration-line" data-v-20b19b53></div><div class="decoration-dots" data-v-20b19b53><span data-v-20b19b53></span><span data-v-20b19b53></span><span data-v-20b19b53></span></div></div></div><div class="brand-bg" data-v-20b19b53><div class="bg-grid" data-v-20b19b53></div></div></div>', 1)),
2396
- e("div", pn, [
2397
- e("div", vn, [
2419
+ return (f, _) => (a(), c("div", bn, [
2420
+ _[10] || (_[10] = Ae('<div class="login-brand" data-v-20b19b53><div class="brand-content" data-v-20b19b53><div class="brand-logo" data-v-20b19b53><div class="logo-icon" data-v-20b19b53><svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-20b19b53><rect width="48" height="48" rx="12" fill="currentColor" data-v-20b19b53></rect><path d="M14 24L20 30L34 16" stroke="white" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" data-v-20b19b53></path></svg></div><span class="logo-text" data-v-20b19b53>XTO</span></div><div class="brand-slogan" data-v-20b19b53><h1 data-v-20b19b53>企业级后台管理解决方案</h1><p data-v-20b19b53>开箱即用的中后台前端/设计解决方案</p></div><div class="brand-features" data-v-20b19b53><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>高性能</h4><p data-v-20b19b53>极致的渲染性能与响应速度</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><rect x="3" y="3" width="18" height="18" rx="2" data-v-20b19b53></rect><path d="M9 9h6M9 12h6M9 15h4" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>丰富组件</h4><p data-v-20b19b53>60+ 高质量业务组件</p></div></div><div class="feature-item" data-v-20b19b53><div class="feature-icon" data-v-20b19b53><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-20b19b53><circle cx="12" cy="12" r="10" data-v-20b19b53></circle><path d="M12 6v6l4 2" data-v-20b19b53></path></svg></div><div class="feature-text" data-v-20b19b53><h4 data-v-20b19b53>持续更新</h4><p data-v-20b19b53>活跃的社区与快速迭代</p></div></div></div><div class="brand-decoration" data-v-20b19b53><div class="decoration-line" data-v-20b19b53></div><div class="decoration-dots" data-v-20b19b53><span data-v-20b19b53></span><span data-v-20b19b53></span><span data-v-20b19b53></span></div></div></div><div class="brand-bg" data-v-20b19b53><div class="bg-grid" data-v-20b19b53></div></div></div>', 1)),
2421
+ e("div", wn, [
2422
+ e("div", kn, [
2398
2423
  _[7] || (_[7] = e("div", { class: "form-header" }, [
2399
2424
  e("h2", null, "欢迎登录"),
2400
2425
  e("p", null, "请输入您的账户信息")
2401
2426
  ], -1)),
2402
- b(n(It), {
2427
+ y(l(Ft), {
2403
2428
  ref_key: "formRef",
2404
2429
  ref: v,
2405
2430
  model: h,
@@ -2407,19 +2432,19 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2407
2432
  class: "login-form",
2408
2433
  "label-width": "0"
2409
2434
  }, {
2410
- default: M(() => [
2411
- b(n(Ae), { prop: "uid" }, {
2412
- default: M(() => [
2413
- e("div", hn, [
2435
+ default: S(() => [
2436
+ y(l(Oe), { prop: "uid" }, {
2437
+ default: S(() => [
2438
+ e("div", xn, [
2414
2439
  _[3] || (_[3] = e("label", { class: "input-label" }, "用户名", -1)),
2415
- b(n(ot), {
2440
+ y(l(lt), {
2416
2441
  modelValue: h.uid,
2417
- "onUpdate:modelValue": _[0] || (_[0] = (g) => h.uid = g),
2442
+ "onUpdate:modelValue": _[0] || (_[0] = (k) => h.uid = k),
2418
2443
  placeholder: "请输入用户名",
2419
2444
  size: "large"
2420
2445
  }, {
2421
- prefix: M(() => [
2422
- b(n(I), {
2446
+ prefix: S(() => [
2447
+ y(l(I), {
2423
2448
  name: "user",
2424
2449
  size: 18
2425
2450
  })
@@ -2430,21 +2455,21 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2430
2455
  ]),
2431
2456
  _: 1
2432
2457
  }),
2433
- b(n(Ae), { prop: "password" }, {
2434
- default: M(() => [
2435
- e("div", _n, [
2458
+ y(l(Oe), { prop: "password" }, {
2459
+ default: S(() => [
2460
+ e("div", Cn, [
2436
2461
  _[4] || (_[4] = e("label", { class: "input-label" }, "密码", -1)),
2437
- b(n(ot), {
2462
+ y(l(lt), {
2438
2463
  modelValue: h.password,
2439
- "onUpdate:modelValue": _[1] || (_[1] = (g) => h.password = g),
2464
+ "onUpdate:modelValue": _[1] || (_[1] = (k) => h.password = k),
2440
2465
  type: "password",
2441
2466
  placeholder: "请输入密码",
2442
2467
  size: "large",
2443
2468
  "show-password": "",
2444
- onKeyup: $t(m, ["enter"])
2469
+ onKeyup: It(d, ["enter"])
2445
2470
  }, {
2446
- prefix: M(() => [
2447
- b(n(I), {
2471
+ prefix: S(() => [
2472
+ y(l(I), {
2448
2473
  name: "lock",
2449
2474
  size: 18
2450
2475
  })
@@ -2455,13 +2480,13 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2455
2480
  ]),
2456
2481
  _: 1
2457
2482
  }),
2458
- e("div", fn, [
2459
- b(n(Et), {
2460
- modelValue: a.value,
2461
- "onUpdate:modelValue": _[2] || (_[2] = (g) => a.value = g)
2483
+ e("div", $n, [
2484
+ y(l(Dt), {
2485
+ modelValue: s.value,
2486
+ "onUpdate:modelValue": _[2] || (_[2] = (k) => s.value = k)
2462
2487
  }, {
2463
- default: M(() => [..._[5] || (_[5] = [
2464
- be("记住我", -1)
2488
+ default: S(() => [..._[5] || (_[5] = [
2489
+ Ce("记住我", -1)
2465
2490
  ])]),
2466
2491
  _: 1
2467
2492
  }, 8, ["modelValue"]),
@@ -2470,17 +2495,17 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2470
2495
  class: "forgot-link"
2471
2496
  }, "忘记密码?", -1))
2472
2497
  ]),
2473
- b(n(Ae), null, {
2474
- default: M(() => [
2475
- b(n(Le), {
2498
+ y(l(Oe), null, {
2499
+ default: S(() => [
2500
+ y(l(Ie), {
2476
2501
  type: "primary",
2477
2502
  size: "large",
2478
- loading: s.value,
2503
+ loading: o.value,
2479
2504
  class: "login-btn",
2480
- onClick: m
2505
+ onClick: d
2481
2506
  }, {
2482
- default: M(() => [
2483
- s.value ? (o(), c("span", yn, "登录中...")) : (o(), c("span", gn, "登 录"))
2507
+ default: S(() => [
2508
+ o.value ? (a(), c("span", Mn, "登录中...")) : (a(), c("span", Ln, "登 录"))
2484
2509
  ]),
2485
2510
  _: 1
2486
2511
  }, 8, ["loading"])
@@ -2490,7 +2515,7 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2490
2515
  ]),
2491
2516
  _: 1
2492
2517
  }, 8, ["model"]),
2493
- _[8] || (_[8] = Te('<div class="form-footer" data-v-20b19b53><p data-v-20b19b53>其他登录方式</p><div class="social-login" data-v-20b19b53><button class="social-btn" title="企业微信" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-20b19b53></path></svg></button><button class="social-btn" title="钉钉" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-20b19b53></path></svg></button><button class="social-btn" title="飞书" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-20b19b53></path></svg></button></div></div>', 1))
2518
+ _[8] || (_[8] = Ae('<div class="form-footer" data-v-20b19b53><p data-v-20b19b53>其他登录方式</p><div class="social-login" data-v-20b19b53><button class="social-btn" title="企业微信" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" data-v-20b19b53></path></svg></button><button class="social-btn" title="钉钉" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.64 6.8c-.15 1.58-.8 5.42-1.13 7.19-.14.75-.42 1-.68 1.03-.58.05-1.02-.38-1.58-.75-.88-.58-1.38-.94-2.23-1.5-.99-.65-.35-1.01.22-1.59.15-.15 2.71-2.48 2.76-2.69a.2.2 0 00-.05-.18c-.06-.05-.14-.03-.21-.02-.09.02-1.49.95-4.22 2.79-.4.27-.76.41-1.08.4-.36-.01-1.04-.2-1.55-.37-.63-.2-1.12-.31-1.08-.66.02-.18.27-.36.74-.55 2.92-1.27 4.86-2.11 5.83-2.51 2.78-1.16 3.35-1.36 3.73-1.36.08 0 .27.02.39.12.1.08.13.19.14.27-.01.06.01.24 0 .38z" data-v-20b19b53></path></svg></button><button class="social-btn" title="飞书" data-v-20b19b53><svg viewBox="0 0 24 24" fill="currentColor" data-v-20b19b53><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z" data-v-20b19b53></path></svg></button></div></div>', 1))
2494
2519
  ]),
2495
2520
  _[9] || (_[9] = e("div", { class: "copyright" }, [
2496
2521
  e("p", null, "© 2024 XTO Team. All rights reserved.")
@@ -2498,31 +2523,31 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2498
2523
  ])
2499
2524
  ]));
2500
2525
  }
2501
- }), kn = /* @__PURE__ */ ue(bn, [["__scopeId", "data-v-20b19b53"]]), wn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2526
+ }), Nn = /* @__PURE__ */ ue(Sn, [["__scopeId", "data-v-20b19b53"]]), En = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2502
2527
  __proto__: null,
2503
- default: kn
2504
- }, Symbol.toStringTag, { value: "Module" })), xn = { class: "error-page" }, Cn = { class: "error-container" }, $n = { class: "error-content" }, Ln = { class: "error-actions" }, Mn = /* @__PURE__ */ ie({
2528
+ default: Nn
2529
+ }, Symbol.toStringTag, { value: "Module" })), In = { class: "error-page" }, Un = { class: "error-container" }, Tn = { class: "error-content" }, Pn = { class: "error-actions" }, zn = /* @__PURE__ */ ie({
2505
2530
  __name: "404",
2506
2531
  setup(t) {
2507
- const l = fe(), d = () => {
2508
- l.push("/");
2532
+ const n = be(), m = () => {
2533
+ n.push("/");
2509
2534
  };
2510
- return (s, a) => (o(), c("div", xn, [
2511
- e("div", Cn, [
2512
- a[7] || (a[7] = e("div", { class: "error-bg" }, [
2535
+ return (o, s) => (a(), c("div", In, [
2536
+ e("div", Un, [
2537
+ s[7] || (s[7] = e("div", { class: "error-bg" }, [
2513
2538
  e("div", { class: "bg-circle circle-1" }),
2514
2539
  e("div", { class: "bg-circle circle-2" }),
2515
2540
  e("div", { class: "bg-circle circle-3" })
2516
2541
  ], -1)),
2517
- e("div", $n, [
2518
- a[5] || (a[5] = Te('<div class="error-code" data-v-c36cc0ad><span class="code-digit" data-v-c36cc0ad>4</span><span class="code-zero" data-v-c36cc0ad><span class="zero-inner" data-v-c36cc0ad>0</span></span><span class="code-digit" data-v-c36cc0ad>4</span></div><div class="error-illustration" data-v-c36cc0ad><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c36cc0ad><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--xto-fill-color, #F2F3F5)" stroke="var(--xto-border-color, #D9DCE1)" stroke-width="2" data-v-c36cc0ad></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--xto-bg-color, #FFFFFF)" data-v-c36cc0ad></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><text x="100" y="75" text-anchor="middle" fill="var(--xto-color-primary, #4F46E5)" font-size="24" font-weight="600" data-v-c36cc0ad>?</text><circle cx="150" cy="35" r="12" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" fill="none" data-v-c36cc0ad></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" stroke-linecap="round" data-v-c36cc0ad></line></svg></div><h1 class="error-title" data-v-c36cc0ad>页面不存在</h1><p class="error-desc" data-v-c36cc0ad>抱歉,您访问的页面不存在或已被删除</p>', 4)),
2519
- e("div", Ln, [
2520
- b(n(Le), {
2542
+ e("div", Tn, [
2543
+ s[5] || (s[5] = Ae('<div class="error-code" data-v-c36cc0ad><span class="code-digit" data-v-c36cc0ad>4</span><span class="code-zero" data-v-c36cc0ad><span class="zero-inner" data-v-c36cc0ad>0</span></span><span class="code-digit" data-v-c36cc0ad>4</span></div><div class="error-illustration" data-v-c36cc0ad><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-c36cc0ad><rect x="40" y="20" width="120" height="80" rx="8" fill="var(--xto-fill-color, #F2F3F5)" stroke="var(--xto-border-color, #D9DCE1)" stroke-width="2" data-v-c36cc0ad></rect><rect x="50" y="30" width="100" height="60" rx="4" fill="var(--xto-bg-color, #FFFFFF)" data-v-c36cc0ad></rect><line x1="60" y1="45" x2="140" y2="45" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="55" x2="120" y2="55" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><line x1="60" y1="65" x2="100" y2="65" stroke="var(--xto-border-color-light, #E5E6EB)" stroke-width="2" data-v-c36cc0ad></line><text x="100" y="75" text-anchor="middle" fill="var(--xto-color-primary, #4F46E5)" font-size="24" font-weight="600" data-v-c36cc0ad>?</text><circle cx="150" cy="35" r="12" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" fill="none" data-v-c36cc0ad></circle><line x1="158" y1="43" x2="168" y2="53" stroke="var(--xto-color-primary, #4F46E5)" stroke-width="2" stroke-linecap="round" data-v-c36cc0ad></line></svg></div><h1 class="error-title" data-v-c36cc0ad>页面不存在</h1><p class="error-desc" data-v-c36cc0ad>抱歉,您访问的页面不存在或已被删除</p>', 4)),
2544
+ e("div", Pn, [
2545
+ y(l(Ie), {
2521
2546
  type: "primary",
2522
2547
  size: "large",
2523
- onClick: d
2548
+ onClick: m
2524
2549
  }, {
2525
- icon: M(() => [...a[1] || (a[1] = [
2550
+ icon: S(() => [...s[1] || (s[1] = [
2526
2551
  e("svg", {
2527
2552
  viewBox: "0 0 24 24",
2528
2553
  fill: "none",
@@ -2533,16 +2558,16 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2533
2558
  e("polyline", { points: "9,22 9,12 15,12 15,22" })
2534
2559
  ], -1)
2535
2560
  ])]),
2536
- default: M(() => [
2537
- a[2] || (a[2] = be(" 返回首页 ", -1))
2561
+ default: S(() => [
2562
+ s[2] || (s[2] = Ce(" 返回首页 ", -1))
2538
2563
  ]),
2539
2564
  _: 1
2540
2565
  }),
2541
- b(n(Le), {
2566
+ y(l(Ie), {
2542
2567
  size: "large",
2543
- onClick: a[0] || (a[0] = (h) => n(l).go(-1))
2568
+ onClick: s[0] || (s[0] = (h) => l(n).go(-1))
2544
2569
  }, {
2545
- icon: M(() => [...a[3] || (a[3] = [
2570
+ icon: S(() => [...s[3] || (s[3] = [
2546
2571
  e("svg", {
2547
2572
  viewBox: "0 0 24 24",
2548
2573
  fill: "none",
@@ -2552,13 +2577,13 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2552
2577
  e("path", { d: "M19 12H5M12 19l-7-7 7-7" })
2553
2578
  ], -1)
2554
2579
  ])]),
2555
- default: M(() => [
2556
- a[4] || (a[4] = be(" 返回上一页 ", -1))
2580
+ default: S(() => [
2581
+ s[4] || (s[4] = Ce(" 返回上一页 ", -1))
2557
2582
  ]),
2558
2583
  _: 1
2559
2584
  })
2560
2585
  ]),
2561
- a[6] || (a[6] = e("div", { class: "error-tip" }, [
2586
+ s[6] || (s[6] = e("div", { class: "error-tip" }, [
2562
2587
  e("p", null, "您可以尝试:"),
2563
2588
  e("ul", null, [
2564
2589
  e("li", null, "检查您输入的网址是否正确"),
@@ -2570,31 +2595,31 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2570
2595
  ])
2571
2596
  ]));
2572
2597
  }
2573
- }), Sn = /* @__PURE__ */ ue(Mn, [["__scopeId", "data-v-c36cc0ad"]]), pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2598
+ }), Fn = /* @__PURE__ */ ue(zn, [["__scopeId", "data-v-c36cc0ad"]]), _t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2574
2599
  __proto__: null,
2575
- default: Sn
2576
- }, Symbol.toStringTag, { value: "Module" })), Nn = { class: "error-page" }, In = { class: "error-container" }, En = { class: "error-content" }, Un = { class: "error-actions" }, zn = /* @__PURE__ */ ie({
2600
+ default: Fn
2601
+ }, Symbol.toStringTag, { value: "Module" })), Dn = { class: "error-page" }, An = { class: "error-container" }, Bn = { class: "error-content" }, Vn = { class: "error-actions" }, On = /* @__PURE__ */ ie({
2577
2602
  __name: "403",
2578
2603
  setup(t) {
2579
- const l = fe(), d = () => {
2580
- l.push("/");
2604
+ const n = be(), m = () => {
2605
+ n.push("/");
2581
2606
  };
2582
- return (s, a) => (o(), c("div", Nn, [
2583
- e("div", In, [
2584
- a[7] || (a[7] = e("div", { class: "error-bg" }, [
2607
+ return (o, s) => (a(), c("div", Dn, [
2608
+ e("div", An, [
2609
+ s[7] || (s[7] = e("div", { class: "error-bg" }, [
2585
2610
  e("div", { class: "bg-circle circle-1" }),
2586
2611
  e("div", { class: "bg-circle circle-2" }),
2587
2612
  e("div", { class: "bg-circle circle-3" })
2588
2613
  ], -1)),
2589
- e("div", En, [
2590
- a[5] || (a[5] = Te('<div class="error-code" data-v-e6e1f7ac><span class="code-digit" data-v-e6e1f7ac>4</span><span class="code-zero warning" data-v-e6e1f7ac><span class="zero-inner" data-v-e6e1f7ac>0</span></span><span class="code-digit" data-v-e6e1f7ac>3</span></div><div class="error-illustration" data-v-e6e1f7ac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e6e1f7ac><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--xto-color-warning-light-9, #FFF3E8)" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="2" data-v-e6e1f7ac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--xto-color-warning, #FF7D00)" data-v-e6e1f7ac></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="3" data-v-e6e1f7ac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></line></svg></div><h1 class="error-title" data-v-e6e1f7ac>无访问权限</h1><p class="error-desc" data-v-e6e1f7ac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>', 4)),
2591
- e("div", Un, [
2592
- b(n(Le), {
2614
+ e("div", Bn, [
2615
+ s[5] || (s[5] = Ae('<div class="error-code" data-v-e6e1f7ac><span class="code-digit" data-v-e6e1f7ac>4</span><span class="code-zero warning" data-v-e6e1f7ac><span class="zero-inner" data-v-e6e1f7ac>0</span></span><span class="code-digit" data-v-e6e1f7ac>3</span></div><div class="error-illustration" data-v-e6e1f7ac><svg viewBox="0 0 200 120" fill="none" xmlns="http://www.w3.org/2000/svg" data-v-e6e1f7ac><path d="M100 15 L150 35 L150 70 C150 95 100 110 100 110 C100 110 50 95 50 70 L50 35 Z" fill="var(--xto-color-warning-light-9, #FFF3E8)" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="2" data-v-e6e1f7ac></path><rect x="85" y="55" width="30" height="25" rx="4" fill="var(--xto-color-warning, #FF7D00)" data-v-e6e1f7ac></rect><path d="M92 55 V48 A8 8 0 0 1 108 48 V55" fill="none" stroke="var(--xto-color-warning, #FF7D00)" stroke-width="3" data-v-e6e1f7ac></path><circle cx="100" cy="67" r="6" fill="none" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></circle><line x1="96" y1="63" x2="104" y2="71" stroke="#fff" stroke-width="2" data-v-e6e1f7ac></line></svg></div><h1 class="error-title" data-v-e6e1f7ac>无访问权限</h1><p class="error-desc" data-v-e6e1f7ac>抱歉,您没有权限访问此页面,请联系管理员获取权限</p>', 4)),
2616
+ e("div", Vn, [
2617
+ y(l(Ie), {
2593
2618
  type: "primary",
2594
2619
  size: "large",
2595
- onClick: d
2620
+ onClick: m
2596
2621
  }, {
2597
- icon: M(() => [...a[1] || (a[1] = [
2622
+ icon: S(() => [...s[1] || (s[1] = [
2598
2623
  e("svg", {
2599
2624
  viewBox: "0 0 24 24",
2600
2625
  fill: "none",
@@ -2605,16 +2630,16 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2605
2630
  e("polyline", { points: "9,22 9,12 15,12 15,22" })
2606
2631
  ], -1)
2607
2632
  ])]),
2608
- default: M(() => [
2609
- a[2] || (a[2] = be(" 返回首页 ", -1))
2633
+ default: S(() => [
2634
+ s[2] || (s[2] = Ce(" 返回首页 ", -1))
2610
2635
  ]),
2611
2636
  _: 1
2612
2637
  }),
2613
- b(n(Le), {
2638
+ y(l(Ie), {
2614
2639
  size: "large",
2615
- onClick: a[0] || (a[0] = (h) => n(l).go(-1))
2640
+ onClick: s[0] || (s[0] = (h) => l(n).go(-1))
2616
2641
  }, {
2617
- icon: M(() => [...a[3] || (a[3] = [
2642
+ icon: S(() => [...s[3] || (s[3] = [
2618
2643
  e("svg", {
2619
2644
  viewBox: "0 0 24 24",
2620
2645
  fill: "none",
@@ -2624,13 +2649,13 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2624
2649
  e("path", { d: "M19 12H5M12 19l-7-7 7-7" })
2625
2650
  ], -1)
2626
2651
  ])]),
2627
- default: M(() => [
2628
- a[4] || (a[4] = be(" 返回上一页 ", -1))
2652
+ default: S(() => [
2653
+ s[4] || (s[4] = Ce(" 返回上一页 ", -1))
2629
2654
  ]),
2630
2655
  _: 1
2631
2656
  })
2632
2657
  ]),
2633
- a[6] || (a[6] = e("div", { class: "error-tip" }, [
2658
+ s[6] || (s[6] = e("div", { class: "error-tip" }, [
2634
2659
  e("p", null, "可能的原因:"),
2635
2660
  e("ul", null, [
2636
2661
  e("li", null, "您的账号权限不足"),
@@ -2642,16 +2667,16 @@ const Zn = /* @__PURE__ */ ue(cn, [["render", dn], ["__scopeId", "data-v-ac63e34
2642
2667
  ])
2643
2668
  ]));
2644
2669
  }
2645
- }), Qn = /* @__PURE__ */ ue(zn, [["__scopeId", "data-v-e6e1f7ac"]]);
2646
- function el() {
2647
- const t = he(), l = ce(), d = Pe(), s = k(() => l.userName || ""), a = k(() => l.userInfo), h = k(() => t.appName), i = k(() => d.isLoggedIn), v = k(() => t.isDark), m = k(() => t.theme), f = k(() => t.isCollapsed), _ = k(() => t.layout);
2670
+ }), rl = /* @__PURE__ */ ue(On, [["__scopeId", "data-v-e6e1f7ac"]]);
2671
+ function il() {
2672
+ const t = he(), n = ce(), m = De(), o = w(() => n.userName || ""), s = w(() => n.userInfo), h = w(() => t.appName), i = w(() => m.isLoggedIn), v = w(() => t.isDark), d = w(() => t.theme), f = w(() => t.isCollapsed), _ = w(() => t.layout);
2648
2673
  return {
2649
- userName: s,
2650
- userInfo: a,
2674
+ userName: o,
2675
+ userInfo: s,
2651
2676
  appName: h,
2652
2677
  isLoggedIn: i,
2653
2678
  isDark: v,
2654
- theme: m,
2679
+ theme: d,
2655
2680
  isCollapsed: f,
2656
2681
  layout: _,
2657
2682
  toggleTheme: () => {
@@ -2662,109 +2687,109 @@ function el() {
2662
2687
  }
2663
2688
  };
2664
2689
  }
2665
- function tl() {
2690
+ function cl() {
2666
2691
  const t = ce();
2667
2692
  return {
2668
- isLoggedIn: k(() => t.isLoggedIn)
2693
+ isLoggedIn: w(() => t.isLoggedIn)
2669
2694
  };
2670
2695
  }
2671
- function sl(t, l = {}) {
2672
- const { rules: d, onSubmit: s } = l, a = y(), h = Ye({ ...t }), i = y(!1), v = y(!1), m = y(!1), f = () => {
2673
- u(), m.value = !1, v.value = !0;
2696
+ function ul(t, n = {}) {
2697
+ const { rules: m, onSubmit: o } = n, s = g(), h = Je({ ...t }), i = g(!1), v = g(!1), d = g(!1), f = () => {
2698
+ u(), d.value = !1, v.value = !0;
2674
2699
  }, _ = (A) => {
2675
- Object.assign(h, A), m.value = !0, v.value = !0;
2676
- }, g = () => {
2700
+ Object.assign(h, A), d.value = !0, v.value = !0;
2701
+ }, k = () => {
2677
2702
  v.value = !1, u();
2678
2703
  }, u = () => {
2679
2704
  var A;
2680
- Object.keys(t).forEach((O) => {
2681
- h[O] = t[O];
2682
- }), (A = a.value) == null || A.resetFields();
2705
+ Object.keys(t).forEach((j) => {
2706
+ h[j] = t[j];
2707
+ }), (A = s.value) == null || A.resetFields();
2683
2708
  };
2684
2709
  return {
2685
- formRef: a,
2710
+ formRef: s,
2686
2711
  formData: h,
2687
- rules: d,
2712
+ rules: m,
2688
2713
  loading: i,
2689
2714
  visible: v,
2690
- isEdit: m,
2715
+ isEdit: d,
2691
2716
  openAdd: f,
2692
2717
  openEdit: _,
2693
- close: g,
2718
+ close: k,
2694
2719
  resetForm: u,
2695
2720
  handleSubmit: async () => {
2696
2721
  var A;
2697
2722
  try {
2698
- await ((A = a.value) == null ? void 0 : A.validate()), i.value = !0, await (s == null ? void 0 : s(h)), g();
2699
- } catch (O) {
2700
- console.error(O);
2723
+ await ((A = s.value) == null ? void 0 : A.validate()), i.value = !0, await (o == null ? void 0 : o(h)), k();
2724
+ } catch (j) {
2725
+ console.error(j);
2701
2726
  } finally {
2702
2727
  i.value = !1;
2703
2728
  }
2704
2729
  }
2705
2730
  };
2706
2731
  }
2707
- function ol(t) {
2708
- const { fetchData: l, defaultPageSize: d = 10 } = t, s = y(!1), a = y([]), h = y(0), i = y(1), v = y(d), m = Ye({}), f = async () => {
2709
- s.value = !0;
2732
+ function dl(t) {
2733
+ const { fetchData: n, defaultPageSize: m = 10 } = t, o = g(!1), s = g([]), h = g(0), i = g(1), v = g(m), d = Je({}), f = async () => {
2734
+ o.value = !0;
2710
2735
  try {
2711
2736
  const B = {
2712
- ...m,
2737
+ ...d,
2713
2738
  page: i.value,
2714
2739
  pageSize: v.value
2715
- }, R = await l(B);
2716
- a.value = R.list, h.value = R.total;
2740
+ }, W = await n(B);
2741
+ s.value = W.list, h.value = W.total;
2717
2742
  } catch (B) {
2718
2743
  console.error(B);
2719
2744
  } finally {
2720
- s.value = !1;
2745
+ o.value = !1;
2721
2746
  }
2722
2747
  }, _ = () => {
2723
2748
  i.value = 1, f();
2724
- }, g = () => {
2725
- Object.keys(m).forEach((B) => {
2726
- m[B] = void 0;
2749
+ }, k = () => {
2750
+ Object.keys(d).forEach((B) => {
2751
+ d[B] = void 0;
2727
2752
  }), i.value = 1, f();
2728
2753
  }, u = (B) => {
2729
2754
  i.value = B, f();
2730
- }, q = (B) => {
2755
+ }, K = (B) => {
2731
2756
  v.value = B, i.value = 1, f();
2732
2757
  }, A = () => {
2733
2758
  f();
2734
- }, O = k(() => ({
2759
+ }, j = w(() => ({
2735
2760
  current: i.value,
2736
2761
  pageSize: v.value,
2737
2762
  total: h.value
2738
2763
  }));
2739
2764
  return {
2740
- loading: s,
2741
- data: a,
2765
+ loading: o,
2766
+ data: s,
2742
2767
  total: h,
2743
2768
  currentPage: i,
2744
2769
  pageSize: v,
2745
- searchParams: m,
2746
- pagination: O,
2770
+ searchParams: d,
2771
+ pagination: j,
2747
2772
  getData: f,
2748
2773
  handleSearch: _,
2749
- handleReset: g,
2774
+ handleReset: k,
2750
2775
  handlePageChange: u,
2751
- handleSizeChange: q,
2776
+ handleSizeChange: K,
2752
2777
  refresh: A
2753
2778
  };
2754
2779
  }
2755
- const Qe = ze("locale", () => {
2756
- const t = N.get("locale") || "zh-CN", l = Ut(t), d = y(t), s = zt(), { t: a, messages: h, setLocale: i, mergeMessages: v } = Pt(), m = k(() => {
2757
- const u = s.find((q) => q.code === d.value);
2758
- return (u == null ? void 0 : u.name) || d.value;
2780
+ const st = Fe("locale", () => {
2781
+ const t = T.get("locale") || "zh-CN", n = At(t), m = g(t), o = Bt(), { t: s, messages: h, setLocale: i, mergeMessages: v } = Vt(), d = w(() => {
2782
+ const u = o.find((K) => K.code === m.value);
2783
+ return (u == null ? void 0 : u.name) || m.value;
2759
2784
  });
2760
2785
  return {
2761
- locale: d,
2762
- localeName: m,
2763
- locales: s,
2786
+ locale: m,
2787
+ localeName: d,
2788
+ locales: o,
2764
2789
  messages: h,
2765
- t: a,
2790
+ t: s,
2766
2791
  changeLocale: (u) => {
2767
- d.value = u, i(u), N.set("locale", u), l.setLocale(u);
2792
+ m.value = u, i(u), T.set("locale", u), n.setLocale(u);
2768
2793
  },
2769
2794
  addMessages: (u) => {
2770
2795
  v(u);
@@ -2772,14 +2797,14 @@ const Qe = ze("locale", () => {
2772
2797
  initLocale: () => {
2773
2798
  i(t);
2774
2799
  },
2775
- provider: l
2800
+ provider: n
2776
2801
  };
2777
- }), Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2802
+ }), Rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2778
2803
  __proto__: null,
2779
- useLocaleStore: Qe
2804
+ useLocaleStore: st
2780
2805
  }, Symbol.toStringTag, { value: "Module" }));
2781
- function al() {
2782
- const t = Qe();
2806
+ function ml() {
2807
+ const t = st();
2783
2808
  return {
2784
2809
  /** 当前语言代码 */
2785
2810
  locale: t.locale,
@@ -2797,39 +2822,39 @@ function al() {
2797
2822
  addMessages: t.addMessages
2798
2823
  };
2799
2824
  }
2800
- function nl() {
2801
- return Qe().t;
2825
+ function pl() {
2826
+ return st().t;
2802
2827
  }
2803
- function ll(t) {
2804
- const l = ce(), d = _e();
2805
- return l.isLoggedIn ? d.hasPermission(t) : !1;
2828
+ function vl(t) {
2829
+ const n = ce(), m = _e();
2830
+ return n.isLoggedIn ? m.hasPermission(t) : !1;
2806
2831
  }
2807
- function rl(t) {
2832
+ function hl(t) {
2808
2833
  return ce().isLoggedIn;
2809
2834
  }
2810
- function il() {
2835
+ function _l() {
2811
2836
  return !0;
2812
2837
  }
2813
- const vt = [
2838
+ const ft = [
2814
2839
  {
2815
2840
  path: "/login",
2816
2841
  name: "Login",
2817
- component: () => Promise.resolve().then(() => wn),
2842
+ component: () => Promise.resolve().then(() => En),
2818
2843
  meta: {
2819
2844
  title: "登录",
2820
2845
  hidden: !0
2821
2846
  }
2822
2847
  }
2823
- ], ht = {
2848
+ ], gt = {
2824
2849
  path: "/",
2825
2850
  name: "Layout",
2826
- component: () => Promise.resolve().then(() => on),
2851
+ component: () => Promise.resolve().then(() => mn),
2827
2852
  redirect: "/dashboard",
2828
2853
  children: [
2829
2854
  {
2830
2855
  path: "/dashboard",
2831
2856
  name: "Dashboard",
2832
- component: () => import("./index-DaSr411h.js"),
2857
+ component: () => import("./index-Biperpfs.js"),
2833
2858
  meta: {
2834
2859
  title: "仪表盘",
2835
2860
  icon: "dashboard",
@@ -2840,7 +2865,7 @@ const vt = [
2840
2865
  {
2841
2866
  path: "/system/user",
2842
2867
  name: "SystemUser",
2843
- component: () => import("./index-HqCkg98V.js"),
2868
+ component: () => import("./index-BL_15V_t.js"),
2844
2869
  meta: {
2845
2870
  title: "用户管理",
2846
2871
  icon: "user",
@@ -2850,7 +2875,7 @@ const vt = [
2850
2875
  {
2851
2876
  path: "/system/role",
2852
2877
  name: "SystemRole",
2853
- component: () => import("./index-D2ArmTvR.js"),
2878
+ component: () => import("./index-Bv0RBhQX.js"),
2854
2879
  meta: {
2855
2880
  title: "角色管理",
2856
2881
  icon: "role",
@@ -2860,7 +2885,7 @@ const vt = [
2860
2885
  {
2861
2886
  path: "/system/menu",
2862
2887
  name: "SystemMenu",
2863
- component: () => import("./index-BIRzoxFQ.js"),
2888
+ component: () => import("./index-BTlDtwrl.js"),
2864
2889
  meta: {
2865
2890
  title: "菜单管理",
2866
2891
  icon: "menu",
@@ -2871,18 +2896,18 @@ const vt = [
2871
2896
  {
2872
2897
  path: "/:pathMatch(.*)*",
2873
2898
  name: "CatchAll",
2874
- component: () => Promise.resolve().then(() => pt),
2899
+ component: () => Promise.resolve().then(() => _t),
2875
2900
  meta: {
2876
2901
  title: "404",
2877
2902
  hidden: !0
2878
2903
  }
2879
2904
  }
2880
2905
  ]
2881
- }, cl = [
2906
+ }, fl = [
2882
2907
  {
2883
2908
  path: "/dashboard",
2884
2909
  name: "Dashboard",
2885
- component: () => import("./index-DaSr411h.js"),
2910
+ component: () => import("./index-Biperpfs.js"),
2886
2911
  meta: {
2887
2912
  title: "仪表盘",
2888
2913
  icon: "dashboard",
@@ -2902,7 +2927,7 @@ const vt = [
2902
2927
  {
2903
2928
  path: "user",
2904
2929
  name: "SystemUser",
2905
- component: () => import("./index-HqCkg98V.js"),
2930
+ component: () => import("./index-BL_15V_t.js"),
2906
2931
  meta: {
2907
2932
  title: "用户管理",
2908
2933
  icon: "user",
@@ -2912,7 +2937,7 @@ const vt = [
2912
2937
  {
2913
2938
  path: "role",
2914
2939
  name: "SystemRole",
2915
- component: () => import("./index-D2ArmTvR.js"),
2940
+ component: () => import("./index-Bv0RBhQX.js"),
2916
2941
  meta: {
2917
2942
  title: "角色管理",
2918
2943
  icon: "role",
@@ -2922,7 +2947,7 @@ const vt = [
2922
2947
  {
2923
2948
  path: "menu",
2924
2949
  name: "SystemMenu",
2925
- component: () => import("./index-BIRzoxFQ.js"),
2950
+ component: () => import("./index-BTlDtwrl.js"),
2926
2951
  meta: {
2927
2952
  title: "菜单管理",
2928
2953
  icon: "menu",
@@ -2931,7 +2956,7 @@ const vt = [
2931
2956
  }
2932
2957
  ]
2933
2958
  }
2934
- ], Tn = [
2959
+ ], Kn = [
2935
2960
  {
2936
2961
  menuCode: "dashboard",
2937
2962
  menuName: "仪表盘",
@@ -2979,20 +3004,20 @@ const vt = [
2979
3004
  }
2980
3005
  ]
2981
3006
  }
2982
- ], _t = Ge({
2983
- history: Xe(),
2984
- routes: [...vt, ht],
3007
+ ], yt = Ze({
3008
+ history: Qe(),
3009
+ routes: [...ft, gt],
2985
3010
  scrollBehavior: () => ({ left: 0, top: 0 })
2986
- }), Fn = ["/login"];
2987
- _t.beforeEach(async (t, l, d) => {
2988
- const s = he();
2989
- if (s.initTheme(), lt())
3011
+ }), jn = ["/login"];
3012
+ yt.beforeEach(async (t, n, m) => {
3013
+ const o = he();
3014
+ if (o.initTheme(), ct())
2990
3015
  if (t.path === "/login")
2991
- d({ path: "/" });
3016
+ m({ path: "/" });
2992
3017
  else {
2993
- const a = ce();
2994
- a.isLoggedIn || (a.setUserInfo({
2995
- appId: Ee(),
3018
+ const s = ce();
3019
+ s.isLoggedIn || (s.setUserInfo({
3020
+ appId: Ne(),
2996
3021
  userId: "1",
2997
3022
  userName: "管理员",
2998
3023
  departmentName: "技术部",
@@ -3000,23 +3025,23 @@ _t.beforeEach(async (t, l, d) => {
3000
3025
  mobilePhone: "13800138000",
3001
3026
  positionName: "管理员",
3002
3027
  avatar: ""
3003
- }), _e().setMenuList(Tn)), t.name && t.meta.keepAlive && s.addCachedView(t.name), d();
3028
+ }), _e().setMenuList(Kn)), t.name && t.meta.keepAlive && o.addCachedView(t.name), m();
3004
3029
  }
3005
3030
  else
3006
- Fn.includes(t.path) ? d() : d("/login");
3031
+ jn.includes(t.path) ? m() : m("/login");
3007
3032
  });
3008
- function ul() {
3009
- const t = Ge({
3010
- history: Xe(),
3011
- routes: [...vt, ht]
3033
+ function gl() {
3034
+ const t = Ze({
3035
+ history: Qe(),
3036
+ routes: [...ft, gt]
3012
3037
  });
3013
- _t.matcher = t.matcher;
3038
+ yt.matcher = t.matcher;
3014
3039
  }
3015
- function dl(t, l = {}) {
3016
- const d = l.indexPath || "/dashboard", s = l.logoSrc, a = {
3040
+ function yl(t, n = {}) {
3041
+ const m = n.indexPath || "/dashboard", o = n.logoSrc, s = {
3017
3042
  path: "/:pathMatch(.*)*",
3018
3043
  name: "CatchAll",
3019
- component: () => Promise.resolve().then(() => pt),
3044
+ component: () => Promise.resolve().then(() => _t),
3020
3045
  meta: {
3021
3046
  title: "404"
3022
3047
  }
@@ -3027,81 +3052,81 @@ function dl(t, l = {}) {
3027
3052
  component: ie({
3028
3053
  name: "LayoutWrapper",
3029
3054
  render() {
3030
- return Lt(mt, { logoSrc: s || Ue("/vite.svg") });
3055
+ return Ut(ht, { logoSrc: o || ze("/vite.svg") });
3031
3056
  }
3032
3057
  }),
3033
- redirect: d,
3034
- children: [...t, a]
3058
+ redirect: m,
3059
+ children: [...t, s]
3035
3060
  };
3036
3061
  }
3037
- function ml(t, l = {}) {
3038
- const d = l.base || gt();
3039
- return Ge({
3040
- history: Xe(d),
3062
+ function bl(t, n = {}) {
3063
+ const m = n.base || kt();
3064
+ return Ze({
3065
+ history: Qe(m),
3041
3066
  routes: t,
3042
3067
  scrollBehavior: () => ({ left: 0, top: 0 })
3043
3068
  });
3044
3069
  }
3045
- const Dn = ["login", "404", "403", "/login", "/404", "/403"];
3046
- function An(t, l) {
3047
- if (l.includes(t)) return !0;
3048
- const d = t.startsWith("/") ? t.slice(1) : t;
3049
- return l.includes(d);
3070
+ const Wn = ["login", "404", "403", "/login", "/404", "/403"];
3071
+ function qn(t, n) {
3072
+ if (n.includes(t)) return !0;
3073
+ const m = t.startsWith("/") ? t.slice(1) : t;
3074
+ return n.includes(m);
3050
3075
  }
3051
- function pl(t, l = {}) {
3052
- const d = l.whiteList || Dn;
3053
- t.beforeEach(async (s, a, h) => {
3054
- const i = he(), v = ce(), m = _e(), f = i.loginPath || l.loginPath || "/login";
3055
- if (i.initTheme(), nt())
3056
- if (s.path === f || s.name === "Login")
3076
+ function wl(t, n = {}) {
3077
+ const m = n.whiteList || Wn;
3078
+ t.beforeEach(async (o, s, h) => {
3079
+ const i = he(), v = ce(), d = _e(), f = i.loginPath || n.loginPath || "/login";
3080
+ if (i.initTheme(), it())
3081
+ if (o.path === f || o.name === "Login")
3057
3082
  h({ name: "Dashboard" });
3058
3083
  else if (v.isLoggedIn) {
3059
- if (!m.hasMenu)
3084
+ if (!d.hasMenu)
3060
3085
  try {
3061
- const g = l.fetchMenu ? await l.fetchMenu() : await tt(l.appId);
3062
- m.setMenuList(g);
3063
- } catch (g) {
3064
- console.warn("补拉菜单失败:", g);
3086
+ const k = n.fetchMenu ? await n.fetchMenu() : await at(n.appId);
3087
+ d.setMenuList(k);
3088
+ } catch (k) {
3089
+ console.warn("补拉菜单失败:", k);
3065
3090
  }
3066
- s.name && s.meta.keepAlive && i.addCachedView(s.name), h();
3091
+ o.name && o.meta.keepAlive && i.addCachedView(o.name), h();
3067
3092
  } else
3068
3093
  try {
3069
- if (l.fetchUserInfo) {
3070
- const g = await l.fetchUserInfo();
3071
- v.setUserInfo(g);
3094
+ if (n.fetchUserInfo) {
3095
+ const k = await n.fetchUserInfo();
3096
+ v.setUserInfo(k);
3072
3097
  } else {
3073
- const g = await yt();
3074
- v.setUserInfo(g);
3098
+ const k = await xt();
3099
+ v.setUserInfo(k);
3075
3100
  }
3076
- if (l.fetchMenu) {
3077
- const g = await l.fetchMenu();
3078
- m.setMenuList(g);
3101
+ if (n.fetchMenu) {
3102
+ const k = await n.fetchMenu();
3103
+ d.setMenuList(k);
3079
3104
  } else {
3080
- const g = await tt(l.appId);
3081
- m.setMenuList(g);
3105
+ const k = await at(n.appId);
3106
+ d.setMenuList(k);
3082
3107
  }
3083
- l.onLoginSuccess && l.onLoginSuccess(), s.name && s.meta.keepAlive && i.addCachedView(s.name), h({ ...s, replace: !0 });
3084
- } catch (g) {
3085
- console.error("获取用户信息失败:", g), v.clearUserInfo(), m.clearMenu(), rt(), h({ name: "Login", query: { redirect: s.fullPath } });
3108
+ n.onLoginSuccess && n.onLoginSuccess(), o.name && o.meta.keepAlive && i.addCachedView(o.name), h({ ...o, replace: !0 });
3109
+ } catch (k) {
3110
+ console.error("获取用户信息失败:", k), v.clearUserInfo(), d.clearMenu(), ut(), h({ name: "Login", query: { redirect: o.fullPath } });
3086
3111
  }
3087
3112
  else
3088
- An(s.path, d) || s.name === "Login" || s.name === "NotFound" || s.name === "Forbidden" ? h() : h({ name: "Login", query: { redirect: s.fullPath } });
3113
+ qn(o.path, m) || o.name === "Login" || o.name === "NotFound" || o.name === "Forbidden" ? h() : h({ name: "Login", query: { redirect: o.fullPath } });
3089
3114
  }), t.afterEach(() => {
3090
3115
  });
3091
3116
  }
3092
- var Bn = /* @__PURE__ */ ((t) => (t[t.ENABLED = 1] = "ENABLED", t[t.DISABLED = 0] = "DISABLED", t))(Bn || {}), Vn = /* @__PURE__ */ ((t) => (t[t.UNKNOWN = 0] = "UNKNOWN", t[t.MALE = 1] = "MALE", t[t.FEMALE = 2] = "FEMALE", t))(Vn || {}), On = /* @__PURE__ */ ((t) => (t[t.DIRECTORY = 0] = "DIRECTORY", t[t.MENU = 1] = "MENU", t[t.BUTTON = 2] = "BUTTON", t))(On || {});
3093
- const vl = {
3117
+ var Hn = /* @__PURE__ */ ((t) => (t[t.ENABLED = 1] = "ENABLED", t[t.DISABLED = 0] = "DISABLED", t))(Hn || {}), Yn = /* @__PURE__ */ ((t) => (t[t.UNKNOWN = 0] = "UNKNOWN", t[t.MALE = 1] = "MALE", t[t.FEMALE = 2] = "FEMALE", t))(Yn || {}), Gn = /* @__PURE__ */ ((t) => (t[t.DIRECTORY = 0] = "DIRECTORY", t[t.MENU = 1] = "MENU", t[t.BUTTON = 2] = "BUTTON", t))(Gn || {});
3118
+ const kl = {
3094
3119
  1: "启用",
3095
3120
  0: "禁用"
3096
- }, hl = {
3121
+ }, xl = {
3097
3122
  0: "未知",
3098
3123
  1: "男",
3099
3124
  2: "女"
3100
- }, _l = {
3125
+ }, Cl = {
3101
3126
  0: "目录",
3102
3127
  1: "菜单",
3103
3128
  2: "按钮"
3104
- }, fl = [
3129
+ }, $l = [
3105
3130
  {
3106
3131
  label: "启用",
3107
3132
  value: 1
@@ -3112,7 +3137,7 @@ const vl = {
3112
3137
  value: 0
3113
3138
  /* DISABLED */
3114
3139
  }
3115
- ], gl = [
3140
+ ], Ll = [
3116
3141
  {
3117
3142
  label: "未知",
3118
3143
  value: 0
@@ -3128,7 +3153,7 @@ const vl = {
3128
3153
  value: 2
3129
3154
  /* FEMALE */
3130
3155
  }
3131
- ], yl = [
3156
+ ], Ml = [
3132
3157
  {
3133
3158
  label: "目录",
3134
3159
  value: 0
@@ -3144,37 +3169,49 @@ const vl = {
3144
3169
  value: 2
3145
3170
  /* BUTTON */
3146
3171
  }
3147
- ], bl = {
3148
- mounted(t, l) {
3172
+ ], Sl = {
3173
+ mounted(t, n) {
3149
3174
  var i, v;
3150
- const d = ce(), s = _e();
3151
- if (!d.isLoggedIn) {
3175
+ const m = ce(), o = _e();
3176
+ if (!m.isLoggedIn) {
3152
3177
  (i = t.parentNode) == null || i.removeChild(t);
3153
3178
  return;
3154
3179
  }
3155
- const a = l.value, h = Array.isArray(a) ? a : [a];
3156
- s.hasPermission(h) || (v = t.parentNode) == null || v.removeChild(t);
3180
+ const s = n.value, h = Array.isArray(s) ? s : [s];
3181
+ o.hasPermission(h) || (v = t.parentNode) == null || v.removeChild(t);
3157
3182
  }
3158
3183
  };
3159
- async function kl(t) {
3160
- await bt(t.basePath);
3161
- const l = st();
3162
- return l && kt(l), wt({
3184
+ async function Nl(t) {
3185
+ await Ct(t.basePath);
3186
+ const n = nt();
3187
+ n && $t(n), Lt({
3163
3188
  appId: t.appId,
3164
3189
  clientId: t.clientId,
3165
- apiBaseUrl: l || t.apiBaseUrl,
3190
+ apiBaseUrl: n || t.apiBaseUrl,
3166
3191
  basePath: t.basePath
3167
- }), t.basePath && xt(t.basePath), Promise.resolve().then(() => Ft).then(({ useAppStore: d }) => {
3168
- const s = d();
3192
+ }), t.basePath && Mt(t.basePath);
3193
+ const m = t.appId || Ne();
3194
+ if (m)
3195
+ try {
3196
+ const o = await Promise.race([
3197
+ St(m),
3198
+ new Promise((s) => setTimeout(() => s(null), 2e3))
3199
+ ]);
3200
+ o && typeof o == "object" && Nt(o);
3201
+ } catch (o) {
3202
+ console.warn("加载应用界面配置失败,使用内置默认", o);
3203
+ }
3204
+ return Promise.resolve().then(() => Kt).then(({ useAppStore: o }) => {
3205
+ const s = o();
3169
3206
  t.appName && s.setAppName(t.appName), t.indexPath && s.setIndexPath(t.indexPath), t.loginPath && s.setLoginPath(t.loginPath);
3170
- }), t.locale && Promise.resolve().then(() => Pn).then(({ useLocaleStore: d }) => {
3171
- d().changeLocale(t.locale);
3207
+ }), t.locale && Promise.resolve().then(() => Rn).then(({ useLocaleStore: o }) => {
3208
+ o().changeLocale(t.locale);
3172
3209
  }), {
3173
3210
  config: {
3174
3211
  appName: t.appName || "XTO App",
3175
- appId: Ee(),
3176
- clientId: ct(),
3177
- apiBaseUrl: st(),
3212
+ appId: Ne(),
3213
+ clientId: mt(),
3214
+ apiBaseUrl: nt(),
3178
3215
  basePath: t.basePath || "/",
3179
3216
  indexPath: t.indexPath || "/dashboard",
3180
3217
  loginPath: t.loginPath || "/login",
@@ -3184,46 +3221,46 @@ async function kl(t) {
3184
3221
  }
3185
3222
  export {
3186
3223
  he as A,
3187
- tl as B,
3188
- Pe as C,
3189
- sl as D,
3190
- al as E,
3191
- Zn as F,
3192
- Vn as G,
3193
- js as H,
3194
- Qe as I,
3224
+ cl as B,
3225
+ De as C,
3226
+ ul as D,
3227
+ ml as E,
3228
+ ll as F,
3229
+ Yn as G,
3230
+ Zs as H,
3231
+ st as I,
3195
3232
  _e as J,
3196
- ol as K,
3197
- mt as L,
3198
- On as M,
3233
+ dl as K,
3234
+ ht as L,
3235
+ Gn as M,
3199
3236
  ce as N,
3200
- Bn as S,
3201
- Jn as T,
3237
+ Hn as S,
3238
+ nl as T,
3202
3239
  ue as _,
3203
- fl as a,
3204
- yl as b,
3205
- Qn as c,
3206
- gl as d,
3207
- hl as e,
3208
- _l as f,
3209
- Sn as g,
3210
- at as h,
3211
- kn as i,
3212
- vl as j,
3213
- dl as k,
3214
- ml as l,
3215
- nl as m,
3216
- kl as n,
3217
- cl as o,
3218
- ll as p,
3219
- rl as q,
3220
- il as r,
3221
- ht as s,
3222
- Tn as t,
3223
- bl as u,
3224
- ul as v,
3225
- _t as w,
3226
- pl as x,
3227
- vt as y,
3228
- el as z
3240
+ $l as a,
3241
+ Ml as b,
3242
+ rl as c,
3243
+ Ll as d,
3244
+ xl as e,
3245
+ Cl as f,
3246
+ Fn as g,
3247
+ rt as h,
3248
+ Nn as i,
3249
+ kl as j,
3250
+ yl as k,
3251
+ bl as l,
3252
+ pl as m,
3253
+ Nl as n,
3254
+ fl as o,
3255
+ vl as p,
3256
+ hl as q,
3257
+ _l as r,
3258
+ gt as s,
3259
+ Kn as t,
3260
+ Sl as u,
3261
+ gl as v,
3262
+ yt as w,
3263
+ wl as x,
3264
+ ft as y,
3265
+ il as z
3229
3266
  };