@morningfast/platform 1.0.2 → 1.0.3

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.
@@ -8,18 +8,18 @@ import { t as h } from "./route-items-DXwaEe0Y.js";
8
8
  import { createRouter as g, createWebHistory as _, useRoute as v, useRouter as y } from "vue-router";
9
9
  import b from "nprogress";
10
10
  import x, { ElMessage as ee } from "element-plus";
11
- import { Fragment as S, Teleport as C, Transition as w, TransitionGroup as T, computed as E, createApp as D, createBlock as O, createCommentVNode as k, createElementBlock as A, createElementVNode as j, createTextVNode as M, createVNode as N, defineComponent as P, nextTick as F, normalizeClass as I, normalizeStyle as te, onBeforeUnmount as L, onMounted as ne, onUnmounted as re, openBlock as R, reactive as ie, ref as z, renderList as B, resolveComponent as V, resolveDynamicComponent as H, toDisplayString as U, unref as W, watch as G, watchEffect as ae, withCtx as K, withKeys as oe, withModifiers as q } from "vue";
12
- import { createPinia as se, defineStore as ce } from "pinia";
13
- import { MpDrawer as le, MpLoadingService as ue, registerMpFormFieldComponents as de } from "morningfast-plus/components";
14
- import { ArrowDown as fe, ArrowRight as pe, ArrowUp as me, Back as he, Brush as ge, Close as _e, Connection as ve, DArrowLeft as ye, DArrowRight as be, Document as xe, Expand as Se, Fold as Ce, FolderDelete as we, Grid as Te, House as Ee, Link as De, Monitor as Oe, Moon as ke, Operation as Ae, Refresh as je, RefreshRight as Me, Search as Ne, Setting as Pe, Sunny as Fe, SwitchButton as Ie, TopRight as Le, Upload as Re, User as ze, WarningFilled as Be } from "@element-plus/icons-vue";
15
- import Ve from "sortablejs";
16
- import { addGlobalUncaughtErrorHandler as He, registerMicroApps as Ue, start as We } from "qiankun";
17
- import Ge from "element-plus/es/locale/lang/zh-cn";
11
+ import { Fragment as S, Teleport as C, Transition as w, TransitionGroup as T, computed as E, createApp as D, createBlock as O, createCommentVNode as k, createElementBlock as A, createElementVNode as j, createTextVNode as M, createVNode as N, defineComponent as P, nextTick as F, normalizeClass as I, normalizeStyle as te, onBeforeUnmount as L, onMounted as R, onUnmounted as ne, openBlock as z, reactive as re, ref as B, renderList as V, resolveComponent as H, resolveDynamicComponent as U, toDisplayString as W, unref as G, watch as K, watchEffect as ie, withCtx as q, withKeys as ae, withModifiers as J } from "vue";
12
+ import { createPinia as oe, defineStore as se } from "pinia";
13
+ import { MpDrawer as ce, MpLoadingService as le, registerMpFormFieldComponents as ue } from "morningfast-plus/components";
14
+ import { ArrowDown as de, ArrowRight as fe, ArrowUp as pe, Back as me, Brush as he, Close as ge, Connection as _e, DArrowLeft as ve, DArrowRight as ye, Document as be, Expand as xe, Fold as Se, FolderDelete as Ce, Grid as we, House as Te, Link as Ee, Monitor as De, Moon as Oe, Operation as ke, Refresh as Ae, RefreshRight as je, Search as Me, Setting as Ne, Sunny as Pe, SwitchButton as Fe, TopRight as Ie, Upload as Le, User as Re, WarningFilled as ze } from "@element-plus/icons-vue";
15
+ import Be from "sortablejs";
16
+ import { addErrorHandler as Ve, registerMicroApps as He, start as Ue } from "qiankun";
17
+ import We from "element-plus/es/locale/lang/zh-cn";
18
18
  import "element-plus/dist/index.css";
19
19
  import "element-plus/theme-chalk/dark/css-vars.css";
20
20
  import "nprogress/nprogress.css";
21
21
  //#region src/main/auth/expired.ts
22
- function Ke(t) {
22
+ function Ge(t) {
23
23
  return r(() => {
24
24
  if (e(), t.currentRoute.value.path === "/login") return;
25
25
  let n = `${t.currentRoute.value.fullPath || "/"}`;
@@ -31,15 +31,15 @@ function Ke(t) {
31
31
  }
32
32
  //#endregion
33
33
  //#region src/main/app/runtime-config.ts
34
- var qe = { apiBaseUrl: "/api" };
35
- function Je(e) {
36
- qe = e;
34
+ var Ke = { apiBaseUrl: "/api" };
35
+ function qe(e) {
36
+ Ke = e;
37
37
  }
38
- function Ye() {
39
- return qe;
38
+ function Je() {
39
+ return Ke;
40
40
  }
41
- var { http: Xe, createApi: Ze, requestManager: Qe } = i({
42
- baseURL: Ye().apiBaseUrl,
41
+ var { http: Ye, createApi: Xe, requestManager: Ze } = i({
42
+ baseURL: Je().apiBaseUrl,
43
43
  getToken: n,
44
44
  onError(e) {
45
45
  ee.error(e);
@@ -53,24 +53,24 @@ var { http: Xe, createApi: Ze, requestManager: Qe } = i({
53
53
  });
54
54
  }
55
55
  });
56
- function $e() {
57
- Xe.defaults.baseURL = Ye().apiBaseUrl;
56
+ function Qe() {
57
+ Ye.defaults.baseURL = Je().apiBaseUrl;
58
58
  }
59
59
  //#endregion
60
60
  //#region src/main/router/guard.ts
61
- var et = "/login", tt = "/403";
62
- function nt(e) {
61
+ var $e = "/login", et = "/403";
62
+ function tt(e) {
63
63
  e.beforeEach(async (e, t) => {
64
- b.start(), e.path !== t.path && Qe.setCurrentPage(e.path);
64
+ b.start(), e.path !== t.path && Ze.setCurrentPage(e.path);
65
65
  let n = a(), r = !!e.meta.public;
66
66
  if (n.initialized || await n.initAuth(), !n.isAuthenticated && !r) return {
67
- path: et,
67
+ path: $e,
68
68
  query: { redirect: e.fullPath }
69
69
  };
70
- if (n.isAuthenticated && e.path === et) return { path: "/" };
70
+ if (n.isAuthenticated && e.path === $e) return { path: "/" };
71
71
  let i = e.meta.permission;
72
- return rt(i, n.hasPermission) ? !0 : {
73
- path: tt,
72
+ return nt(i, n.hasPermission) ? !0 : {
73
+ path: et,
74
74
  query: { redirect: e.fullPath }
75
75
  };
76
76
  }), e.afterEach((e) => {
@@ -79,38 +79,38 @@ function nt(e) {
79
79
  b.done();
80
80
  });
81
81
  }
82
- function rt(e, t) {
82
+ function nt(e, t) {
83
83
  return e ? Array.isArray(e) ? e.every((e) => t(e)) : t(e) : !0;
84
84
  }
85
85
  //#endregion
86
86
  //#region src/main/stores/tabs.ts
87
- var J = "/dashboard", it = "tabs-state";
88
- function at() {
87
+ var Y = "/dashboard", rt = "tabs-state";
88
+ function it() {
89
89
  return {
90
- path: J,
91
- fullPath: J,
90
+ path: Y,
91
+ fullPath: Y,
92
92
  title: "首页",
93
93
  icon: "House"
94
94
  };
95
95
  }
96
- function ot() {
96
+ function at() {
97
97
  return {
98
- tabs: [at()],
99
- activeTab: J,
98
+ tabs: [it()],
99
+ activeTab: Y,
100
100
  lastActiveTab: ""
101
101
  };
102
102
  }
103
- function st(e) {
104
- let t = ot();
103
+ function ot(e) {
104
+ let t = at();
105
105
  if (!e) return t;
106
- let n = Array.isArray(e.tabs) ? e.tabs.filter(Boolean).map(ct) : [], r = lt([at(), ...n]).sort((e, t) => e.path === "/dashboard" ? -1 : +(t.path === "/dashboard"));
106
+ let n = Array.isArray(e.tabs) ? e.tabs.filter(Boolean).map(st) : [], r = ct([it(), ...n]).sort((e, t) => e.path === "/dashboard" ? -1 : +(t.path === "/dashboard"));
107
107
  return {
108
108
  tabs: r,
109
109
  activeTab: r.some((t) => t.path === e.activeTab) ? String(e.activeTab || "/dashboard") : r[0]?.path || "/dashboard",
110
110
  lastActiveTab: r.some((t) => t.path === e.lastActiveTab) ? String(e.lastActiveTab || "") : ""
111
111
  };
112
112
  }
113
- function ct(e) {
113
+ function st(e) {
114
114
  return {
115
115
  path: String(e.path || "/dashboard"),
116
116
  fullPath: String(e.fullPath || e.path || "/dashboard"),
@@ -118,11 +118,11 @@ function ct(e) {
118
118
  icon: e.icon ? String(e.icon) : void 0
119
119
  };
120
120
  }
121
- function lt(e) {
121
+ function ct(e) {
122
122
  let t = /* @__PURE__ */ new Set();
123
123
  return e.filter((e) => t.has(e.path) ? !1 : (t.add(e.path), !0));
124
124
  }
125
- function ut(e) {
125
+ function lt(e) {
126
126
  return {
127
127
  tabs: e.tabs.map((e) => ({
128
128
  path: e.path,
@@ -134,10 +134,10 @@ function ut(e) {
134
134
  lastActiveTab: e.lastActiveTab
135
135
  };
136
136
  }
137
- var dt = ce("tabs", () => {
138
- let e = z([at()]), t = z(J), n = z(""), r = z(!1), i = E(() => e.value.map((e) => e.path));
137
+ var ut = se("tabs", () => {
138
+ let e = B([it()]), t = B(Y), n = B(""), r = B(!1), i = E(() => e.value.map((e) => e.path));
139
139
  async function a() {
140
- r.value && await o(it, ut({
140
+ r.value && await o(rt, lt({
141
141
  tabs: e.value,
142
142
  activeTab: t.value,
143
143
  lastActiveTab: n.value
@@ -145,7 +145,7 @@ var dt = ce("tabs", () => {
145
145
  }
146
146
  async function l() {
147
147
  if (r.value) return;
148
- let i = st(await s(it, null));
148
+ let i = ot(await s(rt, null));
149
149
  e.value = i.tabs, t.value = i.activeTab, n.value = i.lastActiveTab, r.value = !0, await a();
150
150
  }
151
151
  async function u(r) {
@@ -177,10 +177,10 @@ var dt = ce("tabs", () => {
177
177
  n >= 0 && (e.value = x(e.value.slice(0, n + 1)), y(), await a());
178
178
  }
179
179
  async function g() {
180
- e.value = [at()], t.value = J, n.value = "", await a();
180
+ e.value = [it()], t.value = Y, n.value = "", await a();
181
181
  }
182
182
  async function _() {
183
- e.value = [], t.value = "", n.value = "", await c(it);
183
+ e.value = [], t.value = "", n.value = "", await c(rt);
184
184
  }
185
185
  async function v(e) {
186
186
  t.value && t.value !== e && (n.value = t.value), t.value = e, await a();
@@ -192,7 +192,7 @@ var dt = ce("tabs", () => {
192
192
  e.value = x(e.value);
193
193
  }
194
194
  function x(e) {
195
- return lt([at(), ...e.filter((e) => e.path !== J)]);
195
+ return ct([it(), ...e.filter((e) => e.path !== Y)]);
196
196
  }
197
197
  return {
198
198
  activeTab: t,
@@ -210,7 +210,7 @@ var dt = ce("tabs", () => {
210
210
  tabPaths: i,
211
211
  tabs: e
212
212
  };
213
- }), ft = "theme-color", pt = "theme-mode", mt = "theme-position", ht = [
213
+ }), dt = "theme-color", ft = "theme-mode", pt = "theme-position", mt = [
214
214
  {
215
215
  label: "默认蓝",
216
216
  value: "#409EFF"
@@ -272,56 +272,56 @@ var dt = ce("tabs", () => {
272
272
  value: "#344256"
273
273
  }
274
274
  ];
275
- function gt() {
276
- return localStorage.getItem(ft) || "#409EFF";
275
+ function ht() {
276
+ return localStorage.getItem(dt) || "#409EFF";
277
277
  }
278
- function _t() {
279
- let e = localStorage.getItem(pt);
278
+ function gt() {
279
+ let e = localStorage.getItem(ft);
280
280
  return e === "light" || e === "dark" || e === "system" ? e : "light";
281
281
  }
282
+ function _t(e) {
283
+ localStorage.setItem(dt, e);
284
+ }
282
285
  function vt(e) {
283
286
  localStorage.setItem(ft, e);
284
287
  }
285
- function yt(e) {
286
- localStorage.setItem(pt, e);
287
- }
288
- function bt() {
289
- let e = localStorage.getItem(mt);
288
+ function yt() {
289
+ let e = localStorage.getItem(pt);
290
290
  return e === "none" || e === "header" || e === "sidebar" ? e : "none";
291
291
  }
292
- function xt(e) {
293
- localStorage.setItem(mt, e);
292
+ function bt(e) {
293
+ localStorage.setItem(pt, e);
294
294
  }
295
- function St() {
295
+ function xt() {
296
296
  return window.matchMedia("(prefers-color-scheme: dark)").matches;
297
297
  }
298
- function Ct(e) {
299
- return e === "dark" || e === "system" && St();
298
+ function St(e) {
299
+ return e === "dark" || e === "system" && xt();
300
300
  }
301
- function wt(e) {
302
- let t = Ct(e);
301
+ function Ct(e) {
302
+ let t = St(e);
303
303
  document.documentElement.classList.toggle("dark", t), document.documentElement.style.colorScheme = t ? "dark" : "light";
304
304
  }
305
- function Tt(e) {
305
+ function wt(e) {
306
306
  let t = document.documentElement, n = t.classList.contains("dark");
307
- t.style.setProperty("--el-color-primary", e), t.style.setProperty("--el-color-primary-light-3", Y(e, n ? "#000000" : "#ffffff", .3)), t.style.setProperty("--el-color-primary-light-5", Y(e, n ? "#000000" : "#ffffff", .5)), t.style.setProperty("--el-color-primary-light-7", Y(e, n ? "#000000" : "#ffffff", .7)), t.style.setProperty("--el-color-primary-light-8", Y(e, n ? "#000000" : "#ffffff", .8)), t.style.setProperty("--el-color-primary-light-9", Y(e, n ? "#000000" : "#ffffff", .9)), t.style.setProperty("--el-color-primary-dark-2", Y(e, n ? "#ffffff" : "#000000", .2));
307
+ t.style.setProperty("--el-color-primary", e), t.style.setProperty("--el-color-primary-light-3", X(e, n ? "#000000" : "#ffffff", .3)), t.style.setProperty("--el-color-primary-light-5", X(e, n ? "#000000" : "#ffffff", .5)), t.style.setProperty("--el-color-primary-light-7", X(e, n ? "#000000" : "#ffffff", .7)), t.style.setProperty("--el-color-primary-light-8", X(e, n ? "#000000" : "#ffffff", .8)), t.style.setProperty("--el-color-primary-light-9", X(e, n ? "#000000" : "#ffffff", .9)), t.style.setProperty("--el-color-primary-dark-2", X(e, n ? "#ffffff" : "#000000", .2));
308
308
  }
309
- function Et() {
310
- wt(_t()), Tt(gt()), Dt(bt());
309
+ function Tt() {
310
+ Ct(gt()), wt(ht()), Et(yt());
311
311
  }
312
- function Dt(e) {
312
+ function Et(e) {
313
313
  document.documentElement.setAttribute("data-theme-position", e);
314
314
  }
315
- function Ot(e = 50) {
315
+ function Dt(e = 50) {
316
316
  return new Promise((t) => {
317
317
  setTimeout(() => {
318
- Tt(gt()), t();
318
+ wt(ht()), t();
319
319
  }, e);
320
320
  });
321
321
  }
322
- async function kt(e, t) {
322
+ async function Ot(e, t) {
323
323
  if (!document.startViewTransition) {
324
- t(), await Ot();
324
+ t(), await Dt();
325
325
  return;
326
326
  }
327
327
  let n = e.clientX, r = e.clientY, i = Math.hypot(Math.max(n, innerWidth - n), Math.max(r, innerHeight - r));
@@ -336,16 +336,16 @@ async function kt(e, t) {
336
336
  fill: "both",
337
337
  pseudoElement: c ? "::view-transition-old(root)" : "::view-transition-new(root)"
338
338
  });
339
- }), await Ot();
339
+ }), await Dt();
340
340
  } catch {
341
- t(), await Ot();
341
+ t(), await Dt();
342
342
  }
343
343
  }
344
- function Y(e, t, n) {
345
- let [r, i, a] = At(e), [o, s, c] = At(t), l = (e, t) => Math.round(e * (1 - n) + t * n);
344
+ function X(e, t, n) {
345
+ let [r, i, a] = kt(e), [o, s, c] = kt(t), l = (e, t) => Math.round(e * (1 - n) + t * n);
346
346
  return `rgb(${l(r, o)}, ${l(i, s)}, ${l(a, c)})`;
347
347
  }
348
- function At(e) {
348
+ function kt(e) {
349
349
  let t = e.replace("#", ""), n = t.length === 3 ? t.split("").map((e) => e + e).join("") : t, r = Number.parseInt(n, 16);
350
350
  return [
351
351
  r >> 16 & 255,
@@ -355,8 +355,8 @@ function At(e) {
355
355
  }
356
356
  //#endregion
357
357
  //#region src/main/stores/app.ts
358
- var jt = "sidebar-collapsed", Mt = "menu-search-placement", Nt = "layout-mode", Pt = "top-menu-path", Ft = "(max-width: 768px)", It = null, X = ce("app", () => {
359
- let e = z(localStorage.getItem(jt) === "true"), t = z(!1), n = z(Lt()), r = z(!1), i = z("theme"), a = z(_t()), o = z(gt()), s = z(bt()), c = z(zt(localStorage.getItem(Nt))), l = z(localStorage.getItem(Mt) || "header"), u = z(localStorage.getItem(Pt) || ""), d = z(!0), f = E(() => Ct(a.value)), p = E(() => c.value === "top" ? ["header"] : ["header", "sidebar"]), m = E(() => c.value !== "top" && l.value === "sidebar");
358
+ var At = "sidebar-collapsed", jt = "menu-search-placement", Mt = "layout-mode", Nt = "top-menu-path", Pt = "(max-width: 768px)", Ft = null, Z = se("app", () => {
359
+ let e = B(localStorage.getItem(At) === "true"), t = B(!1), n = B(It()), r = B(!1), i = B("theme"), a = B(gt()), o = B(ht()), s = B(yt()), c = B(Rt(localStorage.getItem(Mt))), l = B(localStorage.getItem(jt) || "header"), u = B(localStorage.getItem(Nt) || ""), d = B(!0), f = E(() => St(a.value)), p = E(() => c.value === "top" ? ["header"] : ["header", "sidebar"]), m = E(() => c.value !== "top" && l.value === "sidebar");
360
360
  function h() {
361
361
  if (n.value) {
362
362
  t.value = !t.value;
@@ -365,7 +365,7 @@ var jt = "sidebar-collapsed", Mt = "menu-search-placement", Nt = "layout-mode",
365
365
  e.value = !e.value;
366
366
  }
367
367
  function g(t) {
368
- e.value = t, localStorage.setItem(jt, String(e.value));
368
+ e.value = t, localStorage.setItem(At, String(e.value));
369
369
  }
370
370
  function _() {
371
371
  t.value = !1;
@@ -380,29 +380,29 @@ var jt = "sidebar-collapsed", Mt = "menu-search-placement", Nt = "layout-mode",
380
380
  r.value = e;
381
381
  }
382
382
  function x(e) {
383
- a.value = e, yt(e), wt(e), Tt(o.value);
383
+ a.value = e, vt(e), Ct(e), wt(o.value);
384
384
  }
385
385
  function ee() {
386
- x(St() && a.value === "system" || f.value ? "light" : "dark");
386
+ x(xt() && a.value === "system" || f.value ? "light" : "dark");
387
387
  }
388
388
  function S(e) {
389
- o.value = e, vt(e), Tt(e);
389
+ o.value = e, _t(e), wt(e);
390
390
  }
391
391
  function C(e) {
392
- s.value = e, xt(e), Dt(e);
392
+ s.value = e, bt(e), Et(e);
393
393
  }
394
394
  function w(e) {
395
- c.value = e, localStorage.setItem(Nt, e), e === "top" && l.value === "sidebar" && T("header");
395
+ c.value = e, localStorage.setItem(Mt, e), e === "top" && l.value === "sidebar" && T("header");
396
396
  }
397
397
  function T(e) {
398
398
  let t = c.value === "top" ? "header" : e;
399
- l.value = t, localStorage.setItem(Mt, t);
399
+ l.value = t, localStorage.setItem(jt, t);
400
400
  }
401
401
  function D(e) {
402
- u.value = e, localStorage.setItem(Pt, e);
402
+ u.value = e, localStorage.setItem(Nt, e);
403
403
  }
404
404
  function O() {
405
- Et(), Rt();
405
+ Tt(), Lt();
406
406
  }
407
407
  return {
408
408
  closeMobileSidebar: _,
@@ -436,24 +436,24 @@ var jt = "sidebar-collapsed", Mt = "menu-search-placement", Nt = "layout-mode",
436
436
  toggleSidebar: h
437
437
  };
438
438
  });
439
- function Lt() {
440
- return typeof window > "u" ? !1 : window.matchMedia(Ft).matches;
439
+ function It() {
440
+ return typeof window > "u" ? !1 : window.matchMedia(Pt).matches;
441
441
  }
442
- function Rt() {
443
- if (typeof window > "u" || It) return;
444
- let e = window.matchMedia(Ft), t = X(), n = () => {
442
+ function Lt() {
443
+ if (typeof window > "u" || Ft) return;
444
+ let e = window.matchMedia(Pt), t = Z(), n = () => {
445
445
  t.isMobileViewport = e.matches, e.matches || t.closeMobileSidebar();
446
446
  };
447
- n(), e.addEventListener("change", n), It = () => {
448
- e.removeEventListener("change", n), It = null;
447
+ n(), e.addEventListener("change", n), Ft = () => {
448
+ e.removeEventListener("change", n), Ft = null;
449
449
  };
450
450
  }
451
- function zt(e) {
451
+ function Rt(e) {
452
452
  return e === "side" || e === "top" || e === "mix" ? e : "default";
453
453
  }
454
454
  //#endregion
455
455
  //#region src/main/stores/shortcut.ts
456
- var Bt = "shortcut-config", Vt = [
456
+ var zt = "shortcut-config", Bt = [
457
457
  {
458
458
  id: "search",
459
459
  name: "全局搜索",
@@ -478,10 +478,10 @@ var Bt = "shortcut-config", Vt = [
478
478
  enabled: !0,
479
479
  category: "other"
480
480
  }
481
- ], Ht = ce("shortcut", () => {
482
- let e = z(!0), t = z(Ut()), n = E(() => new Map(t.value.map((e) => [e.id, e])));
481
+ ], Vt = se("shortcut", () => {
482
+ let e = B(!0), t = B(Ht()), n = E(() => new Map(t.value.map((e) => [e.id, e])));
483
483
  function r() {
484
- let t = Wt();
484
+ let t = Ut();
485
485
  if (t && (typeof t.shortcutEnabled == "boolean" && (e.value = t.shortcutEnabled), Array.isArray(t.shortcuts))) for (let e of t.shortcuts) {
486
486
  let t = n.value.get(e.id);
487
487
  t && typeof e.enabled == "boolean" && (t.enabled = e.enabled);
@@ -508,7 +508,7 @@ var Bt = "shortcut-config", Vt = [
508
508
  enabled: e.enabled
509
509
  }))
510
510
  };
511
- localStorage.setItem(Bt, JSON.stringify(n));
511
+ localStorage.setItem(zt, JSON.stringify(n));
512
512
  }
513
513
  return {
514
514
  getShortcutKeys: s,
@@ -520,20 +520,20 @@ var Bt = "shortcut-config", Vt = [
520
520
  toggleShortcutEnabled: i
521
521
  };
522
522
  });
523
- function Ut() {
524
- return Vt.map((e) => ({ ...e }));
523
+ function Ht() {
524
+ return Bt.map((e) => ({ ...e }));
525
525
  }
526
- function Wt() {
526
+ function Ut() {
527
527
  try {
528
- let e = localStorage.getItem(Bt);
528
+ let e = localStorage.getItem(zt);
529
529
  return e ? JSON.parse(e) : null;
530
530
  } catch {
531
- return localStorage.removeItem(Bt), null;
531
+ return localStorage.removeItem(zt), null;
532
532
  }
533
533
  }
534
534
  //#endregion
535
535
  //#region src/main/utils/keyboard-shortcut.ts
536
- var Gt = {
536
+ var Wt = {
537
537
  Ctrl: {
538
538
  mac: "Cmd",
539
539
  windows: "Ctrl",
@@ -559,19 +559,19 @@ var Gt = {
559
559
  }
560
560
  }
561
561
  };
562
- function Kt() {
562
+ function Gt() {
563
563
  return typeof navigator > "u" ? !1 : /Mac|iPhone|iPad|iPod/i.test(navigator.platform);
564
564
  }
565
- function qt(e) {
566
- let t = Kt();
565
+ function Kt(e) {
566
+ let t = Gt();
567
567
  return e.split(" ").filter(Boolean).map((e) => {
568
- let n = Xt(e);
569
- if (!(n in Gt)) return {
568
+ let n = Yt(e);
569
+ if (!(n in Wt)) return {
570
570
  original: n,
571
571
  display: n,
572
572
  isModifier: !1
573
573
  };
574
- let r = Gt[n];
574
+ let r = Wt[n];
575
575
  return {
576
576
  original: n,
577
577
  display: t ? r.mac : r.windows,
@@ -580,23 +580,23 @@ function qt(e) {
580
580
  };
581
581
  });
582
582
  }
583
- function Jt(e, t = {}) {
583
+ function qt(e, t = {}) {
584
584
  let { separator: n = " ", useSymbol: r = !1 } = t;
585
- return qt(e).map((e) => r && e.symbol ? e.symbol : e.display).join(n);
585
+ return Kt(e).map((e) => r && e.symbol ? e.symbol : e.display).join(n);
586
586
  }
587
- function Yt(e, t) {
588
- let n = qt(t), r = n.find((e) => !e.isModifier);
587
+ function Jt(e, t) {
588
+ let n = Kt(t), r = n.find((e) => !e.isModifier);
589
589
  if (!r) return !1;
590
- let i = new Set(n.filter((e) => e.isModifier).map((e) => e.original)), a = Kt() ? e.metaKey : e.ctrlKey, o = e.altKey, s = e.shiftKey;
590
+ let i = new Set(n.filter((e) => e.isModifier).map((e) => e.original)), a = Gt() ? e.metaKey : e.ctrlKey, o = e.altKey, s = e.shiftKey;
591
591
  return i.has("Ctrl") !== a || i.has("Alt") !== o || i.has("Shift") !== s ? !1 : e.code === `Key${r.original.toUpperCase()}`;
592
592
  }
593
- function Xt(e) {
593
+ function Yt(e) {
594
594
  let t = e.toLowerCase();
595
595
  return t === "ctrl" || t === "cmd" || t === "command" || t === "meta" ? "Ctrl" : t === "alt" || t === "option" ? "Alt" : t === "shift" ? "Shift" : e.length === 1 ? e.toUpperCase() : e.charAt(0).toUpperCase() + e.slice(1);
596
596
  }
597
597
  //#endregion
598
598
  //#region src/main/assets/settings/theme-position-header.svg
599
- var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='56'%20height='7'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='7'%20y='6.5'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='11'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='19'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='27'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='4'%20y='13'%20width='56'%20height='31'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3crect%20x='8'%20y='18'%20width='17'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.16'/%3e%3crect%20x='8'%20y='26'%20width='30'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.12'/%3e%3c/svg%3e", Qt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='56'%20height='40'%20rx='2'%20fill='%23c5cede'%20fill-opacity='0.05'/%3e%3crect%20x='7'%20y='7'%20width='50'%20height='5'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.14'/%3e%3crect%20x='7'%20y='16'%20width='22'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.18'/%3e%3crect%20x='7'%20y='23'%20width='35'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.12'/%3e%3crect%20x='7'%20y='30'%20width='16'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.1'/%3e%3crect%20x='45'%20y='18'%20width='12'%20height='16'%20rx='2'%20fill='%23c5cede'%20fill-opacity='0.08'/%3e%3c/svg%3e", $t = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='11'%20height='40'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='6.5'%20y='7'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='6.5'%20y='11'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='14.5'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='18'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='4'%20width='43'%20height='40'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3crect%20x='21'%20y='10'%20width='14'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.16'/%3e%3crect%20x='21'%20y='18'%20width='24'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.12'/%3e%3crect%20x='21'%20y='26'%20width='18'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.1'/%3e%3c/svg%3e", en = ["src", "alt"], tn = /* @__PURE__ */ P({
599
+ var Xt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='56'%20height='7'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='7'%20y='6.5'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='11'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='19'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='27'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='4'%20y='13'%20width='56'%20height='31'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3crect%20x='8'%20y='18'%20width='17'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.16'/%3e%3crect%20x='8'%20y='26'%20width='30'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.12'/%3e%3c/svg%3e", Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='56'%20height='40'%20rx='2'%20fill='%23c5cede'%20fill-opacity='0.05'/%3e%3crect%20x='7'%20y='7'%20width='50'%20height='5'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.14'/%3e%3crect%20x='7'%20y='16'%20width='22'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.18'/%3e%3crect%20x='7'%20y='23'%20width='35'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.12'/%3e%3crect%20x='7'%20y='30'%20width='16'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.1'/%3e%3crect%20x='45'%20y='18'%20width='12'%20height='16'%20rx='2'%20fill='%23c5cede'%20fill-opacity='0.08'/%3e%3c/svg%3e", Qt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='11'%20height='40'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='6.5'%20y='7'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='6.5'%20y='11'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='14.5'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='18'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='4'%20width='43'%20height='40'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3crect%20x='21'%20y='10'%20width='14'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.16'/%3e%3crect%20x='21'%20y='18'%20width='24'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.12'/%3e%3crect%20x='21'%20y='26'%20width='18'%20height='4'%20rx='1'%20fill='%23c5cede'%20fill-opacity='0.1'/%3e%3c/svg%3e", $t = ["src", "alt"], en = /* @__PURE__ */ P({
600
600
  __name: "ThemedSvgImage",
601
601
  props: {
602
602
  src: {},
@@ -604,7 +604,7 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
604
604
  alt: { default: "" }
605
605
  },
606
606
  setup(e) {
607
- let t = e, n = /* @__PURE__ */ new Map(), r = z(t.src);
607
+ let t = e, n = /* @__PURE__ */ new Map(), r = B(t.src);
608
608
  async function i(e) {
609
609
  let t = n.get(e);
610
610
  if (t) return t;
@@ -617,7 +617,7 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
617
617
  let n = e.replaceAll("#409EFF", t);
618
618
  return `data:image/svg+xml;charset=utf-8,${encodeURIComponent(n)}`;
619
619
  }
620
- return ae((e) => {
620
+ return ie((e) => {
621
621
  let n = !1, o = t.src, s = t.primaryColor;
622
622
  r.value = o, i(o).then((e) => {
623
623
  n || (r.value = a(e, s));
@@ -626,94 +626,94 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
626
626
  }), e(() => {
627
627
  n = !0;
628
628
  });
629
- }), (t, n) => (R(), A("img", {
629
+ }), (t, n) => (z(), A("img", {
630
630
  src: r.value,
631
631
  alt: e.alt
632
- }, null, 8, en));
632
+ }, null, 8, $t));
633
633
  }
634
- }), nn = { class: "settings-section" }, rn = { class: "settings-mode-grid" }, an = ["onClick"], on = { class: "settings-section" }, sn = {
634
+ }), tn = { class: "settings-section" }, nn = { class: "settings-mode-grid" }, rn = ["onClick"], an = { class: "settings-section" }, on = {
635
635
  key: 0,
636
636
  class: "settings-section__header"
637
- }, cn = {
637
+ }, sn = {
638
638
  key: 1,
639
639
  class: "settings-position-grid"
640
- }, ln = ["onClick"], un = { class: "settings-position-card__label" }, dn = { class: "settings-section" }, fn = { class: "settings-color-grid" }, pn = ["onClick"], mn = { class: "settings-color-card__label" }, hn = { class: "settings-color-card__swatch settings-color-card__swatch--custom" }, gn = /* @__PURE__ */ P({
640
+ }, cn = ["onClick"], ln = { class: "settings-position-card__label" }, un = { class: "settings-section" }, dn = { class: "settings-color-grid" }, fn = ["onClick"], pn = { class: "settings-color-card__label" }, mn = { class: "settings-color-card__swatch settings-color-card__swatch--custom" }, hn = /* @__PURE__ */ P({
641
641
  __name: "AppearanceSettings",
642
642
  setup(e) {
643
- let t = X(), n = E(() => !ht.some((e) => e.value.toLowerCase() === t.themeColor.toLowerCase())), r = [
643
+ let t = Z(), n = E(() => !mt.some((e) => e.value.toLowerCase() === t.themeColor.toLowerCase())), r = [
644
644
  {
645
645
  label: "浅色",
646
646
  value: "light",
647
- icon: Fe
647
+ icon: Pe
648
648
  },
649
649
  {
650
650
  label: "深色",
651
651
  value: "dark",
652
- icon: ke
652
+ icon: Oe
653
653
  },
654
654
  {
655
655
  label: "跟随系统",
656
656
  value: "system",
657
- icon: Oe
657
+ icon: De
658
658
  }
659
659
  ], i = [
660
660
  {
661
661
  label: "不应用",
662
662
  value: "none",
663
- previewSrc: Qt
663
+ previewSrc: Zt
664
664
  },
665
665
  {
666
666
  label: "顶部",
667
667
  value: "header",
668
- previewSrc: Zt
668
+ previewSrc: Xt
669
669
  },
670
670
  {
671
671
  label: "侧边栏",
672
672
  value: "sidebar",
673
- previewSrc: $t
673
+ previewSrc: Qt
674
674
  }
675
675
  ];
676
676
  function a(e) {
677
677
  e && t.setThemeColor(e);
678
678
  }
679
679
  return (e, o) => {
680
- let s = V("el-icon"), c = V("el-color-picker");
681
- return R(), A(S, null, [
682
- j("div", nn, [o[0] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "主题模式"), j("span", { class: "settings-section__desc" }, "选择浅色、深色或跟随系统")], -1), j("div", rn, [(R(), A(S, null, B(r, (e) => j("button", {
680
+ let s = H("el-icon"), c = H("el-color-picker");
681
+ return z(), A(S, null, [
682
+ j("div", tn, [o[0] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "主题模式"), j("span", { class: "settings-section__desc" }, "选择浅色、深色或跟随系统")], -1), j("div", nn, [(z(), A(S, null, V(r, (e) => j("button", {
683
683
  key: e.value,
684
684
  type: "button",
685
- class: I(["settings-mode-card", { "is-active": W(t).themeMode === e.value }]),
686
- onClick: (n) => W(t).setThemeMode(e.value)
685
+ class: I(["settings-mode-card", { "is-active": G(t).themeMode === e.value }]),
686
+ onClick: (n) => G(t).setThemeMode(e.value)
687
687
  }, [N(s, { size: 20 }, {
688
- default: K(() => [(R(), O(H(e.icon)))]),
688
+ default: q(() => [(z(), O(U(e.icon)))]),
689
689
  _: 2
690
- }, 1024), j("strong", null, U(e.label), 1)], 10, an)), 64))])]),
691
- j("div", on, [W(t).isDark ? k("", !0) : (R(), A("div", sn, [...o[1] ||= [j("span", { class: "settings-section__title" }, "主题色应用", -1), j("span", { class: "settings-section__desc" }, "选择主题色应用位置", -1)]])), W(t).isDark ? k("", !0) : (R(), A("div", cn, [(R(), A(S, null, B(i, (e) => j("button", {
690
+ }, 1024), j("strong", null, W(e.label), 1)], 10, rn)), 64))])]),
691
+ j("div", an, [G(t).isDark ? k("", !0) : (z(), A("div", on, [...o[1] ||= [j("span", { class: "settings-section__title" }, "主题色应用", -1), j("span", { class: "settings-section__desc" }, "选择主题色应用位置", -1)]])), G(t).isDark ? k("", !0) : (z(), A("div", sn, [(z(), A(S, null, V(i, (e) => j("button", {
692
692
  key: e.value,
693
693
  type: "button",
694
- class: I(["settings-position-card", { "is-active": W(t).themeColorPosition === e.value }]),
695
- onClick: (n) => W(t).setThemeColorPosition(e.value)
696
- }, [N(tn, {
694
+ class: I(["settings-position-card", { "is-active": G(t).themeColorPosition === e.value }]),
695
+ onClick: (n) => G(t).setThemeColorPosition(e.value)
696
+ }, [N(en, {
697
697
  class: "settings-position-card__preview",
698
698
  src: e.previewSrc,
699
- "primary-color": W(t).themeColor
700
- }, null, 8, ["src", "primary-color"]), j("span", un, U(e.label), 1)], 10, ln)), 64))]))]),
701
- j("div", dn, [o[3] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "主题色"), j("span", { class: "settings-section__desc" }, "选择系统主题颜色")], -1), j("div", fn, [(R(!0), A(S, null, B(W(ht), (e) => (R(), A("button", {
699
+ "primary-color": G(t).themeColor
700
+ }, null, 8, ["src", "primary-color"]), j("span", ln, W(e.label), 1)], 10, cn)), 64))]))]),
701
+ j("div", un, [o[3] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "主题色"), j("span", { class: "settings-section__desc" }, "选择系统主题颜色")], -1), j("div", dn, [(z(!0), A(S, null, V(G(mt), (e) => (z(), A("button", {
702
702
  key: e.value,
703
703
  type: "button",
704
- class: I(["settings-color-card", { "is-active": W(t).themeColor === e.value }]),
705
- onClick: (n) => W(t).setThemeColor(e.value)
704
+ class: I(["settings-color-card", { "is-active": G(t).themeColor === e.value }]),
705
+ onClick: (n) => G(t).setThemeColor(e.value)
706
706
  }, [j("span", {
707
707
  class: "settings-color-card__swatch",
708
708
  style: te({ backgroundColor: e.value })
709
- }, null, 4), j("span", mn, U(e.label), 1)], 10, pn))), 128)), j("div", { class: I(["settings-color-card settings-color-card--custom", { "is-active": n.value }]) }, [
709
+ }, null, 4), j("span", pn, W(e.label), 1)], 10, fn))), 128)), j("div", { class: I(["settings-color-card settings-color-card--custom", { "is-active": n.value }]) }, [
710
710
  N(c, {
711
711
  class: "settings-color-card__picker",
712
- "model-value": W(t).themeColor,
712
+ "model-value": G(t).themeColor,
713
713
  "onUpdate:modelValue": a
714
714
  }, null, 8, ["model-value"]),
715
- j("span", hn, [N(s, { size: 18 }, {
716
- default: K(() => [N(W(ge))]),
715
+ j("span", mn, [N(s, { size: 18 }, {
716
+ default: q(() => [N(G(he))]),
717
717
  _: 1
718
718
  })]),
719
719
  o[2] ||= j("span", { class: "settings-color-card__label" }, "自定义", -1)
@@ -721,95 +721,95 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
721
721
  ], 64);
722
722
  };
723
723
  }
724
- }), _n = { class: "settings-section" }, vn = { class: "settings-inline-setting settings-inline-setting--compact" }, yn = /* @__PURE__ */ P({
724
+ }), gn = { class: "settings-section" }, _n = { class: "settings-inline-setting settings-inline-setting--compact" }, vn = /* @__PURE__ */ P({
725
725
  __name: "GeneralSettings",
726
726
  setup(e) {
727
- let t = z(na(!0));
727
+ let t = B($i(!0));
728
728
  function n(e) {
729
729
  let n = !!e;
730
- if (t.value = n, ra(n), n) {
731
- va();
730
+ if (t.value = n, ea(n), n) {
731
+ ha();
732
732
  return;
733
733
  }
734
- _a();
734
+ ma();
735
735
  }
736
736
  return (e, r) => {
737
- let i = V("el-switch");
738
- return R(), A("div", _n, [j("div", vn, [r[0] ||= j("div", null, [j("strong", null, "版本更新检查"), j("p", null, "定时检测新版本并提醒刷新")], -1), N(i, {
737
+ let i = H("el-switch");
738
+ return z(), A("div", gn, [j("div", _n, [r[0] ||= j("div", null, [j("strong", null, "版本更新检查"), j("p", null, "定时检测新版本并提醒刷新")], -1), N(i, {
739
739
  "model-value": t.value,
740
740
  "onUpdate:modelValue": n
741
741
  }, null, 8, ["model-value"])])]);
742
742
  };
743
743
  }
744
- }), bn = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='11'%20height='40'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='6.5'%20y='7'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='6.5'%20y='11'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='14.5'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='18'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='4'%20width='43'%20height='7'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='19.5'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='27.5'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='35.5'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='13'%20width='43'%20height='31'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3c/svg%3e", xn = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='11'%20height='40'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='6.5'%20y='7'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='6.5'%20y='11'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='14.5'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='18'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='4'%20width='43'%20height='40'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3c/svg%3e", Sn = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='56'%20height='7'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='7'%20y='6.5'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='11'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='19'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='27'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='4'%20y='13'%20width='56'%20height='31'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3c/svg%3e", Cn = { class: "settings-section" }, wn = { class: "settings-layout-grid" }, Tn = ["onClick"], En = { class: "settings-layout-card__label" }, Dn = { class: "settings-section" }, On = { class: "settings-inline-setting" }, kn = {
744
+ }), yn = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='11'%20height='40'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='6.5'%20y='7'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='6.5'%20y='11'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='14.5'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='18'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='4'%20width='43'%20height='7'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='19.5'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='27.5'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='35.5'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='13'%20width='43'%20height='31'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3c/svg%3e", bn = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='11'%20height='40'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='6.5'%20y='7'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='6.5'%20y='11'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='14.5'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='6.5'%20y='18'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='17'%20y='4'%20width='43'%20height='40'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3c/svg%3e", xn = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='48'%20rx='3'%20fill='%23c5cede'%20fill-opacity='0.04'/%3e%3crect%20x='4'%20y='4'%20width='56'%20height='7'%20rx='1.5'%20fill='%23409EFF'/%3e%3crect%20x='7'%20y='6.5'%20width='2'%20height='2'%20rx='1'%20fill='white'%20fill-opacity='0.95'/%3e%3crect%20x='11'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='19'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='27'%20y='7.25'%20width='6'%20height='1.5'%20rx='0.75'%20fill='white'%20fill-opacity='0.75'/%3e%3crect%20x='4'%20y='13'%20width='56'%20height='31'%20rx='1.5'%20fill='%23c5cede'%20fill-opacity='0.06'/%3e%3c/svg%3e", Sn = { class: "settings-section" }, Cn = { class: "settings-layout-grid" }, wn = ["onClick"], Tn = { class: "settings-layout-card__label" }, En = { class: "settings-section" }, Dn = { class: "settings-inline-setting" }, On = {
745
745
  key: 0,
746
746
  class: "settings-section"
747
- }, An = { class: "settings-menu-search-grid" }, jn = ["onClick"], Mn = /* @__PURE__ */ P({
747
+ }, kn = { class: "settings-menu-search-grid" }, An = ["onClick"], jn = /* @__PURE__ */ P({
748
748
  __name: "LayoutSettings",
749
749
  setup(e) {
750
- let t = X(), n = [
750
+ let t = Z(), n = [
751
751
  {
752
752
  label: "默认",
753
753
  value: "default",
754
- previewSrc: Qt
754
+ previewSrc: Zt
755
755
  },
756
756
  {
757
757
  label: "侧边导航",
758
758
  value: "side",
759
- previewSrc: xn
759
+ previewSrc: bn
760
760
  },
761
761
  {
762
762
  label: "顶部导航",
763
763
  value: "top",
764
- previewSrc: Sn
764
+ previewSrc: xn
765
765
  },
766
766
  {
767
767
  label: "混合导航",
768
768
  value: "mix",
769
- previewSrc: bn
769
+ previewSrc: yn
770
770
  }
771
771
  ], r = [{
772
772
  label: "顶部搜索",
773
773
  value: "header",
774
- icon: Ne
774
+ icon: Me
775
775
  }, {
776
776
  label: "侧边搜索",
777
777
  value: "sidebar",
778
- icon: Ae
778
+ icon: ke
779
779
  }];
780
780
  return (e, i) => {
781
- let a = V("el-switch"), o = V("el-icon");
782
- return R(), A(S, null, [
783
- j("div", Cn, [i[0] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "布局模式"), j("span", { class: "settings-section__desc" }, "切换侧边、顶部或混合导航")], -1), j("div", wn, [(R(), A(S, null, B(n, (e) => j("button", {
781
+ let a = H("el-switch"), o = H("el-icon");
782
+ return z(), A(S, null, [
783
+ j("div", Sn, [i[0] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "布局模式"), j("span", { class: "settings-section__desc" }, "切换侧边、顶部或混合导航")], -1), j("div", Cn, [(z(), A(S, null, V(n, (e) => j("button", {
784
784
  key: e.value,
785
785
  type: "button",
786
- class: I(["settings-layout-card", { "is-active": W(t).layoutMode === e.value }]),
787
- onClick: (n) => W(t).setLayoutMode(e.value)
788
- }, [N(tn, {
786
+ class: I(["settings-layout-card", { "is-active": G(t).layoutMode === e.value }]),
787
+ onClick: (n) => G(t).setLayoutMode(e.value)
788
+ }, [N(en, {
789
789
  class: "settings-layout-card__preview",
790
790
  src: e.previewSrc,
791
- "primary-color": W(t).themeColor
792
- }, null, 8, ["src", "primary-color"]), j("span", En, U(e.label), 1)], 10, Tn)), 64))])]),
793
- j("div", Dn, [j("div", On, [i[1] ||= j("div", null, [j("strong", null, "默认折叠侧边栏"), j("p", null, "适合屏幕较窄或想保留更多内容区空间")], -1), N(a, {
794
- "model-value": W(t).sidebarCollapsed,
795
- "onUpdate:modelValue": W(t).setSidebarCollapsed
791
+ "primary-color": G(t).themeColor
792
+ }, null, 8, ["src", "primary-color"]), j("span", Tn, W(e.label), 1)], 10, wn)), 64))])]),
793
+ j("div", En, [j("div", Dn, [i[1] ||= j("div", null, [j("strong", null, "默认折叠侧边栏"), j("p", null, "适合屏幕较窄或想保留更多内容区空间")], -1), N(a, {
794
+ "model-value": G(t).sidebarCollapsed,
795
+ "onUpdate:modelValue": G(t).setSidebarCollapsed
796
796
  }, null, 8, ["model-value", "onUpdate:modelValue"])])]),
797
- W(t).layoutMode === "top" ? k("", !0) : (R(), A("div", kn, [i[2] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "菜单搜索位置"), j("span", { class: "settings-section__desc" }, "顶部或侧边栏顶部搜索")], -1), j("div", An, [(R(), A(S, null, B(r, (e) => j("button", {
797
+ G(t).layoutMode === "top" ? k("", !0) : (z(), A("div", On, [i[2] ||= j("div", { class: "settings-section__header" }, [j("span", { class: "settings-section__title" }, "菜单搜索位置"), j("span", { class: "settings-section__desc" }, "顶部或侧边栏顶部搜索")], -1), j("div", kn, [(z(), A(S, null, V(r, (e) => j("button", {
798
798
  key: e.value,
799
799
  type: "button",
800
- class: I(["settings-mode-card", { "is-active": W(t).menuSearchPlacement === e.value }]),
801
- onClick: (n) => W(t).setMenuSearchPlacement(e.value)
800
+ class: I(["settings-mode-card", { "is-active": G(t).menuSearchPlacement === e.value }]),
801
+ onClick: (n) => G(t).setMenuSearchPlacement(e.value)
802
802
  }, [N(o, { size: 20 }, {
803
- default: K(() => [(R(), O(H(e.icon)))]),
803
+ default: q(() => [(z(), O(U(e.icon)))]),
804
804
  _: 2
805
- }, 1024), j("strong", null, U(e.label), 1)], 10, jn)), 64))])]))
805
+ }, 1024), j("strong", null, W(e.label), 1)], 10, An)), 64))])]))
806
806
  ], 64);
807
807
  };
808
808
  }
809
- }), Nn = { class: "shortcut-settings" }, Pn = { class: "shortcut-master-switch" }, Fn = { class: "shortcut-group__title" }, In = { class: "shortcut-list" }, Ln = { class: "shortcut-item__copy" }, Rn = { class: "shortcut-item__control" }, zn = ["aria-label"], Bn = /* @__PURE__ */ u(/* @__PURE__ */ P({
809
+ }), Mn = { class: "shortcut-settings" }, Nn = { class: "shortcut-master-switch" }, Pn = { class: "shortcut-group__title" }, Fn = { class: "shortcut-list" }, In = { class: "shortcut-item__copy" }, Ln = { class: "shortcut-item__control" }, Rn = ["aria-label"], zn = /* @__PURE__ */ u(/* @__PURE__ */ P({
810
810
  __name: "ShortcutSettings",
811
811
  setup(e) {
812
- let t = Ht(), n = {
812
+ let t = Vt(), n = {
813
813
  global: "全局",
814
814
  navigation: "导航",
815
815
  other: "其他"
@@ -826,26 +826,26 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
826
826
  }));
827
827
  });
828
828
  return (e, n) => {
829
- let i = V("el-switch");
830
- return R(), A("div", Nn, [j("div", Pn, [n[1] ||= j("div", { class: "shortcut-master-switch__copy" }, [j("strong", null, "快捷键"), j("span", null, "启用或停用全部键盘快捷操作")], -1), N(i, {
831
- "model-value": W(t).shortcutEnabled,
832
- onChange: n[0] ||= (e) => W(t).toggleShortcutEnabled()
833
- }, null, 8, ["model-value"])]), (R(!0), A(S, null, B(r.value, (e) => (R(), A("div", {
829
+ let i = H("el-switch");
830
+ return z(), A("div", Mn, [j("div", Nn, [n[1] ||= j("div", { class: "shortcut-master-switch__copy" }, [j("strong", null, "快捷键"), j("span", null, "启用或停用全部键盘快捷操作")], -1), N(i, {
831
+ "model-value": G(t).shortcutEnabled,
832
+ onChange: n[0] ||= (e) => G(t).toggleShortcutEnabled()
833
+ }, null, 8, ["model-value"])]), (z(!0), A(S, null, V(r.value, (e) => (z(), A("div", {
834
834
  key: e.category,
835
- class: I(["shortcut-group", { "is-disabled": !W(t).shortcutEnabled }])
836
- }, [j("div", Fn, U(e.label), 1), j("div", In, [(R(!0), A(S, null, B(e.shortcuts, (e) => (R(), A("div", {
835
+ class: I(["shortcut-group", { "is-disabled": !G(t).shortcutEnabled }])
836
+ }, [j("div", Pn, W(e.label), 1), j("div", Fn, [(z(!0), A(S, null, V(e.shortcuts, (e) => (z(), A("div", {
837
837
  key: e.id,
838
838
  class: "shortcut-item"
839
- }, [j("div", Ln, [j("strong", null, U(e.name), 1), j("span", null, U(e.description), 1)]), j("div", Rn, [j("div", {
839
+ }, [j("div", In, [j("strong", null, W(e.name), 1), j("span", null, W(e.description), 1)]), j("div", Ln, [j("div", {
840
840
  class: "shortcut-keys",
841
- "aria-label": W(Jt)(e.keys)
842
- }, [(R(!0), A(S, null, B(W(qt)(e.keys), (t, n) => (R(), A("kbd", {
841
+ "aria-label": G(qt)(e.keys)
842
+ }, [(z(!0), A(S, null, V(G(Kt)(e.keys), (t, n) => (z(), A("kbd", {
843
843
  key: `${e.id}-${t.original}-${n}`,
844
844
  class: "shortcut-key"
845
- }, U(t.symbol || t.display), 1))), 128))], 8, zn), N(i, {
845
+ }, W(t.symbol || t.display), 1))), 128))], 8, Rn), N(i, {
846
846
  "model-value": e.enabled,
847
- disabled: !W(t).shortcutEnabled,
848
- onChange: (n) => W(t).toggleShortcut(e.id)
847
+ disabled: !G(t).shortcutEnabled,
848
+ onChange: (n) => G(t).toggleShortcut(e.id)
849
849
  }, null, 8, [
850
850
  "model-value",
851
851
  "disabled",
@@ -853,17 +853,17 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
853
853
  ])])]))), 128))])], 2))), 128))]);
854
854
  };
855
855
  }
856
- }), [["__scopeId", "data-v-2b492d65"]]), Vn = /* @__PURE__ */ P({
856
+ }), [["__scopeId", "data-v-2b492d65"]]), Bn = /* @__PURE__ */ P({
857
857
  __name: "SystemSettingsDrawer",
858
858
  setup(e) {
859
- let t = X();
859
+ let t = Z();
860
860
  function n(e) {
861
861
  e || t.closeSettings();
862
862
  }
863
863
  return (e, r) => {
864
- let i = V("el-tab-pane"), a = V("el-tabs");
865
- return R(), O(W(le), {
866
- "model-value": W(t).settingsVisible,
864
+ let i = H("el-tab-pane"), a = H("el-tabs");
865
+ return z(), O(G(ce), {
866
+ "model-value": G(t).settingsVisible,
867
867
  title: "主题设置",
868
868
  direction: "rtl",
869
869
  size: "380px",
@@ -871,38 +871,38 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
871
871
  "show-footer": !1,
872
872
  "onUpdate:modelValue": n
873
873
  }, {
874
- default: K(() => [N(a, {
875
- modelValue: W(t).settingsActiveTab,
876
- "onUpdate:modelValue": r[0] ||= (e) => W(t).settingsActiveTab = e,
874
+ default: q(() => [N(a, {
875
+ modelValue: G(t).settingsActiveTab,
876
+ "onUpdate:modelValue": r[0] ||= (e) => G(t).settingsActiveTab = e,
877
877
  class: "settings-tabs"
878
878
  }, {
879
- default: K(() => [
879
+ default: q(() => [
880
880
  N(i, {
881
881
  label: "外观",
882
882
  name: "theme"
883
883
  }, {
884
- default: K(() => [N(gn)]),
884
+ default: q(() => [N(hn)]),
885
885
  _: 1
886
886
  }),
887
887
  N(i, {
888
888
  label: "布局",
889
889
  name: "layout"
890
890
  }, {
891
- default: K(() => [N(Mn)]),
891
+ default: q(() => [N(jn)]),
892
892
  _: 1
893
893
  }),
894
894
  N(i, {
895
895
  label: "通用",
896
896
  name: "general"
897
897
  }, {
898
- default: K(() => [N(yn)]),
898
+ default: q(() => [N(vn)]),
899
899
  _: 1
900
900
  }),
901
901
  N(i, {
902
902
  label: "快捷键",
903
903
  name: "shortcut"
904
904
  }, {
905
- default: K(() => [N(Bn)]),
905
+ default: q(() => [N(zn)]),
906
906
  _: 1
907
907
  })
908
908
  ]),
@@ -912,48 +912,48 @@ var Zt = "data:image/svg+xml,%3csvg%20viewBox='0%200%2064%2048'%20fill='none'%20
912
912
  }, 8, ["model-value"]);
913
913
  };
914
914
  }
915
- }), Hn = /* @__PURE__ */ P({
915
+ }), Vn = /* @__PURE__ */ P({
916
916
  __name: "AppContentView",
917
917
  props: { refreshKey: {} },
918
918
  setup(e) {
919
919
  return (t, n) => {
920
- let r = V("router-view"), i = V("el-main");
921
- return R(), O(i, { class: "app-layout__main" }, {
922
- default: K(() => [N(r, null, {
923
- default: K(({ Component: t, route: n }) => [(R(), O(H(t), { key: `${n.fullPath}:${e.refreshKey}` }))]),
920
+ let r = H("router-view"), i = H("el-main");
921
+ return z(), O(i, { class: "app-layout__main" }, {
922
+ default: q(() => [N(r, null, {
923
+ default: q(({ Component: t, route: n }) => [(z(), O(U(t), { key: `${n.fullPath}:${e.refreshKey}` }))]),
924
924
  _: 1
925
925
  })]),
926
926
  _: 1
927
927
  });
928
928
  };
929
929
  }
930
- }), Un = ["title"], Wn = /* @__PURE__ */ u(/* @__PURE__ */ P({
930
+ }), Hn = ["title"], Un = /* @__PURE__ */ u(/* @__PURE__ */ P({
931
931
  __name: "ThemeToggleButton",
932
932
  setup(e) {
933
- let t = X();
933
+ let t = Z();
934
934
  async function n(e) {
935
- await kt(e, () => {
935
+ await Ot(e, () => {
936
936
  t.toggleDarkMode();
937
937
  });
938
938
  }
939
939
  return (e, r) => {
940
- let i = V("el-icon");
941
- return R(), A("button", {
940
+ let i = H("el-icon");
941
+ return z(), A("button", {
942
942
  type: "button",
943
943
  class: "app-layout__header-tool-btn theme-icon-btn",
944
- title: W(t).isDark ? "切换浅色模式" : "切换深色模式",
944
+ title: G(t).isDark ? "切换浅色模式" : "切换深色模式",
945
945
  onClick: n
946
946
  }, [N(i, { size: 20 }, {
947
- default: K(() => [(R(), O(H(W(t).isDark ? W(Fe) : W(ke))))]),
947
+ default: q(() => [(z(), O(U(G(t).isDark ? G(Pe) : G(Oe))))]),
948
948
  _: 1
949
- })], 8, Un);
949
+ })], 8, Hn);
950
950
  };
951
951
  }
952
952
  }), [["__scopeId", "data-v-73aaf569"]]);
953
953
  //#endregion
954
954
  //#region src/main/layouts/composables/useAppMenus.ts
955
- function Gn() {
956
- let e = v(), t = y(), n = X(), r = a(), i = E(() => Kn(t.options.routes.find((e) => e.path === "/")?.children ?? [], "", r.hasPermission)), o = E(() => i.value), s = E(() => n.isMobileViewport || n.layoutMode !== "mix" ? i.value : i.value.find((e) => e.fullPath === n.selectedTopMenuPath)?.children ?? []), c = E(() => qn(i.value).filter((e) => !e.children?.length)), l = E(() => qn(s.value).filter((e) => !e.children?.length));
955
+ function Wn() {
956
+ let e = v(), t = y(), n = Z(), r = a(), i = E(() => Gn(t.options.routes.find((e) => e.path === "/")?.children ?? [], "", r.hasPermission)), o = E(() => i.value), s = E(() => n.isMobileViewport || n.layoutMode !== "mix" ? i.value : i.value.find((e) => e.fullPath === n.selectedTopMenuPath)?.children ?? []), c = E(() => Kn(i.value).filter((e) => !e.children?.length)), l = E(() => Kn(s.value).filter((e) => !e.children?.length));
957
957
  return {
958
958
  activeMenu: E(() => e.path),
959
959
  activeTopMenuPath: E(() => {
@@ -963,15 +963,15 @@ function Gn() {
963
963
  allMenus: i,
964
964
  flatMenus: c,
965
965
  flatSideMenus: l,
966
- findFirstLeafNode: Jn,
967
- findFirstLeafPath: Yn,
966
+ findFirstLeafNode: qn,
967
+ findFirstLeafPath: Jn,
968
968
  sideMenus: s,
969
969
  topMenus: o
970
970
  };
971
971
  }
972
- function Kn(e, t, n) {
973
- return e.filter((e) => !e.meta?.hidden && Zn(e, n)).map((e) => {
974
- let r = $n(e.path, t), i = e.children?.length ? Kn(e.children, r, n) : void 0;
972
+ function Gn(e, t, n) {
973
+ return e.filter((e) => !e.meta?.hidden && Xn(e, n)).map((e) => {
974
+ let r = Qn(e.path, t), i = e.children?.length ? Gn(e.children, r, n) : void 0;
975
975
  return {
976
976
  path: e.path,
977
977
  fullPath: r,
@@ -979,58 +979,58 @@ function Kn(e, t, n) {
979
979
  icon: e.meta?.icon ? String(e.meta.icon) : void 0,
980
980
  children: i
981
981
  };
982
- }).filter((t) => t.children?.length || !Qn(e, t.path));
982
+ }).filter((t) => t.children?.length || !Zn(e, t.path));
983
983
  }
984
- function qn(e) {
985
- return e.flatMap((e) => [e, ...qn(e.children ?? [])]);
984
+ function Kn(e) {
985
+ return e.flatMap((e) => [e, ...Kn(e.children ?? [])]);
986
986
  }
987
- function Jn(e) {
987
+ function qn(e) {
988
988
  if (!e.children?.length) return e;
989
989
  for (let t of e.children) {
990
- let e = Jn(t);
990
+ let e = qn(t);
991
991
  if (e) return e;
992
992
  }
993
993
  return null;
994
994
  }
995
- function Yn(e, t, n = "") {
995
+ function Jn(e, t, n = "") {
996
996
  for (let r of e) {
997
- let e = $n(r.path, n);
998
- if (e === t) return Xn(r, n);
997
+ let e = Qn(r.path, n);
998
+ if (e === t) return Yn(r, n);
999
999
  if (r.children?.length) {
1000
- let n = Yn(r.children, t, e);
1000
+ let n = Jn(r.children, t, e);
1001
1001
  if (n) return n;
1002
1002
  }
1003
1003
  }
1004
1004
  return null;
1005
1005
  }
1006
- function Xn(e, t) {
1007
- let n = $n(e.path, t);
1006
+ function Yn(e, t) {
1007
+ let n = Qn(e.path, t);
1008
1008
  if (e.component) return n;
1009
1009
  let r = e.children ?? [];
1010
1010
  for (let e of r) {
1011
- let t = $n(e.path, n);
1011
+ let t = Qn(e.path, n);
1012
1012
  if (e.component) return t;
1013
1013
  }
1014
1014
  for (let e of r) {
1015
- let t = Xn(e, n);
1015
+ let t = Yn(e, n);
1016
1016
  if (t) return t;
1017
1017
  }
1018
1018
  return null;
1019
1019
  }
1020
- function Zn(e, t) {
1020
+ function Xn(e, t) {
1021
1021
  let n = e.meta?.permission;
1022
1022
  return n ? Array.isArray(n) ? n.every((e) => t(String(e))) : t(String(n)) : !0;
1023
1023
  }
1024
- function Qn(e, t) {
1024
+ function Zn(e, t) {
1025
1025
  let n = e.find((e) => e.path === t);
1026
1026
  return !!(n?.redirect && !n.component && !n.children?.length);
1027
1027
  }
1028
- function $n(e, t) {
1028
+ function Qn(e, t) {
1029
1029
  return e.startsWith("/") ? e : `${t}/${e}`.replace(/\/+/g, "/");
1030
1030
  }
1031
1031
  //#endregion
1032
1032
  //#region src/main/layouts/components/AppBrandLogo.vue?vue&type=script&setup=true&lang.ts
1033
- var er = ["src", "alt"], tr = ["src", "alt"], nr = /* @__PURE__ */ u(/* @__PURE__ */ P({
1033
+ var $n = ["src", "alt"], er = ["src", "alt"], tr = /* @__PURE__ */ u(/* @__PURE__ */ P({
1034
1034
  __name: "AppBrandLogo",
1035
1035
  props: {
1036
1036
  src: {},
@@ -1047,71 +1047,71 @@ var er = ["src", "alt"], tr = ["src", "alt"], nr = /* @__PURE__ */ u(/* @__PURE_
1047
1047
  "--app-brand-logo-width": t.width,
1048
1048
  "--app-brand-logo-height": t.height
1049
1049
  }));
1050
- return (t, r) => (R(), A("span", {
1050
+ return (t, r) => (z(), A("span", {
1051
1051
  class: "app-brand-logo",
1052
1052
  style: te(n.value)
1053
1053
  }, [j("img", {
1054
1054
  src: e.src,
1055
1055
  alt: e.alt,
1056
1056
  class: I(["app-brand-logo__image", { "is-text-base": e.textInverted }])
1057
- }, null, 10, er), e.textInverted ? (R(), A("img", {
1057
+ }, null, 10, $n), e.textInverted ? (z(), A("img", {
1058
1058
  key: 0,
1059
1059
  src: e.src,
1060
1060
  alt: e.alt,
1061
1061
  class: "app-brand-logo__image app-brand-logo__image--text-inverted",
1062
1062
  "aria-hidden": "true"
1063
- }, null, 8, tr)) : k("", !0)], 4));
1064
- }
1065
- }), [["__scopeId", "data-v-a42b8639"]]), rr = {
1066
- Connection: ve,
1067
- Document: xe,
1068
- Grid: Te,
1069
- House: Ee,
1070
- Setting: Pe,
1071
- Upload: Re,
1072
- User: ze
1063
+ }, null, 8, er)) : k("", !0)], 4));
1064
+ }
1065
+ }), [["__scopeId", "data-v-a42b8639"]]), nr = {
1066
+ Connection: _e,
1067
+ Document: be,
1068
+ Grid: we,
1069
+ House: Te,
1070
+ Setting: Ne,
1071
+ Upload: Le,
1072
+ User: Re
1073
1073
  };
1074
- function Z(e) {
1075
- return e ? rr[e] ?? Ee : Ee;
1074
+ function Q(e) {
1075
+ return e ? nr[e] ?? Te : Te;
1076
1076
  }
1077
1077
  //#endregion
1078
1078
  //#region src/main/layouts/components/AppHeaderMenuNode.vue
1079
- var ir = /* @__PURE__ */ P({
1079
+ var rr = /* @__PURE__ */ P({
1080
1080
  name: "AppHeaderMenuNode",
1081
1081
  __name: "AppHeaderMenuNode",
1082
1082
  props: { node: {} },
1083
1083
  setup(e) {
1084
1084
  return (t, n) => {
1085
- let r = V("el-icon"), i = V("AppHeaderMenuNode", !0), a = V("el-sub-menu"), o = V("el-menu-item");
1086
- return e.node.children?.length ? (R(), O(a, {
1085
+ let r = H("el-icon"), i = H("AppHeaderMenuNode", !0), a = H("el-sub-menu"), o = H("el-menu-item");
1086
+ return e.node.children?.length ? (z(), O(a, {
1087
1087
  key: 0,
1088
1088
  index: e.node.fullPath
1089
1089
  }, {
1090
- title: K(() => [e.node.icon ? (R(), O(r, { key: 0 }, {
1091
- default: K(() => [(R(), O(H(W(Z)(e.node.icon))))]),
1090
+ title: q(() => [e.node.icon ? (z(), O(r, { key: 0 }, {
1091
+ default: q(() => [(z(), O(U(G(Q)(e.node.icon))))]),
1092
1092
  _: 1
1093
- })) : k("", !0), j("span", null, U(e.node.title), 1)]),
1094
- default: K(() => [(R(!0), A(S, null, B(e.node.children, (e) => (R(), O(i, {
1093
+ })) : k("", !0), j("span", null, W(e.node.title), 1)]),
1094
+ default: q(() => [(z(!0), A(S, null, V(e.node.children, (e) => (z(), O(i, {
1095
1095
  key: e.fullPath,
1096
1096
  node: e
1097
1097
  }, null, 8, ["node"]))), 128))]),
1098
1098
  _: 1
1099
- }, 8, ["index"])) : (R(), O(o, {
1099
+ }, 8, ["index"])) : (z(), O(o, {
1100
1100
  key: 1,
1101
1101
  index: e.node.fullPath
1102
1102
  }, {
1103
- default: K(() => [e.node.icon ? (R(), O(r, { key: 0 }, {
1104
- default: K(() => [(R(), O(H(W(Z)(e.node.icon))))]),
1103
+ default: q(() => [e.node.icon ? (z(), O(r, { key: 0 }, {
1104
+ default: q(() => [(z(), O(U(G(Q)(e.node.icon))))]),
1105
1105
  _: 1
1106
- })) : k("", !0), j("span", null, U(e.node.title), 1)]),
1106
+ })) : k("", !0), j("span", null, W(e.node.title), 1)]),
1107
1107
  _: 1
1108
1108
  }, 8, ["index"]));
1109
1109
  };
1110
1110
  }
1111
- }), ar = "data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.5%204.5V8.25C13.5%209.49264%2012.4926%2010.5%2011.25%2010.5H4.5'%20stroke='%23fff'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M7.5%207.5L4.5%2010.5L7.5%2013.5'%20stroke='%23fff'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", or = { class: "app-menu-search-item__icon" }, sr = { class: "app-menu-search-item__body" }, cr = {
1111
+ }), ir = "data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.5%204.5V8.25C13.5%209.49264%2012.4926%2010.5%2011.25%2010.5H4.5'%20stroke='%23fff'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M7.5%207.5L4.5%2010.5L7.5%2013.5'%20stroke='%23fff'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e", ar = { class: "app-menu-search-item__icon" }, or = { class: "app-menu-search-item__body" }, sr = {
1112
1112
  key: 0,
1113
1113
  class: "app-menu-search-item__actions"
1114
- }, lr = { class: "app-menu-search-item__enter" }, ur = ["src"], dr = /* @__PURE__ */ P({
1114
+ }, cr = { class: "app-menu-search-item__enter" }, lr = ["src"], ur = /* @__PURE__ */ P({
1115
1115
  __name: "AppMenuSearchItem",
1116
1116
  props: {
1117
1117
  active: { type: Boolean },
@@ -1126,8 +1126,8 @@ var ir = /* @__PURE__ */ P({
1126
1126
  setup(e, { emit: t }) {
1127
1127
  let n = t;
1128
1128
  return (t, r) => {
1129
- let i = V("el-icon");
1130
- return R(), A("div", {
1129
+ let i = H("el-icon");
1130
+ return z(), A("div", {
1131
1131
  class: I(["app-menu-search-item", { "is-active": e.active }]),
1132
1132
  onMouseenter: r[4] ||= (t) => n("enter", e.item)
1133
1133
  }, [j("div", {
@@ -1135,26 +1135,26 @@ var ir = /* @__PURE__ */ P({
1135
1135
  role: "button",
1136
1136
  tabindex: "0",
1137
1137
  onClick: r[1] ||= (t) => n("select", e.item),
1138
- onKeydown: [r[2] ||= oe(q((t) => n("select", e.item), ["prevent"]), ["enter"]), r[3] ||= oe(q((t) => n("select", e.item), ["prevent"]), ["space"])]
1138
+ onKeydown: [r[2] ||= ae(J((t) => n("select", e.item), ["prevent"]), ["enter"]), r[3] ||= ae(J((t) => n("select", e.item), ["prevent"]), ["space"])]
1139
1139
  }, [
1140
- j("span", or, [N(i, null, {
1141
- default: K(() => [(R(), O(H(W(Z)(e.item.icon))))]),
1140
+ j("span", ar, [N(i, null, {
1141
+ default: q(() => [(z(), O(U(G(Q)(e.item.icon))))]),
1142
1142
  _: 1
1143
1143
  })]),
1144
- j("span", sr, [j("strong", null, U(e.item.title), 1), j("span", null, U(e.item.fullPath), 1)]),
1144
+ j("span", or, [j("strong", null, W(e.item.title), 1), j("span", null, W(e.item.fullPath), 1)]),
1145
1145
  N(w, { name: "app-menu-search-actions" }, {
1146
- default: K(() => [e.active ? (R(), A("span", cr, [j("span", lr, [j("img", {
1147
- src: W(ar),
1146
+ default: q(() => [e.active ? (z(), A("span", sr, [j("span", cr, [j("img", {
1147
+ src: G(ir),
1148
1148
  alt: "",
1149
1149
  "aria-hidden": "true"
1150
- }, null, 8, ur)]), e.removable ? (R(), A("button", {
1150
+ }, null, 8, lr)]), e.removable ? (z(), A("button", {
1151
1151
  key: 0,
1152
1152
  class: "app-menu-search-item__remove",
1153
1153
  type: "button",
1154
1154
  "aria-label": "删除搜索历史",
1155
- onClick: r[0] ||= q((t) => n("remove", e.item), ["stop"])
1155
+ onClick: r[0] ||= J((t) => n("remove", e.item), ["stop"])
1156
1156
  }, [N(i, null, {
1157
- default: K(() => [N(W(_e))]),
1157
+ default: q(() => [N(G(ge))]),
1158
1158
  _: 1
1159
1159
  })])) : k("", !0)])) : k("", !0)]),
1160
1160
  _: 1
@@ -1162,39 +1162,39 @@ var ir = /* @__PURE__ */ P({
1162
1162
  ], 32)], 34);
1163
1163
  };
1164
1164
  }
1165
- }), fr = { class: "app-menu-search__control" }, pr = {
1165
+ }), dr = { class: "app-menu-search__control" }, fr = {
1166
1166
  key: 0,
1167
1167
  class: "app-menu-search__section"
1168
- }, mr = {
1168
+ }, pr = {
1169
1169
  key: 1,
1170
1170
  class: "app-menu-search__section"
1171
- }, hr = {
1171
+ }, mr = {
1172
1172
  key: 2,
1173
1173
  class: "app-menu-search__empty"
1174
- }, gr = { class: "app-menu-search__footer" }, _r = "menu-search-history", vr = 8, yr = 70, br = 28, xr = 520, Sr = /* @__PURE__ */ P({
1174
+ }, hr = { class: "app-menu-search__footer" }, gr = "menu-search-history", _r = 8, vr = 70, yr = 28, br = 520, xr = /* @__PURE__ */ P({
1175
1175
  __name: "AppMenuSearch",
1176
1176
  props: { modelValue: { type: Boolean } },
1177
1177
  emits: ["update:modelValue"],
1178
1178
  setup(e, { emit: t }) {
1179
- let n = e, r = t, i = y(), { flatMenus: a } = Gn(), o = z(), s = z(), c = z(""), l = z(0), u = z(null), d = z(ne()), f = E(() => c.value.trim().toLowerCase()), p = E(() => f.value ? a.value.filter((e) => {
1179
+ let n = e, r = t, i = y(), { flatMenus: a } = Wn(), o = B(), s = B(), c = B(""), l = B(0), u = B(null), d = B(R()), f = E(() => c.value.trim().toLowerCase()), p = E(() => f.value ? a.value.filter((e) => {
1180
1180
  let t = e.title.toLowerCase(), n = e.fullPath.toLowerCase();
1181
1181
  return t.includes(f.value) || n.includes(f.value);
1182
1182
  }) : []), m = E(() => c.value ? p.value : d.value), h = E(() => c.value ? !p.value.length : !d.value.length);
1183
- G(() => n.modelValue, (e) => {
1183
+ K(() => n.modelValue, (e) => {
1184
1184
  if (!e) {
1185
- ae();
1185
+ ie();
1186
1186
  return;
1187
1187
  }
1188
- d.value = ne(), c.value = "", u.value = d.value[0] ?? null, l.value = 0, document.body.classList.add("app-menu-search-open"), H(), F(() => {
1188
+ d.value = R(), c.value = "", u.value = d.value[0] ?? null, l.value = 0, document.body.classList.add("app-menu-search-open"), U(), F(() => {
1189
1189
  o.value?.focus?.(), s.value?.setScrollTop?.(0);
1190
1190
  });
1191
- }), G(p, (e) => {
1191
+ }), K(p, (e) => {
1192
1192
  u.value = e[0] ?? null, s.value?.setScrollTop?.(0);
1193
1193
  }), L(() => {
1194
- ae();
1194
+ ie();
1195
1195
  });
1196
1196
  function g() {
1197
- r("update:modelValue", !1), ae();
1197
+ r("update:modelValue", !1), ie();
1198
1198
  }
1199
1199
  function _(e) {
1200
1200
  u.value = e;
@@ -1204,10 +1204,10 @@ var ir = /* @__PURE__ */ P({
1204
1204
  }
1205
1205
  function b(e) {
1206
1206
  let t = d.value.filter((t) => t.fullPath !== e.fullPath);
1207
- re(t), u.value?.fullPath === e.fullPath && (u.value = t[0] ?? null);
1207
+ ne(t), u.value?.fullPath === e.fullPath && (u.value = t[0] ?? null);
1208
1208
  }
1209
1209
  function x() {
1210
- re([]), u.value = null;
1210
+ ne([]), u.value = null;
1211
1211
  }
1212
1212
  function ee(e) {
1213
1213
  l.value = e.scrollTop;
@@ -1228,19 +1228,19 @@ var ir = /* @__PURE__ */ P({
1228
1228
  function P(e) {
1229
1229
  let t = m.value;
1230
1230
  if (!t.length) return;
1231
- let n = ie((u.value ? t.findIndex((e) => e.fullPath === u.value?.fullPath) : -1) + e, 0, t.length - 1), r = t[n];
1231
+ let n = re((u.value ? t.findIndex((e) => e.fullPath === u.value?.fullPath) : -1) + e, 0, t.length - 1), r = t[n];
1232
1232
  r && (u.value = r, I(n));
1233
1233
  }
1234
1234
  function I(e) {
1235
- let t = br + e * yr, n = l.value, r = l.value + xr - yr;
1236
- t < n ? s.value?.setScrollTop?.(t) : t > r && s.value?.setScrollTop?.(t - xr + yr);
1235
+ let t = yr + e * vr, n = l.value, r = l.value + br - vr;
1236
+ t < n ? s.value?.setScrollTop?.(t) : t > r && s.value?.setScrollTop?.(t - br + vr);
1237
1237
  }
1238
1238
  function te(e) {
1239
- re([e, ...d.value.filter((t) => t.fullPath !== e.fullPath)].slice(0, vr));
1239
+ ne([e, ...d.value.filter((t) => t.fullPath !== e.fullPath)].slice(0, _r));
1240
1240
  }
1241
- function ne() {
1241
+ function R() {
1242
1242
  try {
1243
- let e = localStorage.getItem(_r);
1243
+ let e = localStorage.getItem(gr);
1244
1244
  if (!e) return [];
1245
1245
  let t = JSON.parse(e), n = new Set(a.value.map((e) => e.fullPath));
1246
1246
  return t.filter((e) => n.has(e.fullPath));
@@ -1248,35 +1248,35 @@ var ir = /* @__PURE__ */ P({
1248
1248
  return [];
1249
1249
  }
1250
1250
  }
1251
- function re(e) {
1251
+ function ne(e) {
1252
1252
  if (d.value = e, !e.length) {
1253
- localStorage.removeItem(_r);
1253
+ localStorage.removeItem(gr);
1254
1254
  return;
1255
1255
  }
1256
- localStorage.setItem(_r, JSON.stringify(e));
1256
+ localStorage.setItem(gr, JSON.stringify(e));
1257
1257
  }
1258
- function ie(e, t, n) {
1258
+ function re(e, t, n) {
1259
1259
  return Math.min(Math.max(e, t), n);
1260
1260
  }
1261
- function H() {
1261
+ function U() {
1262
1262
  window.removeEventListener("keydown", D, !0), window.addEventListener("keydown", D, !0);
1263
1263
  }
1264
- function ae() {
1264
+ function ie() {
1265
1265
  document.body.classList.remove("app-menu-search-open"), window.removeEventListener("keydown", D, !0);
1266
1266
  }
1267
1267
  return (t, n) => {
1268
- let r = V("el-icon"), i = V("el-input"), a = V("el-scrollbar");
1269
- return R(), O(C, { to: "body" }, [N(w, { name: "app-menu-search-fade" }, {
1270
- default: K(() => [e.modelValue ? (R(), A("section", {
1268
+ let r = H("el-icon"), i = H("el-input"), a = H("el-scrollbar");
1269
+ return z(), O(C, { to: "body" }, [N(w, { name: "app-menu-search-fade" }, {
1270
+ default: q(() => [e.modelValue ? (z(), A("section", {
1271
1271
  key: 0,
1272
1272
  class: "app-menu-search",
1273
1273
  tabindex: "-1",
1274
- onClick: q(g, ["self"])
1274
+ onClick: J(g, ["self"])
1275
1275
  }, [j("div", {
1276
1276
  class: "app-menu-search__panel",
1277
- onClick: n[1] ||= q(() => {}, ["stop"])
1277
+ onClick: n[1] ||= J(() => {}, ["stop"])
1278
1278
  }, [
1279
- j("div", fr, [N(i, {
1279
+ j("div", dr, [N(i, {
1280
1280
  ref_key: "searchInputRef",
1281
1281
  ref: o,
1282
1282
  modelValue: c.value,
@@ -1285,8 +1285,8 @@ var ir = /* @__PURE__ */ P({
1285
1285
  placeholder: "搜索页面名称或路径",
1286
1286
  clearable: ""
1287
1287
  }, {
1288
- prefix: K(() => [N(r, null, {
1289
- default: K(() => [N(W(Ne))]),
1288
+ prefix: q(() => [N(r, null, {
1289
+ default: q(() => [N(G(Me))]),
1290
1290
  _: 1
1291
1291
  })]),
1292
1292
  _: 1
@@ -1298,13 +1298,13 @@ var ir = /* @__PURE__ */ P({
1298
1298
  "max-height": "520px",
1299
1299
  onScroll: ee
1300
1300
  }, {
1301
- default: K(() => [
1302
- p.value.length ? (R(), A("div", pr, [n[2] ||= j("div", { class: "app-menu-search__section-title" }, "页面", -1), N(T, {
1301
+ default: q(() => [
1302
+ p.value.length ? (z(), A("div", fr, [n[2] ||= j("div", { class: "app-menu-search__section-title" }, "页面", -1), N(T, {
1303
1303
  name: "app-menu-search-list",
1304
1304
  tag: "div",
1305
1305
  class: "app-menu-search__list"
1306
1306
  }, {
1307
- default: K(() => [(R(!0), A(S, null, B(p.value, (e) => (R(), O(dr, {
1307
+ default: q(() => [(z(!0), A(S, null, V(p.value, (e) => (z(), O(ur, {
1308
1308
  key: e.fullPath,
1309
1309
  active: u.value?.fullPath === e.fullPath,
1310
1310
  item: e,
@@ -1313,7 +1313,7 @@ var ir = /* @__PURE__ */ P({
1313
1313
  }, null, 8, ["active", "item"]))), 128))]),
1314
1314
  _: 1
1315
1315
  })])) : k("", !0),
1316
- !c.value && d.value.length ? (R(), A("div", mr, [j("div", { class: "app-menu-search__section-header" }, [n[3] ||= j("div", { class: "app-menu-search__section-title" }, "搜索历史", -1), j("button", {
1316
+ !c.value && d.value.length ? (z(), A("div", pr, [j("div", { class: "app-menu-search__section-header" }, [n[3] ||= j("div", { class: "app-menu-search__section-title" }, "搜索历史", -1), j("button", {
1317
1317
  class: "app-menu-search__clear",
1318
1318
  type: "button",
1319
1319
  onClick: x
@@ -1322,7 +1322,7 @@ var ir = /* @__PURE__ */ P({
1322
1322
  tag: "div",
1323
1323
  class: "app-menu-search__list"
1324
1324
  }, {
1325
- default: K(() => [(R(!0), A(S, null, B(d.value, (e) => (R(), O(dr, {
1325
+ default: q(() => [(z(!0), A(S, null, V(d.value, (e) => (z(), O(ur, {
1326
1326
  key: e.fullPath,
1327
1327
  active: u.value?.fullPath === e.fullPath,
1328
1328
  item: e,
@@ -1333,19 +1333,19 @@ var ir = /* @__PURE__ */ P({
1333
1333
  }, null, 8, ["active", "item"]))), 128))]),
1334
1334
  _: 1
1335
1335
  })])) : k("", !0),
1336
- h.value ? (R(), A("div", hr, U(c.value ? "没有匹配的页面" : "没有搜索历史"), 1)) : k("", !0)
1336
+ h.value ? (z(), A("div", mr, W(c.value ? "没有匹配的页面" : "没有搜索历史"), 1)) : k("", !0)
1337
1337
  ]),
1338
1338
  _: 1
1339
1339
  }, 512),
1340
- j("div", gr, [
1340
+ j("div", hr, [
1341
1341
  n[5] ||= j("span", null, [j("kbd", null, "Enter"), M("选择")], -1),
1342
1342
  j("span", null, [
1343
1343
  N(r, null, {
1344
- default: K(() => [N(W(fe))]),
1344
+ default: q(() => [N(G(de))]),
1345
1345
  _: 1
1346
1346
  }),
1347
1347
  N(r, null, {
1348
- default: K(() => [N(W(me))]),
1348
+ default: q(() => [N(G(pe))]),
1349
1349
  _: 1
1350
1350
  }),
1351
1351
  n[4] ||= M("切换", -1)
@@ -1360,47 +1360,47 @@ var ir = /* @__PURE__ */ P({
1360
1360
  });
1361
1361
  //#endregion
1362
1362
  //#region src/main/layouts/composables/useShortcutLabel.ts
1363
- function Cr() {
1364
- let e = Ht();
1363
+ function Sr() {
1364
+ let e = Vt();
1365
1365
  return {
1366
1366
  isMac: E(() => typeof navigator > "u" ? !1 : /Mac|iPhone|iPad|iPod/i.test(navigator.platform)),
1367
- searchShortcutLabel: E(() => Jt(e.getShortcutKeys("search"), { useSymbol: !0 }))
1367
+ searchShortcutLabel: E(() => qt(e.getShortcutKeys("search"), { useSymbol: !0 }))
1368
1368
  };
1369
1369
  }
1370
1370
  //#endregion
1371
1371
  //#region src/main/layouts/components/AppMenuSearchTrigger.vue?vue&type=script&setup=true&lang.ts
1372
- var wr = { class: "app-menu-search-trigger__shortcut" }, Tr = /* @__PURE__ */ P({
1372
+ var Cr = { class: "app-menu-search-trigger__shortcut" }, wr = /* @__PURE__ */ P({
1373
1373
  __name: "AppMenuSearchTrigger",
1374
1374
  props: { layoutMode: {} },
1375
1375
  emits: ["open"],
1376
1376
  setup(e, { emit: t }) {
1377
- let n = t, { searchShortcutLabel: r } = Cr();
1377
+ let n = t, { searchShortcutLabel: r } = Sr();
1378
1378
  return (t, i) => {
1379
- let a = V("el-icon");
1380
- return R(), A("button", {
1379
+ let a = H("el-icon");
1380
+ return z(), A("button", {
1381
1381
  class: I(["app-menu-search-trigger", `app-menu-search-trigger--${e.layoutMode}`]),
1382
1382
  type: "button",
1383
1383
  "aria-label": "搜索页面",
1384
1384
  onClick: i[0] ||= (e) => n("open")
1385
1385
  }, [
1386
1386
  N(a, null, {
1387
- default: K(() => [N(W(Ne))]),
1387
+ default: q(() => [N(G(Me))]),
1388
1388
  _: 1
1389
1389
  }),
1390
1390
  i[1] ||= j("span", { class: "app-menu-search-trigger__text" }, "搜索页面", -1),
1391
- j("span", wr, U(W(r)), 1)
1391
+ j("span", Cr, W(G(r)), 1)
1392
1392
  ], 2);
1393
1393
  };
1394
1394
  }
1395
- }), Er = { class: "app-layout__header-left" }, Dr = {
1395
+ }), Tr = { class: "app-layout__header-left" }, Er = {
1396
1396
  key: 0,
1397
1397
  class: "app-layout__header-brand"
1398
- }, Or = ["title", "aria-label"], kr = { class: "app-layout__header-right" }, Ar = { class: "app-layout__user" }, jr = { class: "app-layout__user-copy" }, Mr = /* @__PURE__ */ P({
1398
+ }, Dr = ["title", "aria-label"], Or = { class: "app-layout__header-right" }, kr = { class: "app-layout__user" }, Ar = { class: "app-layout__user-copy" }, jr = /* @__PURE__ */ P({
1399
1399
  __name: "AppHeader",
1400
1400
  props: { breadcrumbItems: {} },
1401
1401
  setup(e) {
1402
- let t = e, n = X(), r = a(), i = l(), o = dt(), s = Ht(), c = y(), u = v(), d = z(!1), { activeTopMenuPath: f, findFirstLeafNode: p, findFirstLeafPath: m, topMenus: h } = Gn(), g = E(() => n.themeColorPosition === "header" || n.isDark), _ = E(() => g.value ? i.logoHeader : i.logoExpanded), b = E(() => g.value && _.value === i.logoExpanded);
1403
- ne(() => {
1402
+ let t = e, n = Z(), r = a(), i = l(), o = ut(), s = Vt(), c = y(), u = v(), d = B(!1), { activeTopMenuPath: f, findFirstLeafNode: p, findFirstLeafPath: m, topMenus: h } = Wn(), g = E(() => n.themeColorPosition === "header" || n.isDark), _ = E(() => g.value ? i.logoHeader : i.logoExpanded), b = E(() => g.value && _.value === i.logoExpanded);
1403
+ R(() => {
1404
1404
  s.initShortcuts(), window.addEventListener("keydown", D, { capture: !0 });
1405
1405
  }), L(() => {
1406
1406
  window.removeEventListener("keydown", D, { capture: !0 });
@@ -1425,128 +1425,128 @@ var wr = { class: "app-menu-search-trigger__shortcut" }, Tr = /* @__PURE__ */ P(
1425
1425
  d.value = !0;
1426
1426
  }
1427
1427
  function D(e) {
1428
- e.defaultPrevented || e.repeat || d.value || s.isShortcutEnabled("search") && Yt(e, s.getShortcutKeys("search")) && (e.preventDefault(), T());
1428
+ e.defaultPrevented || e.repeat || d.value || s.isShortcutEnabled("search") && Jt(e, s.getShortcutKeys("search")) && (e.preventDefault(), T());
1429
1429
  }
1430
1430
  return (t, a) => {
1431
- let o = V("el-icon"), s = V("el-menu"), c = V("el-menu-item"), l = V("el-breadcrumb-item"), p = V("el-breadcrumb"), m = V("el-avatar"), g = V("el-dropdown-item"), v = V("el-dropdown-menu"), y = V("el-dropdown"), E = V("el-header");
1432
- return R(), A(S, null, [N(E, { class: "app-layout__header" }, {
1433
- default: K(() => [
1434
- j("div", Er, [
1435
- W(n).layoutMode === "default" || W(n).layoutMode === "top" ? (R(), A("div", Dr, [N(nr, {
1431
+ let o = H("el-icon"), s = H("el-menu"), c = H("el-menu-item"), l = H("el-breadcrumb-item"), p = H("el-breadcrumb"), m = H("el-avatar"), g = H("el-dropdown-item"), v = H("el-dropdown-menu"), y = H("el-dropdown"), E = H("el-header");
1432
+ return z(), A(S, null, [N(E, { class: "app-layout__header" }, {
1433
+ default: q(() => [
1434
+ j("div", Tr, [
1435
+ G(n).layoutMode === "default" || G(n).layoutMode === "top" ? (z(), A("div", Er, [N(tr, {
1436
1436
  src: _.value,
1437
- alt: W(i).systemName,
1437
+ alt: G(i).systemName,
1438
1438
  "text-inverted": b.value
1439
1439
  }, null, 8, [
1440
1440
  "src",
1441
1441
  "alt",
1442
1442
  "text-inverted"
1443
1443
  ])])) : k("", !0),
1444
- W(n).layoutMode !== "top" || W(n).isMobileViewport ? (R(), A("button", {
1444
+ G(n).layoutMode !== "top" || G(n).isMobileViewport ? (z(), A("button", {
1445
1445
  key: 1,
1446
1446
  type: "button",
1447
1447
  class: "app-layout__header-tool-btn app-layout__header-tool-btn--collapse",
1448
- title: W(n).isMobileViewport ? "打开菜单" : W(n).sidebarCollapsed ? "展开侧边栏" : "折叠侧边栏",
1449
- "aria-label": W(n).isMobileViewport ? "打开菜单" : W(n).sidebarCollapsed ? "展开侧边栏" : "折叠侧边栏",
1450
- onClick: a[0] ||= (e) => W(n).toggleSidebar()
1448
+ title: G(n).isMobileViewport ? "打开菜单" : G(n).sidebarCollapsed ? "展开侧边栏" : "折叠侧边栏",
1449
+ "aria-label": G(n).isMobileViewport ? "打开菜单" : G(n).sidebarCollapsed ? "展开侧边栏" : "折叠侧边栏",
1450
+ onClick: a[0] ||= (e) => G(n).toggleSidebar()
1451
1451
  }, [N(o, null, {
1452
- default: K(() => [(R(), O(H(W(n).sidebarCollapsed && !W(n).isMobileViewport ? W(Se) : W(Ce))))]),
1452
+ default: q(() => [(z(), O(U(G(n).sidebarCollapsed && !G(n).isMobileViewport ? G(xe) : G(Se))))]),
1453
1453
  _: 1
1454
- })], 8, Or)) : k("", !0),
1455
- W(n).layoutMode === "top" && !W(n).isMobileViewport ? (R(), O(s, {
1454
+ })], 8, Dr)) : k("", !0),
1455
+ G(n).layoutMode === "top" && !G(n).isMobileViewport ? (z(), O(s, {
1456
1456
  key: 2,
1457
1457
  mode: "horizontal",
1458
1458
  ellipsis: !1,
1459
- "default-active": W(u).path,
1459
+ "default-active": G(u).path,
1460
1460
  class: "app-layout__header-menu",
1461
1461
  onSelect: C
1462
1462
  }, {
1463
- default: K(() => [(R(!0), A(S, null, B(W(h), (e) => (R(), O(ir, {
1463
+ default: q(() => [(z(!0), A(S, null, V(G(h), (e) => (z(), O(rr, {
1464
1464
  key: e.fullPath,
1465
1465
  node: e
1466
1466
  }, null, 8, ["node"]))), 128))]),
1467
1467
  _: 1
1468
- }, 8, ["default-active"])) : W(n).layoutMode === "mix" && !W(n).isMobileViewport ? (R(), O(s, {
1468
+ }, 8, ["default-active"])) : G(n).layoutMode === "mix" && !G(n).isMobileViewport ? (z(), O(s, {
1469
1469
  key: 3,
1470
1470
  mode: "horizontal",
1471
1471
  ellipsis: !1,
1472
- "default-active": W(f),
1472
+ "default-active": G(f),
1473
1473
  class: "app-layout__header-menu app-layout__header-menu--mix",
1474
1474
  onSelect: w
1475
1475
  }, {
1476
- default: K(() => [(R(!0), A(S, null, B(W(h), (e) => (R(), O(c, {
1476
+ default: q(() => [(z(!0), A(S, null, V(G(h), (e) => (z(), O(c, {
1477
1477
  key: e.fullPath,
1478
1478
  index: e.fullPath
1479
1479
  }, {
1480
- default: K(() => [M(U(e.title), 1)]),
1480
+ default: q(() => [M(W(e.title), 1)]),
1481
1481
  _: 2
1482
1482
  }, 1032, ["index"]))), 128))]),
1483
1483
  _: 1
1484
1484
  }, 8, ["default-active"])) : k("", !0),
1485
- W(n).layoutMode === "default" || W(n).layoutMode === "side" ? (R(), O(p, {
1485
+ G(n).layoutMode === "default" || G(n).layoutMode === "side" ? (z(), O(p, {
1486
1486
  key: 4,
1487
- "separator-icon": W(pe)
1487
+ "separator-icon": G(fe)
1488
1488
  }, {
1489
- default: K(() => [(R(!0), A(S, null, B(e.breadcrumbItems, (e, t) => (R(), O(l, {
1489
+ default: q(() => [(z(!0), A(S, null, V(e.breadcrumbItems, (e, t) => (z(), O(l, {
1490
1490
  key: e.path || String(e.name),
1491
1491
  to: x(e, t)
1492
1492
  }, {
1493
- default: K(() => [M(U(e.meta.title), 1)]),
1493
+ default: q(() => [M(W(e.meta.title), 1)]),
1494
1494
  _: 2
1495
1495
  }, 1032, ["to"]))), 128))]),
1496
1496
  _: 1
1497
1497
  }, 8, ["separator-icon"])) : k("", !0)
1498
1498
  ]),
1499
- W(n).layoutMode !== "mix" && !W(n).isSidebarMenuSearch ? (R(), A("div", {
1499
+ G(n).layoutMode !== "mix" && !G(n).isSidebarMenuSearch ? (z(), A("div", {
1500
1500
  key: 0,
1501
- class: I(["app-layout__header-search", `app-layout__header-search--${W(n).layoutMode}`])
1502
- }, [N(Tr, {
1503
- "layout-mode": W(n).layoutMode,
1501
+ class: I(["app-layout__header-search", `app-layout__header-search--${G(n).layoutMode}`])
1502
+ }, [N(wr, {
1503
+ "layout-mode": G(n).layoutMode,
1504
1504
  onOpen: T
1505
1505
  }, null, 8, ["layout-mode"])], 2)) : k("", !0),
1506
- j("div", kr, [
1507
- W(n).layoutMode === "mix" && !W(n).isSidebarMenuSearch ? (R(), O(Tr, {
1506
+ j("div", Or, [
1507
+ G(n).layoutMode === "mix" && !G(n).isSidebarMenuSearch ? (z(), O(wr, {
1508
1508
  key: 0,
1509
- "layout-mode": W(n).layoutMode,
1509
+ "layout-mode": G(n).layoutMode,
1510
1510
  onOpen: T
1511
1511
  }, null, 8, ["layout-mode"])) : k("", !0),
1512
1512
  j("button", {
1513
1513
  type: "button",
1514
1514
  class: "app-layout__header-tool-btn",
1515
1515
  title: "主题设置",
1516
- onClick: a[1] ||= (e) => W(n).openSettings("theme")
1516
+ onClick: a[1] ||= (e) => G(n).openSettings("theme")
1517
1517
  }, [N(o, {
1518
1518
  size: 18,
1519
1519
  class: "app-layout__header-tool-icon"
1520
1520
  }, {
1521
- default: K(() => [N(W(ge))]),
1521
+ default: q(() => [N(G(he))]),
1522
1522
  _: 1
1523
1523
  })]),
1524
- N(Wn),
1524
+ N(Un),
1525
1525
  N(y, { onCommand: ee }, {
1526
- dropdown: K(() => [N(v, null, {
1527
- default: K(() => [N(g, { disabled: "" }, {
1528
- default: K(() => [N(o, null, {
1529
- default: K(() => [N(W(Pe))]),
1526
+ dropdown: q(() => [N(v, null, {
1527
+ default: q(() => [N(g, { disabled: "" }, {
1528
+ default: q(() => [N(o, null, {
1529
+ default: q(() => [N(G(Ne))]),
1530
1530
  _: 1
1531
1531
  }), a[3] ||= M(" 个人设置 ", -1)]),
1532
1532
  _: 1
1533
1533
  }), N(g, { command: "logout" }, {
1534
- default: K(() => [N(o, null, {
1535
- default: K(() => [N(W(Ie))]),
1534
+ default: q(() => [N(o, null, {
1535
+ default: q(() => [N(G(Fe))]),
1536
1536
  _: 1
1537
1537
  }), a[4] ||= M(" 退出登录 ", -1)]),
1538
1538
  _: 1
1539
1539
  })]),
1540
1540
  _: 1
1541
1541
  })]),
1542
- default: K(() => [j("div", Ar, [
1542
+ default: q(() => [j("div", kr, [
1543
1543
  N(m, { size: 32 }, {
1544
- default: K(() => [M(U(W(r).userName.slice(0, 1)), 1)]),
1544
+ default: q(() => [M(W(G(r).userName.slice(0, 1)), 1)]),
1545
1545
  _: 1
1546
1546
  }),
1547
- j("div", jr, [j("strong", null, U(W(r).userName), 1), j("span", null, U(W(r).userRoleLabel), 1)]),
1547
+ j("div", Ar, [j("strong", null, W(G(r).userName), 1), j("span", null, W(G(r).userRoleLabel), 1)]),
1548
1548
  N(o, null, {
1549
- default: K(() => [N(W(fe))]),
1549
+ default: q(() => [N(G(de))]),
1550
1550
  _: 1
1551
1551
  })
1552
1552
  ])]),
@@ -1555,7 +1555,7 @@ var wr = { class: "app-menu-search-trigger__shortcut" }, Tr = /* @__PURE__ */ P(
1555
1555
  ])
1556
1556
  ]),
1557
1557
  _: 1
1558
- }), N(Sr, {
1558
+ }), N(xr, {
1559
1559
  modelValue: d.value,
1560
1560
  "onUpdate:modelValue": a[2] ||= (e) => d.value = e
1561
1561
  }, null, 8, ["modelValue"])], 64);
@@ -1564,40 +1564,40 @@ var wr = { class: "app-menu-search-trigger__shortcut" }, Tr = /* @__PURE__ */ P(
1564
1564
  });
1565
1565
  //#endregion
1566
1566
  //#region src/main/layouts/utils/menuSearch.ts
1567
- function Nr(e, t) {
1567
+ function Mr(e, t) {
1568
1568
  let n = t.trim().toLowerCase();
1569
1569
  if (!n) return [...e];
1570
1570
  let r = [];
1571
1571
  for (let t of e) {
1572
- let e = Nr(t.children ?? [], n);
1573
- !(Ir(t) && Fr(t, n)) && !e.length || r.push({
1572
+ let e = Mr(t.children ?? [], n);
1573
+ !(Fr(t) && Pr(t, n)) && !e.length || r.push({
1574
1574
  ...t,
1575
1575
  children: e.length ? e : void 0
1576
1576
  });
1577
1577
  }
1578
1578
  return r;
1579
1579
  }
1580
- function Pr(e, t) {
1581
- let n = Lr(e), r = t.trim();
1580
+ function Nr(e, t) {
1581
+ let n = Ir(e), r = t.trim();
1582
1582
  if (!r) return n;
1583
1583
  let i = Array.from(e), a = e.toLowerCase(), o = r.toLowerCase(), s = a.indexOf(o);
1584
- return s < 0 ? n : `${Lr(i.slice(0, s).join(""))}<mark class="app-menu-search-highlight">${Lr(i.slice(s, s + r.length).join(""))}</mark>${Lr(i.slice(s + r.length).join(""))}`;
1584
+ return s < 0 ? n : `${Ir(i.slice(0, s).join(""))}<mark class="app-menu-search-highlight">${Ir(i.slice(s, s + r.length).join(""))}</mark>${Ir(i.slice(s + r.length).join(""))}`;
1585
1585
  }
1586
- function Fr(e, t) {
1586
+ function Pr(e, t) {
1587
1587
  return e.title.toLowerCase().includes(t);
1588
1588
  }
1589
- function Ir(e) {
1589
+ function Fr(e) {
1590
1590
  return !e.children?.length;
1591
1591
  }
1592
- function Lr(e) {
1592
+ function Ir(e) {
1593
1593
  return e.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;").replaceAll("'", "&#39;");
1594
1594
  }
1595
1595
  //#endregion
1596
1596
  //#region src/main/layouts/components/AppSidebarSearch.vue?vue&type=script&setup=true&lang.ts
1597
- var Rr = {
1597
+ var Lr = {
1598
1598
  key: 0,
1599
1599
  class: "app-sidebar-search"
1600
- }, zr = /* @__PURE__ */ P({
1600
+ }, Rr = /* @__PURE__ */ P({
1601
1601
  __name: "AppSidebarSearch",
1602
1602
  props: {
1603
1603
  collapsed: { type: Boolean },
@@ -1607,22 +1607,22 @@ var Rr = {
1607
1607
  setup(e, { emit: t }) {
1608
1608
  let n = t;
1609
1609
  return (t, r) => {
1610
- let i = V("el-icon"), a = V("el-input");
1611
- return e.collapsed ? k("", !0) : (R(), A("div", Rr, [N(a, {
1610
+ let i = H("el-icon"), a = H("el-input");
1611
+ return e.collapsed ? k("", !0) : (z(), A("div", Lr, [N(a, {
1612
1612
  "model-value": e.keyword,
1613
1613
  placeholder: "搜索菜单",
1614
1614
  clearable: "",
1615
1615
  "onUpdate:modelValue": r[0] ||= (e) => n("update:keyword", e)
1616
1616
  }, {
1617
- prefix: K(() => [N(i, null, {
1618
- default: K(() => [N(W(Ne))]),
1617
+ prefix: q(() => [N(i, null, {
1618
+ default: q(() => [N(G(Me))]),
1619
1619
  _: 1
1620
1620
  })]),
1621
1621
  _: 1
1622
1622
  }, 8, ["model-value"])]));
1623
1623
  };
1624
1624
  }
1625
- }), Br = ["innerHTML"], Vr = ["innerHTML"], Hr = /* @__PURE__ */ P({
1625
+ }), zr = ["innerHTML"], Br = ["innerHTML"], Vr = /* @__PURE__ */ P({
1626
1626
  name: "AppSidebarNode",
1627
1627
  __name: "AppSidebarNode",
1628
1628
  props: {
@@ -1630,44 +1630,44 @@ var Rr = {
1630
1630
  keyword: {}
1631
1631
  },
1632
1632
  setup(e) {
1633
- let t = e, n = E(() => Pr(t.node.title, t.keyword ?? ""));
1633
+ let t = e, n = E(() => Nr(t.node.title, t.keyword ?? ""));
1634
1634
  return (t, r) => {
1635
- let i = V("el-icon"), a = V("AppSidebarNode", !0), o = V("el-sub-menu"), s = V("el-menu-item");
1636
- return e.node.children?.length ? (R(), O(o, {
1635
+ let i = H("el-icon"), a = H("AppSidebarNode", !0), o = H("el-sub-menu"), s = H("el-menu-item");
1636
+ return e.node.children?.length ? (z(), O(o, {
1637
1637
  key: 0,
1638
1638
  index: e.node.fullPath
1639
1639
  }, {
1640
- title: K(() => [N(i, null, {
1641
- default: K(() => [(R(), O(H(W(Z)(e.node.icon))))]),
1640
+ title: q(() => [N(i, null, {
1641
+ default: q(() => [(z(), O(U(G(Q)(e.node.icon))))]),
1642
1642
  _: 1
1643
- }), j("span", { innerHTML: n.value }, null, 8, Br)]),
1644
- default: K(() => [(R(!0), A(S, null, B(e.node.children, (t) => (R(), O(a, {
1643
+ }), j("span", { innerHTML: n.value }, null, 8, zr)]),
1644
+ default: q(() => [(z(!0), A(S, null, V(e.node.children, (t) => (z(), O(a, {
1645
1645
  key: t.fullPath,
1646
1646
  node: t,
1647
1647
  keyword: e.keyword
1648
1648
  }, null, 8, ["node", "keyword"]))), 128))]),
1649
1649
  _: 1
1650
- }, 8, ["index"])) : (R(), O(s, {
1650
+ }, 8, ["index"])) : (z(), O(s, {
1651
1651
  key: 1,
1652
1652
  index: e.node.fullPath
1653
1653
  }, {
1654
- default: K(() => [e.node.icon ? (R(), O(i, { key: 0 }, {
1655
- default: K(() => [(R(), O(H(W(Z)(e.node.icon))))]),
1654
+ default: q(() => [e.node.icon ? (z(), O(i, { key: 0 }, {
1655
+ default: q(() => [(z(), O(U(G(Q)(e.node.icon))))]),
1656
1656
  _: 1
1657
- })) : k("", !0), j("span", { innerHTML: n.value }, null, 8, Vr)]),
1657
+ })) : k("", !0), j("span", { innerHTML: n.value }, null, 8, Br)]),
1658
1658
  _: 1
1659
1659
  }, 8, ["index"]));
1660
1660
  };
1661
1661
  }
1662
- }), Ur = {
1662
+ }), Hr = {
1663
1663
  key: 0,
1664
1664
  class: "app-layout__brand"
1665
- }, Wr = /* @__PURE__ */ P({
1665
+ }, Ur = /* @__PURE__ */ P({
1666
1666
  name: "AppSidebar",
1667
1667
  __name: "AppSidebar",
1668
1668
  setup(e) {
1669
- let t = X(), n = l(), { activeMenu: r, sideMenus: i } = Gn(), a = z(""), o = E(() => t.themeColorPosition === "sidebar" || t.isDark), s = E(() => o.value ? n.logoHeader : n.logoExpanded), c = E(() => o.value && s.value === n.logoExpanded), u = E(() => t.isMobileViewport ? !1 : t.sidebarCollapsed), d = E(() => t.layoutMode !== "top" || t.isMobileViewport), f = E(() => t.isSidebarMenuSearch ? Nr(i.value, a.value) : i.value), p = E(() => !t.isSidebarMenuSearch || !a.value.trim() ? [] : m(f.value));
1670
- G(() => t.isSidebarMenuSearch, (e) => {
1669
+ let t = Z(), n = l(), { activeMenu: r, sideMenus: i } = Wn(), a = B(""), o = E(() => t.themeColorPosition === "sidebar" || t.isDark), s = E(() => o.value ? n.logoHeader : n.logoExpanded), c = E(() => o.value && s.value === n.logoExpanded), u = E(() => t.isMobileViewport ? !1 : t.sidebarCollapsed), d = E(() => t.layoutMode !== "top" || t.isMobileViewport), f = E(() => t.isSidebarMenuSearch ? Mr(i.value, a.value) : i.value), p = E(() => !t.isSidebarMenuSearch || !a.value.trim() ? [] : m(f.value));
1670
+ K(() => t.isSidebarMenuSearch, (e) => {
1671
1671
  e || (a.value = "");
1672
1672
  });
1673
1673
  function m(e) {
@@ -1676,31 +1676,31 @@ var Rr = {
1676
1676
  return t;
1677
1677
  }
1678
1678
  return (e, i) => {
1679
- let o = V("el-menu"), l = V("el-scrollbar"), m = V("el-aside");
1680
- return d.value ? (R(), O(m, {
1679
+ let o = H("el-menu"), l = H("el-scrollbar"), m = H("el-aside");
1680
+ return d.value ? (z(), O(m, {
1681
1681
  key: 0,
1682
1682
  width: u.value ? "72px" : "220px",
1683
1683
  class: I(["app-layout__aside", {
1684
- "is-mix-mode": W(t).layoutMode === "mix",
1685
- "has-brand": W(t).layoutMode !== "default",
1686
- "is-mobile-open": W(t).mobileSidebarVisible
1684
+ "is-mix-mode": G(t).layoutMode === "mix",
1685
+ "has-brand": G(t).layoutMode !== "default",
1686
+ "is-mobile-open": G(t).mobileSidebarVisible
1687
1687
  }])
1688
1688
  }, {
1689
- default: K(() => [
1690
- W(t).layoutMode === "default" ? k("", !0) : (R(), A("div", Ur, [N(w, {
1689
+ default: q(() => [
1690
+ G(t).layoutMode === "default" ? k("", !0) : (z(), A("div", Hr, [N(w, {
1691
1691
  name: "brand-fade",
1692
1692
  mode: "out-in"
1693
1693
  }, {
1694
- default: K(() => [u.value ? (R(), O(nr, {
1694
+ default: q(() => [u.value ? (z(), O(tr, {
1695
1695
  key: "collapsed",
1696
- src: W(n).logoCollapsed,
1697
- alt: W(n).systemName,
1696
+ src: G(n).logoCollapsed,
1697
+ alt: G(n).systemName,
1698
1698
  width: "40px",
1699
1699
  height: "40px"
1700
- }, null, 8, ["src", "alt"])) : (R(), O(nr, {
1700
+ }, null, 8, ["src", "alt"])) : (z(), O(tr, {
1701
1701
  key: "expanded",
1702
1702
  src: s.value,
1703
- alt: W(n).systemName,
1703
+ alt: G(n).systemName,
1704
1704
  "text-inverted": c.value
1705
1705
  }, null, 8, [
1706
1706
  "src",
@@ -1709,26 +1709,26 @@ var Rr = {
1709
1709
  ]))]),
1710
1710
  _: 1
1711
1711
  })])),
1712
- W(t).isSidebarMenuSearch ? (R(), O(zr, {
1712
+ G(t).isSidebarMenuSearch ? (z(), O(Rr, {
1713
1713
  key: 1,
1714
1714
  collapsed: u.value,
1715
1715
  keyword: a.value,
1716
1716
  "onUpdate:keyword": i[0] ||= (e) => a.value = e
1717
1717
  }, null, 8, ["collapsed", "keyword"])) : k("", !0),
1718
1718
  N(l, null, {
1719
- default: K(() => [N(o, {
1719
+ default: q(() => [N(o, {
1720
1720
  collapse: u.value,
1721
- "default-active": W(r),
1721
+ "default-active": G(r),
1722
1722
  "default-openeds": p.value,
1723
1723
  class: "app-layout__menu",
1724
1724
  router: "",
1725
1725
  "unique-opened": "",
1726
- onSelect: W(t).closeMobileSidebar
1726
+ onSelect: G(t).closeMobileSidebar
1727
1727
  }, {
1728
- default: K(() => [(R(!0), A(S, null, B(f.value, (e) => (R(), O(Hr, {
1728
+ default: q(() => [(z(!0), A(S, null, V(f.value, (e) => (z(), O(Vr, {
1729
1729
  key: e.fullPath,
1730
1730
  node: e,
1731
- keyword: W(t).isSidebarMenuSearch ? a.value : ""
1731
+ keyword: G(t).isSidebarMenuSearch ? a.value : ""
1732
1732
  }, null, 8, ["node", "keyword"]))), 128))]),
1733
1733
  _: 1
1734
1734
  }, 8, [
@@ -1747,13 +1747,13 @@ var Rr = {
1747
1747
  });
1748
1748
  //#endregion
1749
1749
  //#region src/main/composables/useSortable.ts
1750
- function Gr(e = {}) {
1751
- let t = z(null);
1750
+ function Wr(e = {}) {
1751
+ let t = B(null);
1752
1752
  function n() {
1753
1753
  t.value?.destroy(), t.value = null;
1754
1754
  }
1755
1755
  function r(r) {
1756
- r && (n(), t.value = Ve.create(r, {
1756
+ r && (n(), t.value = Be.create(r, {
1757
1757
  animation: e.animation ?? 150,
1758
1758
  chosenClass: e.chosenClass,
1759
1759
  direction: e.direction,
@@ -1789,7 +1789,7 @@ function Gr(e = {}) {
1789
1789
  }
1790
1790
  //#endregion
1791
1791
  //#region src/main/layouts/components/AppTabsContextMenu.vue?vue&type=script&setup=true&lang.ts
1792
- var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"], Xr = ["disabled"], Zr = /* @__PURE__ */ P({
1792
+ var Gr = ["disabled"], Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"], Xr = /* @__PURE__ */ P({
1793
1793
  __name: "AppTabsContextMenu",
1794
1794
  props: {
1795
1795
  hasLeftTabs: { type: Boolean },
@@ -1840,23 +1840,23 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
1840
1840
  n.targetTab && r("closeRight", n.targetTab.path);
1841
1841
  }
1842
1842
  return (t, n) => {
1843
- let f = V("el-icon");
1844
- return e.visible && e.targetTab ? (R(), A("div", {
1843
+ let f = H("el-icon");
1844
+ return e.visible && e.targetTab ? (z(), A("div", {
1845
1845
  key: 0,
1846
1846
  class: "app-tabs-menu",
1847
1847
  style: te({
1848
1848
  left: `${e.position.x}px`,
1849
1849
  top: `${e.position.y}px`
1850
1850
  }),
1851
- onMousedown: n[8] ||= q(() => {}, ["stop"]),
1852
- onContextmenu: n[9] ||= q(() => {}, ["prevent"])
1851
+ onMousedown: n[8] ||= J(() => {}, ["stop"]),
1852
+ onContextmenu: n[9] ||= J(() => {}, ["prevent"])
1853
1853
  }, [
1854
1854
  j("button", {
1855
1855
  class: "app-tabs-menu__item",
1856
1856
  type: "button",
1857
1857
  onClick: n[0] ||= (e) => i(a)
1858
1858
  }, [N(f, null, {
1859
- default: K(() => [N(W(Me))]),
1859
+ default: q(() => [N(G(je))]),
1860
1860
  _: 1
1861
1861
  }), n[10] ||= j("span", null, "重新加载", -1)]),
1862
1862
  j("button", {
@@ -1865,15 +1865,15 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
1865
1865
  disabled: !e.hasLastActive,
1866
1866
  onClick: n[1] ||= (t) => i(o, !e.hasLastActive)
1867
1867
  }, [N(f, null, {
1868
- default: K(() => [N(W(he))]),
1868
+ default: q(() => [N(G(me))]),
1869
1869
  _: 1
1870
- }), n[11] ||= j("span", null, "切换上一个页签", -1)], 8, Kr),
1870
+ }), n[11] ||= j("span", null, "切换上一个页签", -1)], 8, Gr),
1871
1871
  j("button", {
1872
1872
  class: "app-tabs-menu__item",
1873
1873
  type: "button",
1874
1874
  onClick: n[2] ||= (e) => i(s)
1875
1875
  }, [N(f, null, {
1876
- default: K(() => [N(W(Le))]),
1876
+ default: q(() => [N(G(Ie))]),
1877
1877
  _: 1
1878
1878
  }), n[12] ||= j("span", null, "在新窗口打开", -1)]),
1879
1879
  n[18] ||= j("div", { class: "app-tabs-menu__divider" }, null, -1),
@@ -1883,63 +1883,63 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
1883
1883
  disabled: e.isTargetHome,
1884
1884
  onClick: n[3] ||= (t) => i(c, e.isTargetHome)
1885
1885
  }, [N(f, null, {
1886
- default: K(() => [N(W(_e))]),
1886
+ default: q(() => [N(G(ge))]),
1887
1887
  _: 1
1888
- }), n[13] ||= j("span", null, "关闭当前页签", -1)], 8, qr),
1888
+ }), n[13] ||= j("span", null, "关闭当前页签", -1)], 8, Kr),
1889
1889
  j("button", {
1890
1890
  class: "app-tabs-menu__item",
1891
1891
  type: "button",
1892
1892
  disabled: !e.hasMultipleTabs,
1893
1893
  onClick: n[4] ||= (t) => i(l, !e.hasMultipleTabs)
1894
1894
  }, [N(f, null, {
1895
- default: K(() => [N(W(Ae))]),
1895
+ default: q(() => [N(G(ke))]),
1896
1896
  _: 1
1897
- }), n[14] ||= j("span", null, "关闭其他页签", -1)], 8, Jr),
1897
+ }), n[14] ||= j("span", null, "关闭其他页签", -1)], 8, qr),
1898
1898
  j("button", {
1899
1899
  class: "app-tabs-menu__item",
1900
1900
  type: "button",
1901
1901
  disabled: !e.hasLeftTabs,
1902
1902
  onClick: n[5] ||= (t) => i(u, !e.hasLeftTabs)
1903
1903
  }, [N(f, null, {
1904
- default: K(() => [N(W(ye))]),
1904
+ default: q(() => [N(G(ve))]),
1905
1905
  _: 1
1906
- }), n[15] ||= j("span", null, "关闭左侧页签", -1)], 8, Yr),
1906
+ }), n[15] ||= j("span", null, "关闭左侧页签", -1)], 8, Jr),
1907
1907
  j("button", {
1908
1908
  class: "app-tabs-menu__item",
1909
1909
  type: "button",
1910
1910
  disabled: !e.hasRightTabs,
1911
1911
  onClick: n[6] ||= (t) => i(d, !e.hasRightTabs)
1912
1912
  }, [N(f, null, {
1913
- default: K(() => [N(W(be))]),
1913
+ default: q(() => [N(G(ye))]),
1914
1914
  _: 1
1915
- }), n[16] ||= j("span", null, "关闭右侧页签", -1)], 8, Xr),
1915
+ }), n[16] ||= j("span", null, "关闭右侧页签", -1)], 8, Yr),
1916
1916
  n[19] ||= j("div", { class: "app-tabs-menu__divider" }, null, -1),
1917
1917
  j("button", {
1918
1918
  class: "app-tabs-menu__item",
1919
1919
  type: "button",
1920
1920
  onClick: n[7] ||= (e) => i(() => r("closeAll"))
1921
1921
  }, [N(f, null, {
1922
- default: K(() => [N(W(we))]),
1922
+ default: q(() => [N(G(Ce))]),
1923
1923
  _: 1
1924
1924
  }), n[17] ||= j("span", null, "关闭全部页签", -1)])
1925
1925
  ], 36)) : k("", !0);
1926
1926
  };
1927
1927
  }
1928
- }), Qr = {
1928
+ }), Zr = {
1929
1929
  key: 0,
1930
1930
  class: "app-layout__tabs"
1931
- }, $r = { class: "app-layout__tabs-bar" }, ei = [
1931
+ }, Qr = { class: "app-layout__tabs-bar" }, $r = [
1932
1932
  "data-path",
1933
1933
  "onClick",
1934
1934
  "onContextmenu"
1935
- ], ti = { class: "app-layout__tab-label" }, ni = ["onClick"], ri = /* @__PURE__ */ P({
1935
+ ], ei = { class: "app-layout__tab-label" }, ti = ["onClick"], ni = /* @__PURE__ */ P({
1936
1936
  __name: "AppTabs",
1937
1937
  emits: ["refresh"],
1938
1938
  setup(e, { emit: t }) {
1939
- let n = t, r = y(), i = dt(), a = z(!1), o = z(!1), s = z(!1), c = z({
1939
+ let n = t, r = y(), i = ut(), a = B(!1), o = B(!1), s = B(!1), c = B({
1940
1940
  x: 0,
1941
1941
  y: 0
1942
- }), l = z(null), u = z(null), d = E(() => l.value ? i.tabs.findIndex((e) => e.path === l.value?.path) : -1), f = E(() => l.value?.path === i.activeTab), p = E(() => d.value > 0), m = E(() => d.value >= 0 && d.value < i.tabs.length - 1), h = E(() => i.tabs.length > 1), g = E(() => !!(i.lastActiveTab && i.tabPaths.includes(i.lastActiveTab))), { init: _ } = Gr({
1942
+ }), l = B(null), u = B(null), d = E(() => l.value ? i.tabs.findIndex((e) => e.path === l.value?.path) : -1), f = E(() => l.value?.path === i.activeTab), p = E(() => d.value > 0), m = E(() => d.value >= 0 && d.value < i.tabs.length - 1), h = E(() => i.tabs.length > 1), g = E(() => !!(i.lastActiveTab && i.tabPaths.includes(i.lastActiveTab))), { init: _ } = Wr({
1943
1943
  animation: 150,
1944
1944
  chosenClass: "sortable-chosen",
1945
1945
  direction: "horizontal",
@@ -1971,7 +1971,7 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
1971
1971
  let t = i.tabs.findIndex((t) => t.path === e), n = i.activeTab === e;
1972
1972
  if (await i.removeTab(e), !n) return;
1973
1973
  let a = i.tabs[t] ?? i.tabs[t - 1];
1974
- a ? await v(a.path) : (i.setActiveTab(""), r.push(J));
1974
+ a ? await v(a.path) : (i.setActiveTab(""), r.push(Y));
1975
1975
  }
1976
1976
  async function x(e) {
1977
1977
  i.activeTab !== e && await v(e), o.value = !1, await F(), await D(), o.value = !0, n("refresh"), window.setTimeout(() => {
@@ -2023,95 +2023,95 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
2023
2023
  async function L(e) {
2024
2024
  await i.closeRightTabs(e), i.tabPaths.includes(i.activeTab) || await v(e);
2025
2025
  }
2026
- async function ie() {
2027
- await i.closeAllTabs(), r.push(J);
2026
+ async function re() {
2027
+ await i.closeAllTabs(), r.push(Y);
2028
2028
  }
2029
- function ae() {
2029
+ function ie() {
2030
2030
  let e = i.lastActiveTab;
2031
2031
  !e || !i.tabPaths.includes(e) || v(e);
2032
2032
  }
2033
- function oe(e) {
2033
+ function ae(e) {
2034
2034
  window.open(e, "_blank", "noopener,noreferrer");
2035
2035
  }
2036
- function se(e) {
2036
+ function oe(e) {
2037
2037
  e.button !== 2 && M();
2038
2038
  }
2039
- return ne(() => {
2040
- document.addEventListener("mousedown", se), _(u.value), D();
2041
- }), re(() => {
2042
- document.removeEventListener("mousedown", se);
2043
- }), G(() => i.tabs.map((e) => e.path).join("|"), () => {
2039
+ return R(() => {
2040
+ document.addEventListener("mousedown", oe), _(u.value), D();
2041
+ }), ne(() => {
2042
+ document.removeEventListener("mousedown", oe);
2043
+ }), K(() => i.tabs.map((e) => e.path).join("|"), () => {
2044
2044
  a.value || F(() => {
2045
2045
  _(u.value), D();
2046
2046
  });
2047
- }), G(() => i.activeTab, () => {
2047
+ }), K(() => i.activeTab, () => {
2048
2048
  D();
2049
2049
  }), (e, t) => {
2050
- let n = V("el-icon");
2051
- return W(i).tabs.length ? (R(), A("div", Qr, [j("div", $r, [
2050
+ let n = H("el-icon");
2051
+ return G(i).tabs.length ? (z(), A("div", Zr, [j("div", Qr, [
2052
2052
  j("div", {
2053
2053
  ref_key: "tabsScrollRef",
2054
2054
  ref: u,
2055
2055
  class: "app-layout__tabs-scroll",
2056
2056
  onWheel: T
2057
- }, [(R(!0), A(S, null, B(W(i).tabs, (e) => (R(), A("div", {
2057
+ }, [(z(!0), A(S, null, V(G(i).tabs, (e) => (z(), A("div", {
2058
2058
  key: e.path,
2059
- class: I(["app-layout__tab", { "is-active": W(i).activeTab === e.path }]),
2059
+ class: I(["app-layout__tab", { "is-active": G(i).activeTab === e.path }]),
2060
2060
  "data-path": e.path,
2061
2061
  onClick: (t) => v(e.fullPath),
2062
2062
  onContextmenu: (t) => ee(t, e)
2063
2063
  }, [
2064
- e.icon ? (R(), O(n, {
2064
+ e.icon ? (z(), O(n, {
2065
2065
  key: 0,
2066
2066
  class: "app-layout__tab-icon"
2067
2067
  }, {
2068
- default: K(() => [(R(), O(H(W(Z)(e.icon))))]),
2068
+ default: q(() => [(z(), O(U(G(Q)(e.icon))))]),
2069
2069
  _: 2
2070
2070
  }, 1024)) : k("", !0),
2071
- j("span", ti, U(e.title), 1),
2072
- e.path === W("/dashboard") ? k("", !0) : (R(), A("button", {
2071
+ j("span", ei, W(e.title), 1),
2072
+ e.path === G("/dashboard") ? k("", !0) : (z(), A("button", {
2073
2073
  key: 1,
2074
2074
  class: "app-layout__tab-close",
2075
2075
  type: "button",
2076
- onClick: q((t) => b(e.path), ["stop"])
2077
- }, " × ", 8, ni))
2078
- ], 42, ei))), 128))], 544),
2076
+ onClick: J((t) => b(e.path), ["stop"])
2077
+ }, " × ", 8, ti))
2078
+ ], 42, $r))), 128))], 544),
2079
2079
  j("button", {
2080
2080
  class: "app-layout__tabs-action",
2081
2081
  type: "button",
2082
2082
  title: "页签操作",
2083
2083
  onClick: w
2084
2084
  }, [N(n, null, {
2085
- default: K(() => [N(W(fe))]),
2085
+ default: q(() => [N(G(de))]),
2086
2086
  _: 1
2087
2087
  })]),
2088
2088
  j("button", {
2089
2089
  class: "app-layout__tabs-action",
2090
2090
  type: "button",
2091
2091
  title: "刷新当前页签",
2092
- onClick: t[0] ||= (e) => x(W(i).activeTab)
2092
+ onClick: t[0] ||= (e) => x(G(i).activeTab)
2093
2093
  }, [N(n, { class: I({ "is-rotating": o.value }) }, {
2094
- default: K(() => [N(W(Me))]),
2094
+ default: q(() => [N(G(je))]),
2095
2095
  _: 1
2096
2096
  }, 8, ["class"])])
2097
- ]), N(Zr, {
2097
+ ]), N(Xr, {
2098
2098
  visible: s.value,
2099
2099
  "has-left-tabs": p.value,
2100
2100
  "has-multiple-tabs": h.value,
2101
2101
  "has-right-tabs": m.value,
2102
2102
  "has-last-active": g.value,
2103
- "is-target-home": l.value?.path === W(J),
2103
+ "is-target-home": l.value?.path === G(Y),
2104
2104
  "is-target-active": f.value,
2105
2105
  position: c.value,
2106
2106
  "target-tab": l.value,
2107
2107
  onClose: M,
2108
- onCloseAll: ie,
2108
+ onCloseAll: re,
2109
2109
  onCloseLeft: te,
2110
2110
  onCloseOthers: P,
2111
2111
  onCloseRight: L,
2112
2112
  onCloseTab: b,
2113
- onOpenInNewTab: oe,
2114
- onSwitchPrev: ae,
2113
+ onOpenInNewTab: ae,
2114
+ onSwitchPrev: ie,
2115
2115
  onRefresh: x
2116
2116
  }, null, 8, [
2117
2117
  "visible",
@@ -2126,11 +2126,11 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
2126
2126
  ])])) : k("", !0);
2127
2127
  };
2128
2128
  }
2129
- }), ii = /* @__PURE__ */ P({
2129
+ }), ri = /* @__PURE__ */ P({
2130
2130
  __name: "AppLayout",
2131
2131
  setup(e) {
2132
- let t = v(), n = dt(), r = X(), i = Ht(), a = z(0), o = E(() => t.matched.filter((e) => e.meta?.title));
2133
- ne(() => {
2132
+ let t = v(), n = ut(), r = Z(), i = Vt(), a = B(0), o = E(() => t.matched.filter((e) => e.meta?.title));
2133
+ R(() => {
2134
2134
  i.initShortcuts(), window.addEventListener("keydown", l, { capture: !0 });
2135
2135
  }), L(() => {
2136
2136
  window.removeEventListener("keydown", l, { capture: !0 });
@@ -2138,7 +2138,7 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
2138
2138
  function s() {
2139
2139
  a.value += 1;
2140
2140
  }
2141
- G(() => t.fullPath, () => {
2141
+ K(() => t.fullPath, () => {
2142
2142
  let e = String(t.meta.title ?? "未命名页面"), r = t.meta.icon ? String(t.meta.icon) : void 0;
2143
2143
  c(), t.meta.public || n.syncTab({
2144
2144
  path: t.path,
@@ -2155,45 +2155,45 @@ var Kr = ["disabled"], qr = ["disabled"], Jr = ["disabled"], Yr = ["disabled"],
2155
2155
  }
2156
2156
  function l(e) {
2157
2157
  if (!(e.defaultPrevented || e.repeat || e.isComposing)) {
2158
- if (i.isShortcutEnabled("toggleMenu") && Yt(e, i.getShortcutKeys("toggleMenu"))) {
2158
+ if (i.isShortcutEnabled("toggleMenu") && Jt(e, i.getShortcutKeys("toggleMenu"))) {
2159
2159
  e.preventDefault(), r.toggleSidebar();
2160
2160
  return;
2161
2161
  }
2162
- i.isShortcutEnabled("settings") && Yt(e, i.getShortcutKeys("settings")) && (e.preventDefault(), r.setSettingsVisible(!r.settingsVisible));
2162
+ i.isShortcutEnabled("settings") && Jt(e, i.getShortcutKeys("settings")) && (e.preventDefault(), r.setSettingsVisible(!r.settingsVisible));
2163
2163
  }
2164
2164
  }
2165
2165
  return (e, t) => {
2166
- let n = V("el-container");
2167
- return R(), A(S, null, [N(n, { class: "app-layout" }, {
2168
- default: K(() => [
2169
- N(Wr),
2166
+ let n = H("el-container");
2167
+ return z(), A(S, null, [N(n, { class: "app-layout" }, {
2168
+ default: q(() => [
2169
+ N(Ur),
2170
2170
  N(n, { direction: "vertical" }, {
2171
- default: K(() => [
2172
- N(Mr, { "breadcrumb-items": o.value }, null, 8, ["breadcrumb-items"]),
2173
- N(ri, { onRefresh: s }),
2174
- N(Hn, { "refresh-key": a.value }, null, 8, ["refresh-key"])
2171
+ default: q(() => [
2172
+ N(jr, { "breadcrumb-items": o.value }, null, 8, ["breadcrumb-items"]),
2173
+ N(ni, { onRefresh: s }),
2174
+ N(Vn, { "refresh-key": a.value }, null, 8, ["refresh-key"])
2175
2175
  ]),
2176
2176
  _: 1
2177
2177
  }),
2178
2178
  N(w, { name: "app-mobile-mask" }, {
2179
- default: K(() => [W(r).mobileSidebarVisible ? (R(), A("button", {
2179
+ default: q(() => [G(r).mobileSidebarVisible ? (z(), A("button", {
2180
2180
  key: 0,
2181
2181
  type: "button",
2182
2182
  class: "app-layout__mobile-mask",
2183
2183
  "aria-label": "关闭侧边栏",
2184
- onClick: t[0] ||= (e) => W(r).closeMobileSidebar()
2184
+ onClick: t[0] ||= (e) => G(r).closeMobileSidebar()
2185
2185
  })) : k("", !0)]),
2186
2186
  _: 1
2187
2187
  })
2188
2188
  ]),
2189
2189
  _: 1
2190
- }), N(Vn)], 64);
2190
+ }), N(Bn)], 64);
2191
2191
  };
2192
2192
  }
2193
2193
  });
2194
2194
  //#endregion
2195
2195
  //#region src/main/router/base-routes.ts
2196
- function ai(e = []) {
2196
+ function ii(e = []) {
2197
2197
  return [{
2198
2198
  path: "/login",
2199
2199
  name: "login",
@@ -2204,7 +2204,7 @@ function ai(e = []) {
2204
2204
  }
2205
2205
  }, {
2206
2206
  path: "/",
2207
- component: ii,
2207
+ component: ri,
2208
2208
  redirect: "/dashboard",
2209
2209
  children: [
2210
2210
  {
@@ -2259,19 +2259,19 @@ function ai(e = []) {
2259
2259
  }
2260
2260
  //#endregion
2261
2261
  //#region src/main/router/index.ts
2262
- function oi(e = []) {
2262
+ function ai(e = []) {
2263
2263
  let t = Array.isArray(e) ? { businessRoutes: e } : e, n = g({
2264
2264
  history: t.history ?? _("/"),
2265
- routes: ai(t.businessRoutes ?? []),
2265
+ routes: ii(t.businessRoutes ?? []),
2266
2266
  scrollBehavior: t.scrollBehavior ?? (() => ({ top: 0 }))
2267
2267
  });
2268
- return nt(n), t.setupRouter?.(n), n;
2268
+ return tt(n), t.setupRouter?.(n), n;
2269
2269
  }
2270
2270
  //#endregion
2271
2271
  //#region src/main/micro-apps/status.ts
2272
- var Q = ie({}), si = ie({});
2272
+ var oi = re({}), si = re({});
2273
2273
  function ci() {
2274
- return Q;
2274
+ return oi;
2275
2275
  }
2276
2276
  function li(e) {
2277
2277
  return si[e];
@@ -2280,131 +2280,115 @@ function ui(e) {
2280
2280
  return f(d()).find((t) => e === t.activeRule || e.startsWith(`${t.activeRule}/`));
2281
2281
  }
2282
2282
  function di(e) {
2283
- return Q[e.name] || (Q[e.name] = {
2283
+ return oi[e.name] || (oi[e.name] = {
2284
2284
  name: e.name,
2285
2285
  title: e.title,
2286
2286
  entry: e.entry,
2287
2287
  activeRule: e.activeRule,
2288
2288
  status: "idle",
2289
2289
  updatedAt: Date.now()
2290
- }, Q[e.name]);
2290
+ }, oi[e.name]);
2291
2291
  }
2292
2292
  function fi(e) {
2293
- vi(e, {
2293
+ _i(e, {
2294
2294
  status: "loading",
2295
2295
  message: void 0
2296
2296
  });
2297
2297
  }
2298
2298
  function pi(e) {
2299
- vi(e, {
2299
+ _i(e, {
2300
2300
  status: "mounted",
2301
2301
  message: void 0
2302
2302
  });
2303
2303
  }
2304
2304
  function mi(e, t) {
2305
- yi(e, {
2306
- status: "error",
2307
- message: bi(t)
2308
- });
2305
+ let n = oi[e];
2306
+ return n ? (n.status = "error", n.message = vi(t), n.updatedAt = Date.now(), !0) : !1;
2309
2307
  }
2310
- function hi(e, t) {
2311
- let n = Q[e];
2312
- return n ? (n.status = "error", n.message = bi(t), n.updatedAt = Date.now(), !0) : !1;
2313
- }
2314
- function gi(e, t, n) {
2308
+ function hi(e, t, n) {
2315
2309
  si[t] = {
2316
2310
  path: t,
2317
2311
  name: e.name,
2318
2312
  title: e.title,
2319
2313
  entry: e.entry,
2320
2314
  activeRule: e.activeRule,
2321
- message: bi(n),
2315
+ message: vi(n),
2322
2316
  updatedAt: Date.now()
2323
2317
  };
2324
2318
  }
2325
- function _i(e) {
2319
+ function gi(e) {
2326
2320
  delete si[e];
2327
2321
  }
2328
- function vi(e, t) {
2329
- let n = Q[e];
2322
+ function _i(e, t) {
2323
+ let n = oi[e];
2330
2324
  n && (n.status = t.status, n.message = t.message, n.updatedAt = Date.now());
2331
2325
  }
2332
- function yi(e, t) {
2333
- let n = di(e);
2334
- n.title = e.title, n.entry = e.entry, n.activeRule = e.activeRule, n.status = t.status, n.message = t.message, n.updatedAt = Date.now();
2335
- }
2336
- function bi(e) {
2337
- let t = xi(e);
2338
- return t ? Ci(Si(t)) : "子应用入口不可访问、服务未启动,或加载过程中发生异常。";
2326
+ function vi(e) {
2327
+ let t = yi(e);
2328
+ return t ? xi(bi(t)) : "子应用入口不可访问、服务未启动,或加载过程中发生异常。";
2339
2329
  }
2340
- function xi(e) {
2330
+ function yi(e) {
2341
2331
  return e instanceof Error ? e.message : typeof e == "string" ? e : "";
2342
2332
  }
2343
- function Si(e) {
2333
+ function bi(e) {
2344
2334
  return e.trim().replace(/^(application ['"][^'"]+['"] died in status [A-Z_]+:\s*)\1+/, "$1");
2345
2335
  }
2346
- function Ci(e) {
2336
+ function xi(e) {
2347
2337
  let t = e.trim(), n = t.toLowerCase(), r = t.match(/application ['"]([^'"]+)['"]/)?.[1], i = r ? `子应用“${r}”` : "子应用";
2348
2338
  return n.includes("cannot use import statement outside a module") ? `${i}入口已响应,但加载失败。请确认子应用服务已启动,并确认入口地址指向子应用服务。` : n.includes("unexpected token <") ? `${i}入口返回了 HTML,但 qiankun 正在按脚本解析。请检查入口地址是否填错、子应用服务是否启动,以及访问入口时是否被重定向到了登录页或 404 页面。` : n.includes("failed to fetch") || n.includes("networkerror") || n.includes("load failed") || n.includes("loading source code") || n.includes("loading_source_code") ? `${i}入口资源加载失败。请确认子应用服务已启动、入口地址可直接访问,并检查浏览器控制台是否有跨域、404 或网络连接错误。` : n.includes("application died in status not_mounted") ? `${i}加载后挂载失败。请检查子应用是否正确导出了 qiankun 生命周期,并确认挂载容器和路由基座配置正确。` : t;
2349
2339
  }
2350
2340
  //#endregion
2351
2341
  //#region src/main/micro-apps/types.ts
2352
- var wi = "morningfast:theme-change", Ti = !1, Ei = !1;
2353
- function Di() {
2354
- if (Ti) {
2355
- Oi();
2342
+ var Si = "morningfast:theme-change", Ci = !1, wi = !1, Ti = new Set(["idle", "loading"]);
2343
+ function Ei() {
2344
+ if (Ci) {
2345
+ Di();
2356
2346
  return;
2357
2347
  }
2358
- Ti = !0;
2348
+ Ci = !0;
2359
2349
  let e = f(d());
2360
- e.forEach(di), Ue(e.map((e) => ({
2350
+ e.forEach(di), He(e.map((e) => ({
2361
2351
  name: e.name,
2362
2352
  entry: e.entry,
2363
2353
  container: e.container,
2364
2354
  activeRule: e.activeRule,
2365
- props: Ni(e)
2355
+ loader: (t) => {
2356
+ t && (gi(window.location.pathname), fi(e.name));
2357
+ },
2358
+ props: Ai(e)
2366
2359
  })), {
2367
2360
  beforeLoad: [async (e) => {
2368
- _i(window.location.pathname), fi(e.name);
2361
+ gi(window.location.pathname), fi(e.name);
2362
+ }],
2363
+ beforeMount: [async (e) => {
2364
+ gi(window.location.pathname), fi(e.name);
2369
2365
  }],
2370
2366
  afterMount: [async (e) => {
2371
- _i(window.location.pathname), pi(e.name);
2367
+ gi(window.location.pathname), pi(e.name);
2372
2368
  }]
2373
- }), He((t) => {
2374
- let n = Ai(t), r = ki(n) || ki(t);
2375
- if (!(!r && ji(t, n))) {
2376
- if (r && hi(r, n)) {
2377
- let t = e.find((e) => e.name === r);
2378
- t && gi(t, window.location.pathname, n);
2379
- return;
2380
- }
2381
- e.forEach((e) => {
2382
- (window.location.pathname === e.activeRule || window.location.pathname.startsWith(`${e.activeRule}/`)) && (mi(e, n), gi(e, window.location.pathname, n));
2383
- });
2384
- }
2385
- }), Oi(), Pi();
2369
+ }), Ve((t) => {
2370
+ let n = t.appOrParcelName;
2371
+ if (!n || !ki(n)) return;
2372
+ let r = e.find((e) => e.name === n);
2373
+ !r || !Oi(r, window.location.pathname) || mi(n, t) && hi(r, window.location.pathname, t);
2374
+ }), Di(), ji();
2386
2375
  }
2387
- function Oi() {
2388
- Ei || document.querySelector("#micro-app-container") && (Ei = !0, We({
2376
+ function Di() {
2377
+ wi || document.querySelector("#micro-app-container") && (wi = !0, Ue({
2389
2378
  prefetch: !1,
2390
2379
  sandbox: { experimentalStyleIsolation: !0 },
2391
2380
  urlRerouteOnly: !0
2392
2381
  }));
2393
2382
  }
2383
+ function Oi(e, t) {
2384
+ return t === e.activeRule || t.startsWith(`${e.activeRule}/`);
2385
+ }
2394
2386
  function ki(e) {
2395
- return (e instanceof Error ? e.message : String(e || "")).match(/application ['"]?([^'"\s]+)['"]?/i)?.[1];
2387
+ let t = ci()[e]?.status;
2388
+ return !t || Ti.has(t);
2396
2389
  }
2397
2390
  function Ai(e) {
2398
- return e instanceof ErrorEvent ? e.error || e.message : e instanceof PromiseRejectionEvent ? e.reason : e;
2399
- }
2400
- function ji(e, t) {
2401
- return e instanceof ErrorEvent && Mi(e.filename) ? !0 : t instanceof Error && t.message.includes("Cannot read properties of undefined (reading 'app')") && !!(t.stack && /(?:^|[/(@])prepare\.js(?::\d+:\d+)?/i.test(t.stack));
2402
- }
2403
- function Mi(e) {
2404
- return /^(?:chrome|moz|safari-web)-extension:\/\//i.test(e);
2405
- }
2406
- function Ni(e) {
2407
- let t = X();
2391
+ let t = Z();
2408
2392
  return {
2409
2393
  basePath: e.activeRule,
2410
2394
  app: p(e),
@@ -2412,26 +2396,26 @@ function Ni(e) {
2412
2396
  env: "production",
2413
2397
  apiBaseUrl: "/api"
2414
2398
  },
2415
- theme: Ii(t.isDark),
2416
- getRuntimeProps: () => ({ theme: Ii(t.isDark) })
2399
+ theme: Ni(t.isDark),
2400
+ getRuntimeProps: () => ({ theme: Ni(t.isDark) })
2417
2401
  };
2418
2402
  }
2419
- function Pi() {
2420
- let e = X();
2421
- G(() => [
2403
+ function ji() {
2404
+ let e = Z();
2405
+ K(() => [
2422
2406
  e.isDark,
2423
2407
  e.themeColor,
2424
2408
  e.themeColorPosition
2425
2409
  ], () => {
2426
2410
  window.setTimeout(() => {
2427
- Fi(Ii(e.isDark));
2411
+ Mi(Ni(e.isDark));
2428
2412
  }, 0);
2429
2413
  });
2430
2414
  }
2431
- function Fi(e) {
2432
- window.dispatchEvent(new CustomEvent(wi, { detail: e }));
2415
+ function Mi(e) {
2416
+ window.dispatchEvent(new CustomEvent(Si, { detail: e }));
2433
2417
  }
2434
- function Ii(e) {
2418
+ function Ni(e) {
2435
2419
  let t = getComputedStyle(document.documentElement);
2436
2420
  return {
2437
2421
  colorPrimary: $(t, "--el-color-primary", "#409EFF"),
@@ -2449,26 +2433,26 @@ function $(e, t, n) {
2449
2433
  }
2450
2434
  //#endregion
2451
2435
  //#region src/main/pages/micro/MicroAppView.vue?vue&type=script&setup=true&lang.ts
2452
- var Li = { class: "micro-app-page" }, Ri = {
2436
+ var Pi = { class: "micro-app-page" }, Fi = {
2453
2437
  key: 0,
2454
2438
  class: "micro-app-page__state micro-app-page__state--error"
2455
- }, zi = { class: "micro-app-page__body" }, Bi = { class: "micro-app-page__meta" }, Vi = { key: 0 }, Hi = { key: 1 }, Ui = { class: "micro-app-page__actions" }, Wi = ["id"], Gi = /* @__PURE__ */ u(/* @__PURE__ */ P({
2439
+ }, Ii = { class: "micro-app-page__body" }, Li = { class: "micro-app-page__meta" }, Ri = { key: 0 }, zi = { key: 1 }, Bi = { class: "micro-app-page__actions" }, Vi = ["id"], Hi = /* @__PURE__ */ u(/* @__PURE__ */ P({
2456
2440
  name: "MicroAppView",
2457
2441
  __name: "MicroAppView",
2458
2442
  setup(e) {
2459
- let t = v(), n = ci(), r = z(""), i = null, a = E(() => ui(t.path)), o = E(() => {
2443
+ let t = v(), n = ci(), r = B(""), i = null, a = E(() => ui(t.path)), o = E(() => {
2460
2444
  let e = a.value;
2461
2445
  return e ? n[e.name] : void 0;
2462
2446
  }), s = E(() => li(t.path)), c = E(() => o.value?.title || a.value?.title || s.value?.title || "未知子应用"), l = E(() => o.value?.entry || a.value?.entry || s.value?.entry || "-"), u = E(() => "子应用暂时无法访问,请稍后重试。"), d = E(() => o.value?.status === "error" || !!s.value || !!r.value || !a.value);
2463
- G(() => t.path, () => {
2447
+ K(() => t.path, () => {
2464
2448
  F(() => {
2465
- Di(), f();
2449
+ Ei(), f();
2466
2450
  });
2467
- }, { immediate: !0 }), ne(() => {
2451
+ }, { immediate: !0 }), R(() => {
2468
2452
  F(() => {
2469
- Di(), f();
2453
+ Ei(), f();
2470
2454
  });
2471
- }), G(() => o.value?.status, (e) => {
2455
+ }), K(() => o.value?.status, (e) => {
2472
2456
  e === "mounted" && (p(), r.value = "");
2473
2457
  }), L(() => {
2474
2458
  p();
@@ -2489,62 +2473,62 @@ var Li = { class: "micro-app-page" }, Ri = {
2489
2473
  e && e !== "-" && window.open(e, "_blank", "noopener,noreferrer");
2490
2474
  }
2491
2475
  return (e, t) => {
2492
- let n = V("el-icon"), r = V("el-button");
2493
- return R(), A("div", Li, [d.value ? (R(), A("div", Ri, [N(n, { class: "micro-app-page__icon" }, {
2494
- default: K(() => [N(W(Be))]),
2476
+ let n = H("el-icon"), r = H("el-button");
2477
+ return z(), A("div", Pi, [d.value ? (z(), A("div", Fi, [N(n, { class: "micro-app-page__icon" }, {
2478
+ default: q(() => [N(G(ze))]),
2495
2479
  _: 1
2496
- }), j("div", zi, [
2480
+ }), j("div", Ii, [
2497
2481
  t[5] ||= j("p", { class: "micro-app-page__title" }, "子应用加载失败", -1),
2498
- j("dl", Bi, [
2499
- j("div", null, [t[0] ||= j("dt", null, "应用", -1), j("dd", null, U(c.value), 1)]),
2500
- W(!1) ? (R(), A("div", Vi, [t[1] ||= j("dt", null, "入口", -1), j("dd", null, U(l.value), 1)])) : k("", !0),
2501
- u.value ? (R(), A("div", Hi, [t[2] ||= j("dt", null, "原因", -1), j("dd", null, U(u.value), 1)])) : k("", !0)
2482
+ j("dl", Li, [
2483
+ j("div", null, [t[0] ||= j("dt", null, "应用", -1), j("dd", null, W(c.value), 1)]),
2484
+ G(!1) ? (z(), A("div", Ri, [t[1] ||= j("dt", null, "入口", -1), j("dd", null, W(l.value), 1)])) : k("", !0),
2485
+ u.value ? (z(), A("div", zi, [t[2] ||= j("dt", null, "原因", -1), j("dd", null, W(u.value), 1)])) : k("", !0)
2502
2486
  ]),
2503
- j("div", Ui, [N(r, {
2487
+ j("div", Bi, [N(r, {
2504
2488
  type: "primary",
2505
- icon: W(Me),
2489
+ icon: G(je),
2506
2490
  onClick: h
2507
2491
  }, {
2508
- default: K(() => [...t[3] ||= [M("重新加载", -1)]]),
2492
+ default: q(() => [...t[3] ||= [M("重新加载", -1)]]),
2509
2493
  _: 1
2510
- }, 8, ["icon"]), W(!1) && (o.value?.entry || a.value?.entry) ? (R(), O(r, {
2494
+ }, 8, ["icon"]), G(!1) && (o.value?.entry || a.value?.entry) ? (z(), O(r, {
2511
2495
  key: 0,
2512
- icon: W(De),
2496
+ icon: G(Ee),
2513
2497
  onClick: g
2514
2498
  }, {
2515
- default: K(() => [...t[4] ||= [M(" 打开入口 ", -1)]]),
2499
+ default: q(() => [...t[4] ||= [M(" 打开入口 ", -1)]]),
2516
2500
  _: 1
2517
2501
  }, 8, ["icon"])) : k("", !0)])
2518
2502
  ])])) : k("", !0), j("section", {
2519
- id: W(m),
2503
+ id: G(m),
2520
2504
  class: "micro-app-page__container"
2521
- }, null, 8, Wi)]);
2505
+ }, null, 8, Vi)]);
2522
2506
  };
2523
2507
  }
2524
2508
  }), [["__scopeId", "data-v-944de23f"]]);
2525
2509
  //#endregion
2526
2510
  //#region src/main/router/route-items.ts
2527
- function Ki(e, t) {
2528
- return h(e, t, (e) => e.microApp ? Gi : void 0);
2511
+ function Ui(e, t) {
2512
+ return h(e, t, (e) => e.microApp ? Hi : void 0);
2529
2513
  }
2530
2514
  //#endregion
2531
2515
  //#region src/main/app/AppUpdateDialog.vue?vue&type=script&setup=true&lang.ts
2532
- var qi = {
2516
+ var Wi = {
2533
2517
  key: 0,
2534
2518
  class: "app-update-dialog",
2535
2519
  role: "presentation"
2536
- }, Ji = {
2520
+ }, Gi = {
2537
2521
  class: "app-update-dialog__panel",
2538
2522
  role: "dialog",
2539
2523
  "aria-modal": "true",
2540
2524
  "aria-labelledby": "app-update-dialog-title"
2541
- }, Yi = { class: "app-update-dialog__icon" }, Xi = { class: "app-update-dialog__content" }, Zi = {
2525
+ }, Ki = { class: "app-update-dialog__icon" }, qi = { class: "app-update-dialog__content" }, Ji = {
2542
2526
  key: 0,
2543
2527
  class: "app-update-dialog__version"
2544
- }, Qi = {
2528
+ }, Yi = {
2545
2529
  key: 1,
2546
2530
  class: "app-update-dialog__changelog"
2547
- }, $i = { class: "app-update-dialog__actions" }, ea = /* @__PURE__ */ u(/* @__PURE__ */ P({
2531
+ }, Xi = { class: "app-update-dialog__actions" }, Zi = /* @__PURE__ */ u(/* @__PURE__ */ P({
2548
2532
  __name: "AppUpdateDialog",
2549
2533
  props: {
2550
2534
  changelog: {},
@@ -2567,57 +2551,57 @@ var qi = {
2567
2551
  return t.setHours(23, 59, 59, 999), Math.max(t.getTime() - e.getTime(), 60 * 1e3);
2568
2552
  }
2569
2553
  return (t, i) => {
2570
- let a = V("el-icon"), o = V("el-button"), s = V("el-dropdown-item"), c = V("el-dropdown-menu"), l = V("el-dropdown");
2571
- return R(), O(C, { to: "body" }, [N(w, { name: "app-update-dialog-fade" }, {
2572
- default: K(() => [e.modelValue ? (R(), A("section", qi, [j("div", Ji, [
2573
- j("div", Yi, [N(a, null, {
2574
- default: K(() => [N(W(je))]),
2554
+ let a = H("el-icon"), o = H("el-button"), s = H("el-dropdown-item"), c = H("el-dropdown-menu"), l = H("el-dropdown");
2555
+ return z(), O(C, { to: "body" }, [N(w, { name: "app-update-dialog-fade" }, {
2556
+ default: q(() => [e.modelValue ? (z(), A("section", Wi, [j("div", Gi, [
2557
+ j("div", Ki, [N(a, null, {
2558
+ default: q(() => [N(G(Ae))]),
2575
2559
  _: 1
2576
2560
  })]),
2577
- j("div", Xi, [
2561
+ j("div", qi, [
2578
2562
  i[2] ||= j("h2", { id: "app-update-dialog-title" }, "发现新版本", -1),
2579
2563
  i[3] ||= j("p", null, "系统已发布更新,刷新后即可使用最新功能和修复。", -1),
2580
- e.versionLabel ? (R(), A("span", Zi, U(e.versionLabel), 1)) : k("", !0),
2581
- e.changelog?.length ? (R(), A("div", Qi, [i[1] ||= j("span", null, "更新要点", -1), j("ul", null, [(R(!0), A(S, null, B(e.changelog, (e) => (R(), A("li", { key: e }, U(e), 1))), 128))])])) : k("", !0)
2564
+ e.versionLabel ? (z(), A("span", Ji, W(e.versionLabel), 1)) : k("", !0),
2565
+ e.changelog?.length ? (z(), A("div", Yi, [i[1] ||= j("span", null, "更新要点", -1), j("ul", null, [(z(!0), A(S, null, V(e.changelog, (e) => (z(), A("li", { key: e }, W(e), 1))), 128))])])) : k("", !0)
2582
2566
  ]),
2583
- j("div", $i, [N(o, {
2567
+ j("div", Xi, [N(o, {
2584
2568
  type: "primary",
2585
2569
  onClick: i[0] ||= (e) => n("refresh")
2586
2570
  }, {
2587
- default: K(() => [...i[4] ||= [M("立即更新", -1)]]),
2571
+ default: q(() => [...i[4] ||= [M("立即更新", -1)]]),
2588
2572
  _: 1
2589
2573
  }), N(l, {
2590
2574
  trigger: "click",
2591
2575
  teleported: !1,
2592
2576
  onCommand: r
2593
2577
  }, {
2594
- dropdown: K(() => [N(c, null, {
2595
- default: K(() => [
2578
+ dropdown: q(() => [N(c, null, {
2579
+ default: q(() => [
2596
2580
  N(s, { command: 1 }, {
2597
- default: K(() => [...i[6] ||= [M("1 小时后提醒", -1)]]),
2581
+ default: q(() => [...i[6] ||= [M("1 小时后提醒", -1)]]),
2598
2582
  _: 1
2599
2583
  }),
2600
2584
  N(s, { command: 2 }, {
2601
- default: K(() => [...i[7] ||= [M("2 小时后提醒", -1)]]),
2585
+ default: q(() => [...i[7] ||= [M("2 小时后提醒", -1)]]),
2602
2586
  _: 1
2603
2587
  }),
2604
2588
  N(s, { command: 4 }, {
2605
- default: K(() => [...i[8] ||= [M("4 小时后提醒", -1)]]),
2589
+ default: q(() => [...i[8] ||= [M("4 小时后提醒", -1)]]),
2606
2590
  _: 1
2607
2591
  }),
2608
2592
  N(s, {
2609
2593
  divided: "",
2610
2594
  command: "today"
2611
2595
  }, {
2612
- default: K(() => [...i[9] ||= [M("今日不再提醒", -1)]]),
2596
+ default: q(() => [...i[9] ||= [M("今日不再提醒", -1)]]),
2613
2597
  _: 1
2614
2598
  })
2615
2599
  ]),
2616
2600
  _: 1
2617
2601
  })]),
2618
- default: K(() => [N(o, null, {
2619
- default: K(() => [i[5] ||= M(" 稍后提醒 ", -1), N(a, { class: "el-icon--right" }, {
2620
- default: K(() => [N(W(fe))]),
2602
+ default: q(() => [N(o, null, {
2603
+ default: q(() => [i[5] ||= M(" 稍后提醒 ", -1), N(a, { class: "el-icon--right" }, {
2604
+ default: q(() => [N(G(de))]),
2621
2605
  _: 1
2622
2606
  })]),
2623
2607
  _: 1
@@ -2629,75 +2613,75 @@ var qi = {
2629
2613
  })]);
2630
2614
  };
2631
2615
  }
2632
- }), [["__scopeId", "data-v-118283a1"]]), ta = "app-update:check-enabled";
2633
- function na(e = !0) {
2634
- let t = localStorage.getItem(ta);
2616
+ }), [["__scopeId", "data-v-118283a1"]]), Qi = "app-update:check-enabled";
2617
+ function $i(e = !0) {
2618
+ let t = localStorage.getItem(Qi);
2635
2619
  return t === "true" ? !0 : t === "false" ? !1 : e;
2636
2620
  }
2637
- function ra(e) {
2638
- localStorage.setItem(ta, String(e));
2621
+ function ea(e) {
2622
+ localStorage.setItem(Qi, String(e));
2639
2623
  }
2640
2624
  //#endregion
2641
2625
  //#region src/main/app/update-checker.ts
2642
- var ia = "/app-manifest.json", aa = 300 * 1e3, oa = "app-update:snooze", sa, ca, la, ua = "", da = !1, fa = {}, pa, ma;
2643
- function ha(e = {}) {
2644
- fa = {
2645
- ...fa,
2626
+ var ta = "/app-manifest.json", na = 300 * 1e3, ra = "app-update:snooze", ia, aa, oa, sa = "", ca = !1, la = {}, ua, da;
2627
+ function fa(e = {}) {
2628
+ la = {
2629
+ ...la,
2646
2630
  ...e
2647
- }, !(da || fa.enabled === !1 || typeof window > "u" || !na(!0)) && (da = !0, !Oa() && ga());
2631
+ }, !(ca || la.enabled === !1 || typeof window > "u" || !$i(!0)) && (ca = !0, !Ta() && pa());
2648
2632
  }
2649
- function ga() {
2650
- Sa(), ya(), sa = window.setInterval(() => {
2651
- ya();
2652
- }, Ta());
2633
+ function pa() {
2634
+ ya(), ga(), ia = window.setInterval(() => {
2635
+ ga();
2636
+ }, Sa());
2653
2637
  }
2654
- function _a() {
2655
- Sa(), Ca(), xa(), da = !1, ua = "";
2638
+ function ma() {
2639
+ ya(), ba(), va(), ca = !1, sa = "";
2656
2640
  }
2657
- function va(e = {}) {
2658
- _a(), ha({
2659
- ...fa,
2641
+ function ha(e = {}) {
2642
+ ma(), fa({
2643
+ ...la,
2660
2644
  ...e
2661
2645
  });
2662
2646
  }
2663
- async function ya() {
2664
- if (!na(!0)) {
2665
- _a();
2647
+ async function ga() {
2648
+ if (!$i(!0)) {
2649
+ ma();
2666
2650
  return;
2667
2651
  }
2668
- if (Oa()) return;
2669
- let e = await wa(fa.manifestUrl || ia);
2652
+ if (Ta()) return;
2653
+ let e = await xa(la.manifestUrl || ta);
2670
2654
  if (!e?.label) return;
2671
- if (!la) {
2672
- la = e;
2655
+ if (!oa) {
2656
+ oa = e;
2673
2657
  return;
2674
2658
  }
2675
- let t = Na(la, e);
2676
- !t || t.label === ua || Ea(t.label) || (ua = t.label, ba(t));
2659
+ let t = Aa(oa, e);
2660
+ !t || t.label === sa || Ca(t.label) || (sa = t.label, _a(t));
2677
2661
  }
2678
- function ba(e) {
2679
- xa(), ma = document.createElement("div"), document.body.appendChild(ma), pa = D(ea, {
2662
+ function _a(e) {
2663
+ va(), da = document.createElement("div"), document.body.appendChild(da), ua = D(Zi, {
2680
2664
  changelog: e.changelog,
2681
2665
  modelValue: !0,
2682
- versionLabel: Fa(e.displayVersion),
2666
+ versionLabel: Ma(e.displayVersion),
2683
2667
  onRefresh: () => {
2684
2668
  window.location.reload();
2685
2669
  },
2686
2670
  onRemindLater: (t) => {
2687
- Da(e.label, t), ua = "", xa(), Sa(), Oa();
2671
+ wa(e.label, t), sa = "", va(), ya(), Ta();
2688
2672
  }
2689
- }), pa.use(x, { locale: Ge }), pa.mount(ma);
2673
+ }), ua.use(x, { locale: We }), ua.mount(da);
2690
2674
  }
2691
- function xa() {
2692
- pa?.unmount(), ma?.remove(), pa = void 0, ma = void 0;
2675
+ function va() {
2676
+ ua?.unmount(), da?.remove(), ua = void 0, da = void 0;
2693
2677
  }
2694
- function Sa() {
2695
- sa !== void 0 && (window.clearInterval(sa), sa = void 0);
2678
+ function ya() {
2679
+ ia !== void 0 && (window.clearInterval(ia), ia = void 0);
2696
2680
  }
2697
- function Ca() {
2698
- ca !== void 0 && (window.clearTimeout(ca), ca = void 0);
2681
+ function ba() {
2682
+ aa !== void 0 && (window.clearTimeout(aa), aa = void 0);
2699
2683
  }
2700
- async function wa(e) {
2684
+ async function xa(e) {
2701
2685
  try {
2702
2686
  let t = new URL(e, window.location.origin);
2703
2687
  t.searchParams.set("_t", String(Date.now()));
@@ -2710,49 +2694,49 @@ async function wa(e) {
2710
2694
  });
2711
2695
  if (!n.ok) return null;
2712
2696
  let r = n.headers.get("content-type");
2713
- return r && !r.includes("application/json") ? null : ja(await n.json());
2697
+ return r && !r.includes("application/json") ? null : Oa(await n.json());
2714
2698
  } catch {
2715
2699
  return null;
2716
2700
  }
2717
2701
  }
2718
- function Ta() {
2719
- return Math.max(fa.interval ?? aa, 30 * 1e3);
2702
+ function Sa() {
2703
+ return Math.max(la.interval ?? na, 30 * 1e3);
2720
2704
  }
2721
- function Ea(e) {
2722
- let t = ka();
2705
+ function Ca(e) {
2706
+ let t = Ea();
2723
2707
  return !!(t && t.version === e);
2724
2708
  }
2725
- function Da(e, t) {
2709
+ function wa(e, t) {
2726
2710
  let n = Date.now() + Math.max(t, 60 * 1e3);
2727
- localStorage.setItem(oa, JSON.stringify({
2711
+ localStorage.setItem(ra, JSON.stringify({
2728
2712
  version: e,
2729
2713
  until: n
2730
2714
  }));
2731
2715
  }
2732
- function Oa() {
2733
- let e = ka();
2734
- return e?.until ? (Sa(), Ca(), ca = window.setTimeout(() => {
2735
- ca = void 0, da && na(!0) && ga();
2736
- }, Math.max(e.until - Date.now(), 1e3)), !0) : (Ca(), !1);
2716
+ function Ta() {
2717
+ let e = Ea();
2718
+ return e?.until ? (ya(), ba(), aa = window.setTimeout(() => {
2719
+ aa = void 0, ca && $i(!0) && pa();
2720
+ }, Math.max(e.until - Date.now(), 1e3)), !0) : (ba(), !1);
2737
2721
  }
2738
- function ka() {
2739
- let e = Aa();
2722
+ function Ea() {
2723
+ let e = Da();
2740
2724
  return !e?.until || e.until <= Date.now() ? null : e;
2741
2725
  }
2742
- function Aa() {
2726
+ function Da() {
2743
2727
  try {
2744
- let e = localStorage.getItem(oa);
2728
+ let e = localStorage.getItem(ra);
2745
2729
  return e ? JSON.parse(e) : null;
2746
2730
  } catch {
2747
- return localStorage.removeItem(oa), null;
2731
+ return localStorage.removeItem(ra), null;
2748
2732
  }
2749
2733
  }
2750
- function ja(e) {
2751
- let t = {}, n = {}, r = [], i = Ma(e.main);
2752
- i && (t.main = e.main ?? {}, n.main = i), e.main?.changelog && r.push(...Pa(e.main.changelog));
2734
+ function Oa(e) {
2735
+ let t = {}, n = {}, r = [], i = ka(e.main);
2736
+ i && (t.main = e.main ?? {}, n.main = i), e.main?.changelog && r.push(...ja(e.main.changelog));
2753
2737
  for (let [i, a] of Object.entries(e.apps ?? {})) {
2754
- let e = Ma(a);
2755
- e && (t[i] = a, n[i] = e), a.changelog && r.push(...Pa(a.changelog));
2738
+ let e = ka(a);
2739
+ e && (t[i] = a, n[i] = e), a.changelog && r.push(...ja(a.changelog));
2756
2740
  }
2757
2741
  return {
2758
2742
  changelog: r,
@@ -2762,10 +2746,10 @@ function ja(e) {
2762
2746
  versions: n
2763
2747
  };
2764
2748
  }
2765
- function Ma(e) {
2749
+ function ka(e) {
2766
2750
  return [e?.version, e?.buildTime].filter(Boolean).join("@");
2767
2751
  }
2768
- function Na(e, t) {
2752
+ function Aa(e, t) {
2769
2753
  let n = Object.entries(t.versions).filter(([t, n]) => e.versions[t] !== n).map(([e]) => [e, t.entries[e]]).filter((e) => !!e[1]), r = Object.keys(e.versions).filter((e) => !t.versions[e]);
2770
2754
  if (!n.length && !r.length) return null;
2771
2755
  let i = {};
@@ -2774,32 +2758,32 @@ function Na(e, t) {
2774
2758
  n && (i[e] = n);
2775
2759
  }
2776
2760
  return {
2777
- changelog: n.flatMap(([, e]) => Pa(e.changelog)),
2761
+ changelog: n.flatMap(([, e]) => ja(e.changelog)),
2778
2762
  displayVersion: i.main || Object.values(i)[0] || "",
2779
2763
  entries: Object.fromEntries(n),
2780
2764
  label: [...n.map(([e]) => `${e}:${t.versions[e]}`), ...r.map((e) => `${e}:removed`)].join("|"),
2781
2765
  versions: i
2782
2766
  };
2783
2767
  }
2784
- function Pa(e) {
2768
+ function ja(e) {
2785
2769
  return Array.isArray(e) ? e.map((e) => String(e).trim()).filter(Boolean) : [];
2786
2770
  }
2787
- function Fa(e) {
2771
+ function Ma(e) {
2788
2772
  let [t, n] = e.split("@");
2789
2773
  return t && n ? `版本 ${t} · ${n}` : t || n || "";
2790
2774
  }
2791
2775
  //#endregion
2792
2776
  //#region src/main/directives/index.ts
2793
- var Ia = {
2777
+ var Na = {
2794
2778
  mounted(e, t) {
2795
- La(e, t.value);
2779
+ Pa(e, t.value);
2796
2780
  },
2797
2781
  updated(e, t) {
2798
- La(e, t.value);
2782
+ Pa(e, t.value);
2799
2783
  }
2800
2784
  };
2801
- function La(e, t) {
2802
- let n = a(), r = Ra(t), i = typeof t == "object" && !Array.isArray(t) && t.mode || "all", o = typeof t == "object" && !Array.isArray(t) ? !!t.disabled : !1, s = i === "any" ? r.some((e) => n.hasPermission(e)) : r.every((e) => n.hasPermission(e));
2785
+ function Pa(e, t) {
2786
+ let n = a(), r = Fa(t), i = typeof t == "object" && !Array.isArray(t) && t.mode || "all", o = typeof t == "object" && !Array.isArray(t) ? !!t.disabled : !1, s = i === "any" ? r.some((e) => n.hasPermission(e)) : r.every((e) => n.hasPermission(e));
2803
2787
  if (!r.length || s) {
2804
2788
  e.style.display = "", e.hidden = !1, o && (e.removeAttribute("disabled"), e.classList.remove("is-disabled"));
2805
2789
  return;
@@ -2810,32 +2794,32 @@ function La(e, t) {
2810
2794
  }
2811
2795
  e.style.display = "none", e.hidden = !0;
2812
2796
  }
2813
- function Ra(e) {
2797
+ function Fa(e) {
2814
2798
  return typeof e == "string" ? e ? [e] : [] : Array.isArray(e) ? e : e.permissions ?? [];
2815
2799
  }
2816
- function za(e) {
2817
- e.directive("permission", Ia);
2800
+ function Ia(e) {
2801
+ e.directive("permission", Na);
2818
2802
  }
2819
2803
  //#endregion
2820
2804
  //#region src/main/app/create-app.ts
2821
- async function Ba(e) {
2822
- Je(e.appConfig), $e();
2823
- let t = oi({
2805
+ async function La(e) {
2806
+ qe(e.appConfig), Qe();
2807
+ let t = ai({
2824
2808
  businessRoutes: e.businessRoutes,
2825
2809
  history: e.routerHistory,
2826
2810
  scrollBehavior: e.routerScrollBehavior,
2827
2811
  setupRouter: e.setupRouter
2828
- }), n = D(e.rootComponent), r = se(), i = {
2812
+ }), n = D(e.rootComponent), r = oe(), i = {
2829
2813
  app: n,
2830
2814
  router: t,
2831
2815
  pinia: r,
2832
- http: Xe,
2833
- requestManager: Qe
2816
+ http: Ye,
2817
+ requestManager: Ze
2834
2818
  };
2835
- de(), n.use(x, { locale: Ge }), n.use(r), n.use(t), za(n), Ke(t), await e.setupApp?.(i), await e.beforePlatformInit?.(i);
2836
- let a = X(r), o = l(r), s = dt(r);
2837
- a.initializePreferences(), ha(e.appConfig.updateChecker);
2838
- let c = ue({ fullscreen: !0 });
2819
+ ue(), n.use(x, { locale: We }), n.use(r), n.use(t), Ia(n), Ge(t), await e.setupApp?.(i), await e.beforePlatformInit?.(i);
2820
+ let a = Z(r), o = l(r), s = ut(r);
2821
+ a.initializePreferences(), fa(e.appConfig.updateChecker);
2822
+ let c = le({ fullscreen: !0 });
2839
2823
  try {
2840
2824
  await Promise.all([o.initializeSystemConfig(), s.initializeTabs()]);
2841
2825
  } finally {
@@ -2849,4 +2833,4 @@ async function Ba(e) {
2849
2833
  return await e.afterMount?.(d), n;
2850
2834
  }
2851
2835
  //#endregion
2852
- export { Ze as _, na as a, Ke as b, Gi as c, Gr as d, Ht as f, $e as g, dt as h, _a as i, oi as l, J as m, va as n, ra as o, X as p, ha as r, Ki as s, Ba as t, ai as u, Xe as v, Qe as y };
2836
+ export { Xe as _, $i as a, Ge as b, Hi as c, Wr as d, Vt as f, Qe as g, ut as h, ma as i, ai as l, Y as m, ha as n, ea as o, Z as p, fa as r, Ui as s, La as t, ii as u, Ye as v, Ze as y };