jmash-core 0.0.96 → 0.0.97

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.
Files changed (194) hide show
  1. package/dist/401-gR-a4eWP.mjs +100 -0
  2. package/dist/404-CvF2Wpf5.mjs +37 -0
  3. package/dist/BarChart--k4pvqvu.mjs +199 -0
  4. package/dist/FunnelChart-Ci14WUay.mjs +107 -0
  5. package/dist/PieChart-C60V9Kgc.mjs +4 -0
  6. package/dist/PieChart.vue_vue_type_script_setup_true_lang-D1-1NDvg.mjs +89 -0
  7. package/dist/RadarChart-BBq1VxXC.mjs +4 -0
  8. package/dist/RadarChart.vue_vue_type_script_setup_true_lang-BNLujpKR.mjs +108 -0
  9. package/dist/favicon.ico +0 -0
  10. package/dist/index-B3bBQvl1.mjs +43717 -0
  11. package/dist/index-Bw3IdFvk.mjs +19539 -0
  12. package/dist/index-ByS03yYq.mjs +1629 -0
  13. package/dist/index-CsnH0_yb.mjs +367 -0
  14. package/dist/index-DSalnTBz.mjs +267 -0
  15. package/dist/index-uykKwY2Z.mjs +12 -0
  16. package/dist/index.mjs +58 -0
  17. package/dist/picture-CBRsHLZl.mjs +22 -0
  18. package/dist/profile-DB5oJY6F.mjs +267 -0
  19. package/dist/runAs-BgAqMTuy.mjs +4 -0
  20. package/dist/runAs.vue_vue_type_script_setup_true_lang-SOwNuXuK.mjs +2496 -0
  21. package/dist/style.css +1 -0
  22. package/dist/types-4mFLhd4n.mjs +204 -0
  23. package/dist/updatePwd-Dr2JoWzO.mjs +4 -0
  24. package/dist/updatePwd.vue_vue_type_script_setup_true_lang-sFzRukhN.mjs +146 -0
  25. package/dts/src/App.vue.d.ts +2 -0
  26. package/dts/src/api/auth/index.d.ts +66 -0
  27. package/dts/src/api/auth/types.d.ts +201 -0
  28. package/dts/src/api/file/index.d.ts +33 -0
  29. package/dts/src/api/file/types.d.ts +14 -0
  30. package/dts/src/api/index.d.ts +38 -0
  31. package/dts/src/api/types.d.ts +85 -0
  32. package/dts/src/assets/components/icon-a-fixed.vue.d.ts +2 -0
  33. package/dts/src/assets/components/icon-a-list.vue.d.ts +2 -0
  34. package/dts/src/assets/components/icon-anquanrizhi.vue.d.ts +2 -0
  35. package/dts/src/assets/components/icon-api.vue.d.ts +2 -0
  36. package/dts/src/assets/components/icon-bumenguanli.vue.d.ts +2 -0
  37. package/dts/src/assets/components/icon-caozuoguanliyuan.vue.d.ts +2 -0
  38. package/dts/src/assets/components/icon-captcha.vue.d.ts +2 -0
  39. package/dts/src/assets/components/icon-cascader.vue.d.ts +2 -0
  40. package/dts/src/assets/components/icon-client.vue.d.ts +2 -0
  41. package/dts/src/assets/components/icon-close-all.vue.d.ts +2 -0
  42. package/dts/src/assets/components/icon-close-eye.vue.d.ts +2 -0
  43. package/dts/src/assets/components/icon-close-left.vue.d.ts +2 -0
  44. package/dts/src/assets/components/icon-close-other.vue.d.ts +2 -0
  45. package/dts/src/assets/components/icon-close-right.vue.d.ts +2 -0
  46. package/dts/src/assets/components/icon-close.vue.d.ts +2 -0
  47. package/dts/src/assets/components/icon-dept.vue.d.ts +2 -0
  48. package/dts/src/assets/components/icon-dict.vue.d.ts +2 -0
  49. package/dts/src/assets/components/icon-document.vue.d.ts +2 -0
  50. package/dts/src/assets/components/icon-download.vue.d.ts +2 -0
  51. package/dts/src/assets/components/icon-drag.vue.d.ts +2 -0
  52. package/dts/src/assets/components/icon-edit.vue.d.ts +2 -0
  53. package/dts/src/assets/components/icon-email.vue.d.ts +2 -0
  54. package/dts/src/assets/components/icon-exit-fullscreen.vue.d.ts +2 -0
  55. package/dts/src/assets/components/icon-eye-open.vue.d.ts +2 -0
  56. package/dts/src/assets/components/icon-fullscreen-exit.vue.d.ts +2 -0
  57. package/dts/src/assets/components/icon-fullscreen.vue.d.ts +2 -0
  58. package/dts/src/assets/components/icon-gangweiguanli.vue.d.ts +2 -0
  59. package/dts/src/assets/components/icon-github.vue.d.ts +2 -0
  60. package/dts/src/assets/components/icon-homepage.vue.d.ts +2 -0
  61. package/dts/src/assets/components/icon-icon.vue.d.ts +2 -0
  62. package/dts/src/assets/components/icon-indent-decrease.vue.d.ts +2 -0
  63. package/dts/src/assets/components/icon-ip.vue.d.ts +2 -0
  64. package/dts/src/assets/components/icon-jiemianxijietubiao-26.vue.d.ts +2 -0
  65. package/dts/src/assets/components/icon-language.vue.d.ts +2 -0
  66. package/dts/src/assets/components/icon-link.vue.d.ts +2 -0
  67. package/dts/src/assets/components/icon-lock.vue.d.ts +2 -0
  68. package/dts/src/assets/components/icon-log.vue.d.ts +2 -0
  69. package/dts/src/assets/components/icon-menu.vue.d.ts +2 -0
  70. package/dts/src/assets/components/icon-message.vue.d.ts +2 -0
  71. package/dts/src/assets/components/icon-mokuaiguanli.vue.d.ts +2 -0
  72. package/dts/src/assets/components/icon-money.vue.d.ts +2 -0
  73. package/dts/src/assets/components/icon-monitor.vue.d.ts +2 -0
  74. package/dts/src/assets/components/icon-moon.vue.d.ts +2 -0
  75. package/dts/src/assets/components/icon-order.vue.d.ts +2 -0
  76. package/dts/src/assets/components/icon-password.vue.d.ts +2 -0
  77. package/dts/src/assets/components/icon-peoples.vue.d.ts +2 -0
  78. package/dts/src/assets/components/icon-phone.vue.d.ts +2 -0
  79. package/dts/src/assets/components/icon-project.vue.d.ts +2 -0
  80. package/dts/src/assets/components/icon-publish.vue.d.ts +2 -0
  81. package/dts/src/assets/components/icon-quanxianguanli.vue.d.ts +2 -0
  82. package/dts/src/assets/components/icon-redis.vue.d.ts +2 -0
  83. package/dts/src/assets/components/icon-refresh.vue.d.ts +2 -0
  84. package/dts/src/assets/components/icon-role.vue.d.ts +2 -0
  85. package/dts/src/assets/components/icon-security.vue.d.ts +2 -0
  86. package/dts/src/assets/components/icon-setting.vue.d.ts +2 -0
  87. package/dts/src/assets/components/icon-shoujihao.vue.d.ts +2 -0
  88. package/dts/src/assets/components/icon-shrink.vue.d.ts +2 -0
  89. package/dts/src/assets/components/icon-size.vue.d.ts +2 -0
  90. package/dts/src/assets/components/icon-sunny.vue.d.ts +2 -0
  91. package/dts/src/assets/components/icon-system.vue.d.ts +2 -0
  92. package/dts/src/assets/components/icon-table.vue.d.ts +2 -0
  93. package/dts/src/assets/components/icon-team.vue.d.ts +2 -0
  94. package/dts/src/assets/components/icon-todolist.vue.d.ts +2 -0
  95. package/dts/src/assets/components/icon-tree.vue.d.ts +2 -0
  96. package/dts/src/assets/components/icon-user.vue.d.ts +2 -0
  97. package/dts/src/assets/components/icon-visit.vue.d.ts +2 -0
  98. package/dts/src/assets/components/icon-xingming.vue.d.ts +2 -0
  99. package/dts/src/assets/components/icon-yonghuguanli.vue.d.ts +2 -0
  100. package/dts/src/assets/components/icon-youxiang.vue.d.ts +2 -0
  101. package/dts/src/assets/components/index.d.ts +69 -0
  102. package/dts/src/assets/index.d.ts +2 -0
  103. package/dts/src/components/AppLink/index.vue.d.ts +19 -0
  104. package/dts/src/components/Breadcrumb/index.vue.d.ts +2 -0
  105. package/dts/src/components/DictRadio/index.vue.d.ts +32 -0
  106. package/dts/src/components/DictSelect/index.vue.d.ts +50 -0
  107. package/dts/src/components/Dictionary/index.vue.d.ts +47 -0
  108. package/dts/src/components/GithubCorner/index.vue.d.ts +2 -0
  109. package/dts/src/components/Hamburger/index.vue.d.ts +18 -0
  110. package/dts/src/components/IconSelect/index.vue.d.ts +20 -0
  111. package/dts/src/components/IconSelect/requireIcons.d.ts +3 -0
  112. package/dts/src/components/JmashColumnSelect/index.vue.d.ts +17 -0
  113. package/dts/src/components/JmashEnumSelect/index.vue.d.ts +23 -0
  114. package/dts/src/components/JmashPagination/index.vue.d.ts +32 -0
  115. package/dts/src/components/JmashTable/index.vue.d.ts +46 -0
  116. package/dts/src/components/JmashUploadFile/index.vue.d.ts +7 -0
  117. package/dts/src/components/JmashUploadImage/index.vue.d.ts +37 -0
  118. package/dts/src/components/LangSelect/index.vue.d.ts +2 -0
  119. package/dts/src/components/Pagination/index.vue.d.ts +88 -0
  120. package/dts/src/components/RightPanel/index.vue.d.ts +21 -0
  121. package/dts/src/components/SizeSelect/index.vue.d.ts +2 -0
  122. package/dts/src/components/SvgIcon/index.vue.d.ts +43 -0
  123. package/dts/src/components/Table/index.vue.d.ts +64 -0
  124. package/dts/src/components/Upload/MultiUpload.vue.d.ts +65 -0
  125. package/dts/src/components/Upload/SingleUpload.vue.d.ts +18 -0
  126. package/dts/src/components/Upload/importUpload.vue.d.ts +31 -0
  127. package/dts/src/components/Upload/index.vue.d.ts +18 -0
  128. package/dts/src/components/index.d.ts +0 -0
  129. package/dts/src/directive/index.d.ts +5 -0
  130. package/dts/src/directive/permission/index.d.ts +9 -0
  131. package/dts/src/enums/DeviceEnum.d.ts +13 -0
  132. package/dts/src/enums/LayoutEnum.d.ts +17 -0
  133. package/dts/src/enums/MenuTypeEnum.d.ts +21 -0
  134. package/dts/src/enums/SidebarStatusEnum.d.ts +13 -0
  135. package/dts/src/enums/ThemeEnum.d.ts +17 -0
  136. package/dts/src/hooks/table.d.ts +43 -0
  137. package/dts/src/hooks/useList.d.ts +1 -0
  138. package/dts/src/index.d.ts +38 -0
  139. package/dts/src/lang/index.d.ts +2 -0
  140. package/dts/src/lang/package/en.d.ts +147 -0
  141. package/dts/src/lang/package/zh-cn.d.ts +151 -0
  142. package/dts/src/layout/components/AppMain/index.vue.d.ts +2 -0
  143. package/dts/src/layout/components/NavBar/components/NavbarLeft.vue.d.ts +2 -0
  144. package/dts/src/layout/components/NavBar/components/NavbarRight.vue.d.ts +2 -0
  145. package/dts/src/layout/components/NavBar/index.vue.d.ts +2 -0
  146. package/dts/src/layout/components/Settings/components/LayoutSelect.vue.d.ts +10 -0
  147. package/dts/src/layout/components/Settings/components/ThemeColorPicker.vue.d.ts +10 -0
  148. package/dts/src/layout/components/Settings/index.vue.d.ts +2 -0
  149. package/dts/src/layout/components/Sidebar/components/SidebarLogo.vue.d.ts +12 -0
  150. package/dts/src/layout/components/Sidebar/components/SidebarMenu.vue.d.ts +50 -0
  151. package/dts/src/layout/components/Sidebar/components/SidebarMenuItem.vue.d.ts +42 -0
  152. package/dts/src/layout/components/Sidebar/components/SidebarMenuItemTitle.vue.d.ts +32 -0
  153. package/dts/src/layout/components/Sidebar/components/SidebarMixTopMenu.vue.d.ts +2 -0
  154. package/dts/src/layout/components/Sidebar/index.vue.d.ts +2 -0
  155. package/dts/src/layout/components/TagsView/index.vue.d.ts +2 -0
  156. package/dts/src/layout/index.vue.d.ts +2 -0
  157. package/dts/src/main.d.ts +1 -0
  158. package/dts/src/permission.d.ts +1 -0
  159. package/dts/src/router/index.d.ts +22 -0
  160. package/dts/src/settings.d.ts +28 -0
  161. package/dts/src/stores/index.d.ts +7 -0
  162. package/dts/src/stores/modules/app.d.ts +2 -0
  163. package/dts/src/stores/modules/permission.d.ts +2 -0
  164. package/dts/src/stores/modules/settings.d.ts +1 -0
  165. package/dts/src/stores/modules/tagsView.d.ts +85 -0
  166. package/dts/src/stores/modules/user.d.ts +2 -0
  167. package/dts/src/types/index.d.ts +74 -0
  168. package/dts/src/utils/color.d.ts +69 -0
  169. package/dts/src/utils/common.d.ts +6 -0
  170. package/dts/src/utils/file_hash_util.d.ts +28 -0
  171. package/dts/src/utils/fileajax.d.ts +9 -0
  172. package/dts/src/utils/grpc.d.ts +3 -0
  173. package/dts/src/utils/i18n.d.ts +4 -0
  174. package/dts/src/utils/index.d.ts +33 -0
  175. package/dts/src/utils/netsecret.d.ts +1 -0
  176. package/dts/src/utils/nprogress.d.ts +4 -0
  177. package/dts/src/utils/request.d.ts +4 -0
  178. package/dts/src/utils/route.d.ts +6 -0
  179. package/dts/src/utils/scroll-to.d.ts +6 -0
  180. package/dts/src/utils/sm3.d.ts +10 -0
  181. package/dts/src/views/dashboard/components/BarChart.vue.d.ts +45 -0
  182. package/dts/src/views/dashboard/components/FunnelChart.vue.d.ts +45 -0
  183. package/dts/src/views/dashboard/components/PieChart.vue.d.ts +45 -0
  184. package/dts/src/views/dashboard/components/RadarChart.vue.d.ts +45 -0
  185. package/dts/src/views/dashboard/index.vue.d.ts +2 -0
  186. package/dts/src/views/error-page/401.vue.d.ts +2 -0
  187. package/dts/src/views/error-page/404.vue.d.ts +2 -0
  188. package/dts/src/views/login/components/types.vue.d.ts +2 -0
  189. package/dts/src/views/login/index.vue.d.ts +2 -0
  190. package/dts/src/views/my/profile.vue.d.ts +2 -0
  191. package/dts/src/views/my/runAs.vue.d.ts +6 -0
  192. package/dts/src/views/my/updatePwd.vue.d.ts +18 -0
  193. package/dts/src/views/redirect/index.vue.d.ts +2 -0
  194. package/package.json +1 -1
@@ -0,0 +1,1629 @@
1
+ import { u as Q, E as He, S as ae, a as be, b as qe, c as te, D as me, d as We, f as Ke, e as ce, _ as Xe, g as F, i as Se, r as Ce, h as de, T as he, m as je, s as Ge, j as Ye, k as ue, l as Je } from "./index-Bw3IdFvk.mjs";
2
+ import { defineComponent as I, ref as z, resolveComponent as V, openBlock as u, createBlock as k, withCtx as g, createVNode as _, createElementBlock as x, Fragment as W, renderList as le, unref as l, createTextVNode as B, toDisplayString as P, createElementVNode as w, computed as R, resolveDirective as Qe, createCommentVNode as T, withDirectives as Te, isRef as _e, watch as ne, onBeforeMount as Ze, TransitionGroup as et, withModifiers as re, normalizeClass as H, pushScopeId as tt, popScopeId as nt, Transition as Ae, KeepAlive as ot, resolveDynamicComponent as xe, getCurrentInstance as it, nextTick as $e, onMounted as Me, normalizeStyle as at, vShow as lt, normalizeProps as st, guardReactiveProps as rt, renderSlot as ct, watchEffect as ut } from "vue";
3
+ import { useRoute as fe, useRouter as ye } from "vue-router";
4
+ import { _ as dt } from "./updatePwd.vue_vue_type_script_setup_true_lang-sFzRukhN.mjs";
5
+ import { _ as ft, E as mt } from "./runAs.vue_vue_type_script_setup_true_lang-SOwNuXuK.mjs";
6
+ import { storeToRefs as _t } from "pinia";
7
+ const pt = /* @__PURE__ */ I({
8
+ __name: "index",
9
+ setup(i) {
10
+ const e = Q(), t = z([
11
+ { label: "默认", value: "default" },
12
+ { label: "大型", value: "large" },
13
+ { label: "小型", value: "small" }
14
+ ]);
15
+ function n(r) {
16
+ e.changeSize(r), He.success("切换布局大小成功");
17
+ }
18
+ return (r, o) => {
19
+ const a = ae, s = V("el-dropdown-item"), c = V("el-dropdown-menu"), m = V("el-dropdown");
20
+ return u(), k(m, {
21
+ trigger: "click",
22
+ onCommand: n
23
+ }, {
24
+ dropdown: g(() => [
25
+ _(c, null, {
26
+ default: g(() => [
27
+ (u(!0), x(W, null, le(l(t), (d) => (u(), k(s, {
28
+ key: d.value,
29
+ disabled: l(e).size == d.value,
30
+ command: d.value
31
+ }, {
32
+ default: g(() => [
33
+ B(P(d.label), 1)
34
+ ]),
35
+ _: 2
36
+ }, 1032, ["disabled", "command"]))), 128))
37
+ ]),
38
+ _: 1
39
+ })
40
+ ]),
41
+ default: g(() => [
42
+ w("div", null, [
43
+ _(a, { "icon-class": "size" })
44
+ ])
45
+ ]),
46
+ _: 1
47
+ });
48
+ };
49
+ }
50
+ }), vt = { class: "flex" }, ht = { class: "flex-center h100% p10px" }, gt = ["src"], bt = /* @__PURE__ */ I({
51
+ __name: "NavbarRight",
52
+ setup(i) {
53
+ const e = Q(), t = be(), n = qe(), r = te();
54
+ fe();
55
+ const o = ye(), a = R(() => e.device === me.MOBILE), s = z(!1), c = z(!1), { isFullscreen: m, toggle: d } = We(), f = R(() => Ke.imageUrl(n.user.avatar, 48, 48));
56
+ function p() {
57
+ c.value = !0;
58
+ }
59
+ function h() {
60
+ mt.confirm("确定注销并退出系统吗?", "提示", {
61
+ confirmButtonText: "确定",
62
+ cancelButtonText: "取消",
63
+ type: "warning",
64
+ lockScroll: !1
65
+ }).then(() => {
66
+ n.logout().then(() => {
67
+ t.delAllViews();
68
+ }).then(() => {
69
+ o.push("/login");
70
+ });
71
+ });
72
+ }
73
+ function y($) {
74
+ s.value = $;
75
+ }
76
+ return ($, S) => {
77
+ const A = ae, O = pt, C = V("el-tooltip"), U = Xe, Z = V("router-link"), N = V("el-dropdown-item"), j = V("el-dropdown-menu"), G = V("el-dropdown"), ee = Qe("hasRole");
78
+ return u(), x("div", vt, [
79
+ l(a) ? T("", !0) : (u(), x(W, { key: 0 }, [
80
+ w("div", {
81
+ class: "setting-item",
82
+ onClick: S[0] || (S[0] = //@ts-ignore
83
+ (...Y) => l(d) && l(d)(...Y))
84
+ }, [
85
+ _(A, {
86
+ "icon-class": l(m) ? "fullscreen-exit" : "fullscreen"
87
+ }, null, 8, ["icon-class"])
88
+ ]),
89
+ _(C, {
90
+ content: $.$t("sizeSelect.tooltip"),
91
+ effect: "dark",
92
+ placement: "bottom"
93
+ }, {
94
+ default: g(() => [
95
+ _(O, { class: "setting-item" })
96
+ ]),
97
+ _: 1
98
+ }, 8, ["content"]),
99
+ _(U, { class: "setting-item" })
100
+ ], 64)),
101
+ _(G, {
102
+ class: "setting-item",
103
+ trigger: "click"
104
+ }, {
105
+ dropdown: g(() => [
106
+ _(j, null, {
107
+ default: g(() => [
108
+ _(N, null, {
109
+ default: g(() => [
110
+ _(Z, { to: "/" }, {
111
+ default: g(() => [
112
+ B(P($.$t("navbar.Dashboard")), 1)
113
+ ]),
114
+ _: 1
115
+ })
116
+ ]),
117
+ _: 1
118
+ }),
119
+ _(N, null, {
120
+ default: g(() => [
121
+ _(Z, { to: "/my/profile" }, {
122
+ default: g(() => [
123
+ B(P($.$t("navbar.profile")), 1)
124
+ ]),
125
+ _: 1
126
+ })
127
+ ]),
128
+ _: 1
129
+ }),
130
+ _(N, {
131
+ onClick: S[1] || (S[1] = (Y) => s.value = !0)
132
+ }, {
133
+ default: g(() => [
134
+ B(P($.$t("navbar.changePwd")), 1)
135
+ ]),
136
+ _: 1
137
+ }),
138
+ Te((u(), x("div", null, [
139
+ _(N, { onClick: p }, {
140
+ default: g(() => [
141
+ B(P($.$t("navbar.runAs")), 1)
142
+ ]),
143
+ _: 1
144
+ })
145
+ ])), [
146
+ [ee, ["tester"]]
147
+ ]),
148
+ _(N, {
149
+ divided: "",
150
+ onClick: h
151
+ }, {
152
+ default: g(() => [
153
+ B(P($.$t("navbar.logout")), 1)
154
+ ]),
155
+ _: 1
156
+ })
157
+ ]),
158
+ _: 1
159
+ })
160
+ ]),
161
+ default: g(() => [
162
+ w("div", ht, [
163
+ w("img", {
164
+ src: l(f),
165
+ class: "rounded-full mr-10px w24px w24px"
166
+ }, null, 8, gt),
167
+ w("span", null, P(l(n).user.nickName), 1)
168
+ ])
169
+ ]),
170
+ _: 1
171
+ }),
172
+ l(ce).showSettings ? (u(), x("div", {
173
+ key: 1,
174
+ class: "setting-item",
175
+ onClick: S[2] || (S[2] = (Y) => l(r).settingsVisible = !0)
176
+ }, [
177
+ _(A, { "icon-class": "setting" })
178
+ ])) : T("", !0),
179
+ l(s) ? (u(), k(dt, {
180
+ key: 2,
181
+ "pwd-visible": l(s),
182
+ onDialogActionChange: y
183
+ }, null, 8, ["pwd-visible"])) : T("", !0),
184
+ l(c) ? (u(), k(ft, {
185
+ key: 3,
186
+ modelValue: l(c),
187
+ "onUpdate:modelValue": S[3] || (S[3] = (Y) => _e(c) ? c.value = Y : null)
188
+ }, null, 8, ["modelValue"])) : T("", !0)
189
+ ]);
190
+ };
191
+ }
192
+ }), Pe = /* @__PURE__ */ F(bt, [["__scopeId", "data-v-4a5295d0"]]);
193
+ function xt(i) {
194
+ for (var e = [], t = 0; t < i.length; ) {
195
+ var n = i[t];
196
+ if (n === "*" || n === "+" || n === "?") {
197
+ e.push({ type: "MODIFIER", index: t, value: i[t++] });
198
+ continue;
199
+ }
200
+ if (n === "\\") {
201
+ e.push({ type: "ESCAPED_CHAR", index: t++, value: i[t++] });
202
+ continue;
203
+ }
204
+ if (n === "{") {
205
+ e.push({ type: "OPEN", index: t, value: i[t++] });
206
+ continue;
207
+ }
208
+ if (n === "}") {
209
+ e.push({ type: "CLOSE", index: t, value: i[t++] });
210
+ continue;
211
+ }
212
+ if (n === ":") {
213
+ for (var r = "", o = t + 1; o < i.length; ) {
214
+ var a = i.charCodeAt(o);
215
+ if (
216
+ // `0-9`
217
+ a >= 48 && a <= 57 || // `A-Z`
218
+ a >= 65 && a <= 90 || // `a-z`
219
+ a >= 97 && a <= 122 || // `_`
220
+ a === 95
221
+ ) {
222
+ r += i[o++];
223
+ continue;
224
+ }
225
+ break;
226
+ }
227
+ if (!r)
228
+ throw new TypeError("Missing parameter name at ".concat(t));
229
+ e.push({ type: "NAME", index: t, value: r }), t = o;
230
+ continue;
231
+ }
232
+ if (n === "(") {
233
+ var s = 1, c = "", o = t + 1;
234
+ if (i[o] === "?")
235
+ throw new TypeError('Pattern cannot start with "?" at '.concat(o));
236
+ for (; o < i.length; ) {
237
+ if (i[o] === "\\") {
238
+ c += i[o++] + i[o++];
239
+ continue;
240
+ }
241
+ if (i[o] === ")") {
242
+ if (s--, s === 0) {
243
+ o++;
244
+ break;
245
+ }
246
+ } else if (i[o] === "(" && (s++, i[o + 1] !== "?"))
247
+ throw new TypeError("Capturing groups are not allowed at ".concat(o));
248
+ c += i[o++];
249
+ }
250
+ if (s)
251
+ throw new TypeError("Unbalanced pattern at ".concat(t));
252
+ if (!c)
253
+ throw new TypeError("Missing pattern at ".concat(t));
254
+ e.push({ type: "PATTERN", index: t, value: c }), t = o;
255
+ continue;
256
+ }
257
+ e.push({ type: "CHAR", index: t, value: i[t++] });
258
+ }
259
+ return e.push({ type: "END", index: t, value: "" }), e;
260
+ }
261
+ function yt(i, e) {
262
+ e === void 0 && (e = {});
263
+ for (var t = xt(i), n = e.prefixes, r = n === void 0 ? "./" : n, o = "[^".concat(St(e.delimiter || "/#?"), "]+?"), a = [], s = 0, c = 0, m = "", d = function(N) {
264
+ if (c < t.length && t[c].type === N)
265
+ return t[c++].value;
266
+ }, f = function(N) {
267
+ var j = d(N);
268
+ if (j !== void 0)
269
+ return j;
270
+ var G = t[c], ee = G.type, Y = G.index;
271
+ throw new TypeError("Unexpected ".concat(ee, " at ").concat(Y, ", expected ").concat(N));
272
+ }, p = function() {
273
+ for (var N = "", j; j = d("CHAR") || d("ESCAPED_CHAR"); )
274
+ N += j;
275
+ return N;
276
+ }; c < t.length; ) {
277
+ var h = d("CHAR"), y = d("NAME"), $ = d("PATTERN");
278
+ if (y || $) {
279
+ var S = h || "";
280
+ r.indexOf(S) === -1 && (m += S, S = ""), m && (a.push(m), m = ""), a.push({
281
+ name: y || s++,
282
+ prefix: S,
283
+ suffix: "",
284
+ pattern: $ || o,
285
+ modifier: d("MODIFIER") || ""
286
+ });
287
+ continue;
288
+ }
289
+ var A = h || d("ESCAPED_CHAR");
290
+ if (A) {
291
+ m += A;
292
+ continue;
293
+ }
294
+ m && (a.push(m), m = "");
295
+ var O = d("OPEN");
296
+ if (O) {
297
+ var S = p(), C = d("NAME") || "", U = d("PATTERN") || "", Z = p();
298
+ f("CLOSE"), a.push({
299
+ name: C || (U ? s++ : ""),
300
+ pattern: C && !U ? o : U,
301
+ prefix: S,
302
+ suffix: Z,
303
+ modifier: d("MODIFIER") || ""
304
+ });
305
+ continue;
306
+ }
307
+ f("END");
308
+ }
309
+ return a;
310
+ }
311
+ function wt(i, e) {
312
+ return kt(yt(i, e), e);
313
+ }
314
+ function kt(i, e) {
315
+ e === void 0 && (e = {});
316
+ var t = Ct(e), n = e.encode, r = n === void 0 ? function(c) {
317
+ return c;
318
+ } : n, o = e.validate, a = o === void 0 ? !0 : o, s = i.map(function(c) {
319
+ if (typeof c == "object")
320
+ return new RegExp("^(?:".concat(c.pattern, ")$"), t);
321
+ });
322
+ return function(c) {
323
+ for (var m = "", d = 0; d < i.length; d++) {
324
+ var f = i[d];
325
+ if (typeof f == "string") {
326
+ m += f;
327
+ continue;
328
+ }
329
+ var p = c ? c[f.name] : void 0, h = f.modifier === "?" || f.modifier === "*", y = f.modifier === "*" || f.modifier === "+";
330
+ if (Array.isArray(p)) {
331
+ if (!y)
332
+ throw new TypeError('Expected "'.concat(f.name, '" to not repeat, but got an array'));
333
+ if (p.length === 0) {
334
+ if (h)
335
+ continue;
336
+ throw new TypeError('Expected "'.concat(f.name, '" to not be empty'));
337
+ }
338
+ for (var $ = 0; $ < p.length; $++) {
339
+ var S = r(p[$], f);
340
+ if (a && !s[d].test(S))
341
+ throw new TypeError('Expected all "'.concat(f.name, '" to match "').concat(f.pattern, '", but got "').concat(S, '"'));
342
+ m += f.prefix + S + f.suffix;
343
+ }
344
+ continue;
345
+ }
346
+ if (typeof p == "string" || typeof p == "number") {
347
+ var S = r(String(p), f);
348
+ if (a && !s[d].test(S))
349
+ throw new TypeError('Expected "'.concat(f.name, '" to match "').concat(f.pattern, '", but got "').concat(S, '"'));
350
+ m += f.prefix + S + f.suffix;
351
+ continue;
352
+ }
353
+ if (!h) {
354
+ var A = y ? "an array" : "a string";
355
+ throw new TypeError('Expected "'.concat(f.name, '" to be ').concat(A));
356
+ }
357
+ }
358
+ return m;
359
+ };
360
+ }
361
+ function St(i) {
362
+ return i.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
363
+ }
364
+ function Ct(i) {
365
+ return i && i.sensitive ? "" : "i";
366
+ }
367
+ function ge(i) {
368
+ var e, t;
369
+ return pe((e = i.name) == null ? void 0 : e.toString(), (t = i.meta) == null ? void 0 : t.title);
370
+ }
371
+ function $t(i) {
372
+ return pe(i.name, i.title);
373
+ }
374
+ function pe(i, e) {
375
+ let t = i && i != "" ? i : e;
376
+ return Se.global.te("route." + t) ? Se.global.t("route." + t) : e || i;
377
+ }
378
+ const Vt = {
379
+ key: 0,
380
+ class: "color-gray-400"
381
+ }, Tt = ["onClick"], At = /* @__PURE__ */ I({
382
+ __name: "index",
383
+ setup(i) {
384
+ const e = fe(), t = (s) => {
385
+ const { params: c } = e;
386
+ return wt(s)(c);
387
+ }, n = z([]);
388
+ function r() {
389
+ let s = e.matched.filter(
390
+ (m) => m.meta && m.meta.title
391
+ );
392
+ const c = s[0];
393
+ o(c) || (s = [
394
+ { path: "/dashboard", meta: { title: "Dashboard" } }
395
+ ].concat(s)), n.value = s.filter((m) => m.meta && m.meta.title && m.meta.breadcrumb !== !1);
396
+ }
397
+ function o(s) {
398
+ const c = s && s.name;
399
+ return c ? c.toString().trim().toLocaleLowerCase() === "Dashboard".toLocaleLowerCase() : !1;
400
+ }
401
+ function a(s) {
402
+ const { redirect: c, path: m } = s;
403
+ if (c) {
404
+ Ce.value.push(c).catch((d) => {
405
+ console.warn(d);
406
+ });
407
+ return;
408
+ }
409
+ Ce.value.push(t(m)).catch((d) => {
410
+ console.warn(d);
411
+ });
412
+ }
413
+ return ne(
414
+ () => e.path,
415
+ (s) => {
416
+ s.startsWith("/redirect/") || r();
417
+ }
418
+ ), Ze(() => {
419
+ r();
420
+ }), (s, c) => {
421
+ const m = V("el-breadcrumb-item"), d = V("el-breadcrumb");
422
+ return u(), k(d, { class: "flex-y-center" }, {
423
+ default: g(() => [
424
+ _(et, { "enter-active-class": "animate__animated animate__fadeInRight" }, {
425
+ default: g(() => [
426
+ (u(!0), x(W, null, le(l(n), (f, p) => (u(), k(m, {
427
+ key: f.path
428
+ }, {
429
+ default: g(() => [
430
+ f.redirect === "noredirect" || p === l(n).length - 1 ? (u(), x("span", Vt, P(l(ge)(f)), 1)) : (u(), x("a", {
431
+ key: 1,
432
+ onClick: re((h) => a(f), ["prevent"])
433
+ }, P(l(ge)(f)), 9, Tt))
434
+ ]),
435
+ _: 2
436
+ }, 1024))), 128))
437
+ ]),
438
+ _: 1
439
+ })
440
+ ]),
441
+ _: 1
442
+ });
443
+ };
444
+ }
445
+ }), Mt = /* @__PURE__ */ F(At, [["__scopeId", "data-v-2ad27a3f"]]), Pt = /* @__PURE__ */ I({
446
+ __name: "index",
447
+ props: {
448
+ isActive: {
449
+ required: !0,
450
+ type: Boolean,
451
+ default: !1
452
+ }
453
+ },
454
+ emits: ["toggleClick"],
455
+ setup(i, { emit: e }) {
456
+ const t = e;
457
+ function n() {
458
+ t("toggleClick");
459
+ }
460
+ return (r, o) => {
461
+ const a = ae;
462
+ return u(), x("div", {
463
+ class: "px-[15px] flex items-center justify-center color-[var(--el-text-color-regular)]",
464
+ onClick: n
465
+ }, [
466
+ _(a, {
467
+ class: H(["hamburger", { "is-active": i.isActive }]),
468
+ "icon-class": "indent-decrease"
469
+ }, null, 8, ["class"])
470
+ ]);
471
+ };
472
+ }
473
+ }), Ee = /* @__PURE__ */ F(Pt, [["__scopeId", "data-v-dc46f6f8"]]), Et = { class: "flex" }, Lt = /* @__PURE__ */ I({
474
+ __name: "NavbarLeft",
475
+ setup(i) {
476
+ const e = Q();
477
+ function t() {
478
+ e.toggleSidebar();
479
+ }
480
+ return (n, r) => {
481
+ const o = Ee, a = Mt;
482
+ return u(), x("div", Et, [
483
+ _(o, {
484
+ "is-active": l(e).sidebar.opened,
485
+ onToggleClick: t
486
+ }, null, 8, ["is-active"]),
487
+ _(a)
488
+ ]);
489
+ };
490
+ }
491
+ }), It = {}, Rt = { class: "navbar-container" };
492
+ function Dt(i, e) {
493
+ const t = Lt, n = Pe;
494
+ return u(), x("div", Rt, [
495
+ _(t),
496
+ _(n)
497
+ ]);
498
+ }
499
+ const Bt = /* @__PURE__ */ F(It, [["render", Dt], ["__scopeId", "data-v-706e4188"]]);
500
+ var J = /* @__PURE__ */ ((i) => (i.LEFT = "left", i.TOP = "top", i.MIX = "mix", i))(J || {});
501
+ const se = (i) => (tt("data-v-d50a3d59"), i = i(), nt(), i), Nt = { class: "flex flex-wrap justify-around w-full h-12" }, Ot = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), zt = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Ft = [
502
+ Ot,
503
+ zt
504
+ ], Ut = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Ht = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), qt = [
505
+ Ut,
506
+ Ht
507
+ ], Wt = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Kt = /* @__PURE__ */ se(() => /* @__PURE__ */ w("div", null, null, -1)), Xt = [
508
+ Wt,
509
+ Kt
510
+ ], jt = /* @__PURE__ */ I({
511
+ __name: "LayoutSelect",
512
+ props: {
513
+ modelValue: String
514
+ },
515
+ emits: ["update:modelValue"],
516
+ setup(i, { emit: e }) {
517
+ const t = e;
518
+ function n(r) {
519
+ t("update:modelValue", r);
520
+ }
521
+ return (r, o) => {
522
+ const a = V("el-tooltip");
523
+ return u(), x("div", Nt, [
524
+ _(a, {
525
+ content: "左侧模式",
526
+ placement: "bottom"
527
+ }, {
528
+ default: g(() => [
529
+ w("div", {
530
+ class: H(["layout-item left", { "is-active": i.modelValue === l(J).LEFT }]),
531
+ onClick: o[0] || (o[0] = (s) => n(l(J).LEFT))
532
+ }, Ft, 2)
533
+ ]),
534
+ _: 1
535
+ }),
536
+ _(a, {
537
+ content: "顶部模式",
538
+ placement: "bottom"
539
+ }, {
540
+ default: g(() => [
541
+ w("div", {
542
+ class: H(["layout-item top", { "is-active": i.modelValue === l(J).TOP }]),
543
+ onClick: o[1] || (o[1] = (s) => n(l(J).TOP))
544
+ }, qt, 2)
545
+ ]),
546
+ _: 1
547
+ }),
548
+ _(a, {
549
+ content: "混合模式",
550
+ placement: "bottom"
551
+ }, {
552
+ default: g(() => [
553
+ w("div", {
554
+ class: H(["layout-item mix", { "is-active": i.modelValue === l(J).MIX }]),
555
+ onClick: o[2] || (o[2] = (s) => n(l(J).MIX))
556
+ }, Xt, 2)
557
+ ]),
558
+ _: 1
559
+ })
560
+ ]);
561
+ };
562
+ }
563
+ }), Gt = /* @__PURE__ */ F(jt, [["__scopeId", "data-v-d50a3d59"]]), Yt = /* @__PURE__ */ I({
564
+ __name: "ThemeColorPicker",
565
+ props: {
566
+ modelValue: String
567
+ },
568
+ emits: ["update:modelValue"],
569
+ setup(i, { emit: e }) {
570
+ const t = i, n = e, r = [
571
+ "#409EFF",
572
+ "#ff4500",
573
+ "#ff8c00",
574
+ "#90ee90",
575
+ "#00ced1",
576
+ "#1e90ff",
577
+ "#c71585",
578
+ "rgba(255, 69, 0, 0.68)",
579
+ "rgb(255, 120, 0)",
580
+ "hsva(120, 40, 94)"
581
+ ], o = z(t.modelValue);
582
+ return ne(o, (a) => {
583
+ n("update:modelValue", a);
584
+ }), (a, s) => {
585
+ const c = V("el-color-picker");
586
+ return u(), k(c, {
587
+ modelValue: l(o),
588
+ "onUpdate:modelValue": s[0] || (s[0] = (m) => _e(o) ? o.value = m : null),
589
+ predefine: r,
590
+ "popper-class": "theme-picker-dropdown"
591
+ }, null, 8, ["modelValue"]);
592
+ };
593
+ }
594
+ }), Jt = /* @__PURE__ */ F(Yt, [["__scopeId", "data-v-ba641afc"]]), Qt = { class: "flex-center" }, Zt = { class: "settings-option" }, en = { class: "text-xs" }, tn = { class: "settings-option" }, nn = { class: "text-xs" }, on = { class: "settings-option" }, an = { class: "text-xs" }, ln = { class: "settings-option" }, sn = { class: "text-xs" }, rn = { class: "settings-option" }, cn = { class: "text-xs" }, un = /* @__PURE__ */ I({
595
+ __name: "index",
596
+ setup(i) {
597
+ const e = fe(), t = Q(), n = te(), r = de(), o = R({
598
+ get() {
599
+ return n.settingsVisible;
600
+ },
601
+ set() {
602
+ n.settingsVisible = !1;
603
+ }
604
+ });
605
+ function a(p) {
606
+ n.changeThemeColor(p);
607
+ }
608
+ const s = z(n.theme === he.DARK), c = (p) => {
609
+ s.value = p, n.changeTheme(s.value ? he.DARK : he.LIGHT);
610
+ };
611
+ function m(p) {
612
+ n.changeLayout(p), p === J.MIX ? e.name && d(e.name) : p === J.TOP && t.openSideBar();
613
+ }
614
+ function d(p) {
615
+ const h = f(r.routes, p);
616
+ t.activeTopMenu !== h.path && t.activeTopMenu(h.path);
617
+ }
618
+ function f(p, h) {
619
+ let y = {};
620
+ function $(A, O) {
621
+ if (y[A.name] = O, A.children)
622
+ for (let C = 0; C < A.children.length; C++)
623
+ $(A.children[C], A);
624
+ }
625
+ for (let A = 0; A < p.length; A++)
626
+ $(p[A], null);
627
+ let S = y[h];
628
+ for (; S; ) {
629
+ if (!y[S.name])
630
+ return S;
631
+ S = y[S.name];
632
+ }
633
+ return null;
634
+ }
635
+ return (p, h) => {
636
+ const y = V("el-divider"), $ = V("el-switch"), S = Jt, A = Gt, O = V("el-drawer");
637
+ return u(), k(O, {
638
+ modelValue: l(o),
639
+ "onUpdate:modelValue": h[7] || (h[7] = (C) => _e(o) ? o.value = C : null),
640
+ size: "300",
641
+ title: p.$t("settings.project")
642
+ }, {
643
+ default: g(() => [
644
+ _(y, null, {
645
+ default: g(() => [
646
+ B(P(p.$t("settings.theme")), 1)
647
+ ]),
648
+ _: 1
649
+ }),
650
+ w("div", Qt, [
651
+ _($, {
652
+ modelValue: l(s),
653
+ "onUpdate:modelValue": h[0] || (h[0] = (C) => _e(s) ? s.value = C : null),
654
+ "active-icon": l(je),
655
+ "inactive-icon": l(Ge),
656
+ onChange: c
657
+ }, null, 8, ["modelValue", "active-icon", "inactive-icon"])
658
+ ]),
659
+ _(y, null, {
660
+ default: g(() => [
661
+ B(P(p.$t("settings.interface")), 1)
662
+ ]),
663
+ _: 1
664
+ }),
665
+ w("div", Zt, [
666
+ w("span", en, P(p.$t("settings.themeColor")), 1),
667
+ _(S, {
668
+ modelValue: l(n).themeColor,
669
+ "onUpdate:modelValue": [
670
+ h[1] || (h[1] = (C) => l(n).themeColor = C),
671
+ a
672
+ ]
673
+ }, null, 8, ["modelValue"])
674
+ ]),
675
+ w("div", tn, [
676
+ w("span", nn, P(p.$t("settings.tagsView")), 1),
677
+ _($, {
678
+ modelValue: l(n).tagsView,
679
+ "onUpdate:modelValue": h[2] || (h[2] = (C) => l(n).tagsView = C)
680
+ }, null, 8, ["modelValue"])
681
+ ]),
682
+ w("div", on, [
683
+ w("span", an, P(p.$t("settings.fixedHeader")), 1),
684
+ _($, {
685
+ modelValue: l(n).fixedHeader,
686
+ "onUpdate:modelValue": h[3] || (h[3] = (C) => l(n).fixedHeader = C)
687
+ }, null, 8, ["modelValue"])
688
+ ]),
689
+ w("div", ln, [
690
+ w("span", sn, P(p.$t("settings.sidebarLogo")), 1),
691
+ _($, {
692
+ modelValue: l(n).sidebarLogo,
693
+ "onUpdate:modelValue": h[4] || (h[4] = (C) => l(n).sidebarLogo = C)
694
+ }, null, 8, ["modelValue"])
695
+ ]),
696
+ w("div", rn, [
697
+ w("span", cn, P(p.$t("settings.watermark")), 1),
698
+ _($, {
699
+ modelValue: l(n).watermarkEnabled,
700
+ "onUpdate:modelValue": h[5] || (h[5] = (C) => l(n).watermarkEnabled = C)
701
+ }, null, 8, ["modelValue"])
702
+ ]),
703
+ _(y, null, {
704
+ default: g(() => [
705
+ B(P(p.$t("settings.navigation")), 1)
706
+ ]),
707
+ _: 1
708
+ }),
709
+ _(A, {
710
+ modelValue: l(n).layout,
711
+ "onUpdate:modelValue": [
712
+ h[6] || (h[6] = (C) => l(n).layout = C),
713
+ m
714
+ ]
715
+ }, null, 8, ["modelValue"])
716
+ ]),
717
+ _: 1
718
+ }, 8, ["modelValue", "title"]);
719
+ };
720
+ }
721
+ }), dn = /* @__PURE__ */ F(un, [["__scopeId", "data-v-f632744c"]]), fn = { class: "app-main" }, mn = /* @__PURE__ */ I({
722
+ __name: "index",
723
+ setup(i) {
724
+ const e = R(() => be().cachedViews);
725
+ return (t, n) => {
726
+ const r = V("router-view");
727
+ return u(), x("section", fn, [
728
+ _(r, null, {
729
+ default: g(({ Component: o, route: a }) => [
730
+ _(Ae, {
731
+ "enter-active-class": "animate__animated animate__fadeIn",
732
+ mode: "out-in"
733
+ }, {
734
+ default: g(() => [
735
+ (u(), k(ot, { include: l(e) }, [
736
+ (u(), k(xe(o), {
737
+ key: a.path
738
+ }))
739
+ ], 1032, ["include"]))
740
+ ]),
741
+ _: 2
742
+ }, 1024)
743
+ ]),
744
+ _: 1
745
+ })
746
+ ]);
747
+ };
748
+ }
749
+ }), _n = /* @__PURE__ */ F(mn, [["__scopeId", "data-v-abf7ec23"]]), pn = {
750
+ viewBox: "0 0 1024 1024",
751
+ width: "1.2em",
752
+ height: "1.2em"
753
+ }, vn = /* @__PURE__ */ w("path", {
754
+ fill: "currentColor",
755
+ d: "M764.288 214.592L512 466.88L259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512L214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"
756
+ }, null, -1), hn = [
757
+ vn
758
+ ];
759
+ function gn(i, e) {
760
+ return u(), x("svg", pn, [...hn]);
761
+ }
762
+ const bn = { name: "ep-close", render: gn };
763
+ function X(i) {
764
+ if (typeof i != "string")
765
+ throw new TypeError("Path must be a string. Received " + JSON.stringify(i));
766
+ }
767
+ function Ve(i, e) {
768
+ for (var t = "", n = 0, r = -1, o = 0, a, s = 0; s <= i.length; ++s) {
769
+ if (s < i.length)
770
+ a = i.charCodeAt(s);
771
+ else {
772
+ if (a === 47)
773
+ break;
774
+ a = 47;
775
+ }
776
+ if (a === 47) {
777
+ if (!(r === s - 1 || o === 1)) if (r !== s - 1 && o === 2) {
778
+ if (t.length < 2 || n !== 2 || t.charCodeAt(t.length - 1) !== 46 || t.charCodeAt(t.length - 2) !== 46) {
779
+ if (t.length > 2) {
780
+ var c = t.lastIndexOf("/");
781
+ if (c !== t.length - 1) {
782
+ c === -1 ? (t = "", n = 0) : (t = t.slice(0, c), n = t.length - 1 - t.lastIndexOf("/")), r = s, o = 0;
783
+ continue;
784
+ }
785
+ } else if (t.length === 2 || t.length === 1) {
786
+ t = "", n = 0, r = s, o = 0;
787
+ continue;
788
+ }
789
+ }
790
+ e && (t.length > 0 ? t += "/.." : t = "..", n = 2);
791
+ } else
792
+ t.length > 0 ? t += "/" + i.slice(r + 1, s) : t = i.slice(r + 1, s), n = s - r - 1;
793
+ r = s, o = 0;
794
+ } else a === 46 && o !== -1 ? ++o : o = -1;
795
+ }
796
+ return t;
797
+ }
798
+ function xn(i, e) {
799
+ var t = e.dir || e.root, n = e.base || (e.name || "") + (e.ext || "");
800
+ return t ? t === e.root ? t + n : t + i + n : n;
801
+ }
802
+ var oe = {
803
+ // path.resolve([from ...], to)
804
+ resolve: function() {
805
+ for (var e = "", t = !1, n, r = arguments.length - 1; r >= -1 && !t; r--) {
806
+ var o;
807
+ r >= 0 ? o = arguments[r] : (n === void 0 && (n = process.cwd()), o = n), X(o), o.length !== 0 && (e = o + "/" + e, t = o.charCodeAt(0) === 47);
808
+ }
809
+ return e = Ve(e, !t), t ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : ".";
810
+ },
811
+ normalize: function(e) {
812
+ if (X(e), e.length === 0) return ".";
813
+ var t = e.charCodeAt(0) === 47, n = e.charCodeAt(e.length - 1) === 47;
814
+ return e = Ve(e, !t), e.length === 0 && !t && (e = "."), e.length > 0 && n && (e += "/"), t ? "/" + e : e;
815
+ },
816
+ isAbsolute: function(e) {
817
+ return X(e), e.length > 0 && e.charCodeAt(0) === 47;
818
+ },
819
+ join: function() {
820
+ if (arguments.length === 0)
821
+ return ".";
822
+ for (var e, t = 0; t < arguments.length; ++t) {
823
+ var n = arguments[t];
824
+ X(n), n.length > 0 && (e === void 0 ? e = n : e += "/" + n);
825
+ }
826
+ return e === void 0 ? "." : oe.normalize(e);
827
+ },
828
+ relative: function(e, t) {
829
+ if (X(e), X(t), e === t || (e = oe.resolve(e), t = oe.resolve(t), e === t)) return "";
830
+ for (var n = 1; n < e.length && e.charCodeAt(n) === 47; ++n)
831
+ ;
832
+ for (var r = e.length, o = r - n, a = 1; a < t.length && t.charCodeAt(a) === 47; ++a)
833
+ ;
834
+ for (var s = t.length, c = s - a, m = o < c ? o : c, d = -1, f = 0; f <= m; ++f) {
835
+ if (f === m) {
836
+ if (c > m) {
837
+ if (t.charCodeAt(a + f) === 47)
838
+ return t.slice(a + f + 1);
839
+ if (f === 0)
840
+ return t.slice(a + f);
841
+ } else o > m && (e.charCodeAt(n + f) === 47 ? d = f : f === 0 && (d = 0));
842
+ break;
843
+ }
844
+ var p = e.charCodeAt(n + f), h = t.charCodeAt(a + f);
845
+ if (p !== h)
846
+ break;
847
+ p === 47 && (d = f);
848
+ }
849
+ var y = "";
850
+ for (f = n + d + 1; f <= r; ++f)
851
+ (f === r || e.charCodeAt(f) === 47) && (y.length === 0 ? y += ".." : y += "/..");
852
+ return y.length > 0 ? y + t.slice(a + d) : (a += d, t.charCodeAt(a) === 47 && ++a, t.slice(a));
853
+ },
854
+ _makeLong: function(e) {
855
+ return e;
856
+ },
857
+ dirname: function(e) {
858
+ if (X(e), e.length === 0) return ".";
859
+ for (var t = e.charCodeAt(0), n = t === 47, r = -1, o = !0, a = e.length - 1; a >= 1; --a)
860
+ if (t = e.charCodeAt(a), t === 47) {
861
+ if (!o) {
862
+ r = a;
863
+ break;
864
+ }
865
+ } else
866
+ o = !1;
867
+ return r === -1 ? n ? "/" : "." : n && r === 1 ? "//" : e.slice(0, r);
868
+ },
869
+ basename: function(e, t) {
870
+ if (t !== void 0 && typeof t != "string") throw new TypeError('"ext" argument must be a string');
871
+ X(e);
872
+ var n = 0, r = -1, o = !0, a;
873
+ if (t !== void 0 && t.length > 0 && t.length <= e.length) {
874
+ if (t.length === e.length && t === e) return "";
875
+ var s = t.length - 1, c = -1;
876
+ for (a = e.length - 1; a >= 0; --a) {
877
+ var m = e.charCodeAt(a);
878
+ if (m === 47) {
879
+ if (!o) {
880
+ n = a + 1;
881
+ break;
882
+ }
883
+ } else
884
+ c === -1 && (o = !1, c = a + 1), s >= 0 && (m === t.charCodeAt(s) ? --s === -1 && (r = a) : (s = -1, r = c));
885
+ }
886
+ return n === r ? r = c : r === -1 && (r = e.length), e.slice(n, r);
887
+ } else {
888
+ for (a = e.length - 1; a >= 0; --a)
889
+ if (e.charCodeAt(a) === 47) {
890
+ if (!o) {
891
+ n = a + 1;
892
+ break;
893
+ }
894
+ } else r === -1 && (o = !1, r = a + 1);
895
+ return r === -1 ? "" : e.slice(n, r);
896
+ }
897
+ },
898
+ extname: function(e) {
899
+ X(e);
900
+ for (var t = -1, n = 0, r = -1, o = !0, a = 0, s = e.length - 1; s >= 0; --s) {
901
+ var c = e.charCodeAt(s);
902
+ if (c === 47) {
903
+ if (!o) {
904
+ n = s + 1;
905
+ break;
906
+ }
907
+ continue;
908
+ }
909
+ r === -1 && (o = !1, r = s + 1), c === 46 ? t === -1 ? t = s : a !== 1 && (a = 1) : t !== -1 && (a = -1);
910
+ }
911
+ return t === -1 || r === -1 || // We saw a non-dot character immediately before the dot
912
+ a === 0 || // The (right-most) trimmed path component is exactly '..'
913
+ a === 1 && t === r - 1 && t === n + 1 ? "" : e.slice(t, r);
914
+ },
915
+ format: function(e) {
916
+ if (e === null || typeof e != "object")
917
+ throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof e);
918
+ return xn("/", e);
919
+ },
920
+ parse: function(e) {
921
+ X(e);
922
+ var t = { root: "", dir: "", base: "", ext: "", name: "" };
923
+ if (e.length === 0) return t;
924
+ var n = e.charCodeAt(0), r = n === 47, o;
925
+ r ? (t.root = "/", o = 1) : o = 0;
926
+ for (var a = -1, s = 0, c = -1, m = !0, d = e.length - 1, f = 0; d >= o; --d) {
927
+ if (n = e.charCodeAt(d), n === 47) {
928
+ if (!m) {
929
+ s = d + 1;
930
+ break;
931
+ }
932
+ continue;
933
+ }
934
+ c === -1 && (m = !1, c = d + 1), n === 46 ? a === -1 ? a = d : f !== 1 && (f = 1) : a !== -1 && (f = -1);
935
+ }
936
+ return a === -1 || c === -1 || // We saw a non-dot character immediately before the dot
937
+ f === 0 || // The (right-most) trimmed path component is exactly '..'
938
+ f === 1 && a === c - 1 && a === s + 1 ? c !== -1 && (s === 0 && r ? t.base = t.name = e.slice(1, c) : t.base = t.name = e.slice(s, c)) : (s === 0 && r ? (t.name = e.slice(1, a), t.base = e.slice(1, c)) : (t.name = e.slice(s, a), t.base = e.slice(s, c)), t.ext = e.slice(a, c)), s > 0 ? t.dir = e.slice(0, s - 1) : r && (t.dir = "/"), t;
939
+ },
940
+ sep: "/",
941
+ delimiter: ":",
942
+ win32: null,
943
+ posix: null
944
+ };
945
+ oe.posix = oe;
946
+ var Le = oe;
947
+ const Ie = /* @__PURE__ */ Ye(Le), yn = { class: "tags-container" }, wn = /* @__PURE__ */ I({
948
+ __name: "index",
949
+ setup(i) {
950
+ const { proxy: e } = it(), t = ye(), n = fe(), r = de(), o = be(), a = Q(), { visitedViews: s } = _t(o), c = te(), m = R(() => c.layout), d = z({
951
+ path: "",
952
+ fullPath: "",
953
+ name: "",
954
+ title: "",
955
+ affix: !1,
956
+ keepAlive: !1
957
+ }), f = z([]), p = z(0), h = z(0);
958
+ ne(
959
+ n,
960
+ () => {
961
+ A(), O();
962
+ },
963
+ {
964
+ immediate: !0
965
+ //初始化立即执行
966
+ }
967
+ );
968
+ const y = z(!1);
969
+ ne(y, (v) => {
970
+ v ? document.body.addEventListener("click", ve) : document.body.removeEventListener("click", ve);
971
+ });
972
+ function $(v, b = "/") {
973
+ let L = [];
974
+ return v.forEach((D) => {
975
+ var M, E, K, we;
976
+ const q = Le.resolve(b, D.path);
977
+ if ((M = D.meta) != null && M.affix && L.push({
978
+ path: q,
979
+ fullPath: q,
980
+ name: String(D.name),
981
+ title: ((E = D.meta) == null ? void 0 : E.title) || "no-name",
982
+ affix: (K = D.meta) == null ? void 0 : K.affix,
983
+ keepAlive: (we = D.meta) == null ? void 0 : we.keepAlive
984
+ }), D.children) {
985
+ const ke = $(D.children, b + D.path);
986
+ ke.length >= 1 && (L = [...L, ...ke]);
987
+ }
988
+ }), L;
989
+ }
990
+ function S() {
991
+ const v = $(r.routes);
992
+ f.value = v;
993
+ for (const b of v)
994
+ b.name && o.addVisitedView(b);
995
+ }
996
+ function A() {
997
+ var v, b;
998
+ n.meta.title && o.addView({
999
+ name: n.name,
1000
+ title: n.meta.title,
1001
+ path: n.path,
1002
+ fullPath: n.fullPath,
1003
+ affix: (v = n.meta) == null ? void 0 : v.affix,
1004
+ keepAlive: (b = n.meta) == null ? void 0 : b.keepAlive
1005
+ });
1006
+ }
1007
+ function O() {
1008
+ $e(() => {
1009
+ var v, b;
1010
+ for (const L of s.value)
1011
+ L.path === n.path && L.fullPath !== n.fullPath && o.updateVisitedView({
1012
+ name: n.name,
1013
+ title: n.meta.title || "",
1014
+ path: n.path,
1015
+ fullPath: n.fullPath,
1016
+ affix: (v = n.meta) == null ? void 0 : v.affix,
1017
+ keepAlive: (b = n.meta) == null ? void 0 : b.keepAlive
1018
+ });
1019
+ });
1020
+ }
1021
+ function C(v) {
1022
+ return v.path === n.path;
1023
+ }
1024
+ function U(v) {
1025
+ return v == null ? void 0 : v.affix;
1026
+ }
1027
+ function Z() {
1028
+ try {
1029
+ return d.value.path === "/dashboard" || d.value.fullPath === o.visitedViews[1].fullPath;
1030
+ } catch {
1031
+ return !1;
1032
+ }
1033
+ }
1034
+ function N() {
1035
+ try {
1036
+ return d.value.fullPath === o.visitedViews[o.visitedViews.length - 1].fullPath;
1037
+ } catch {
1038
+ return !1;
1039
+ }
1040
+ }
1041
+ function j(v) {
1042
+ o.delCachedView(v);
1043
+ const { fullPath: b } = v;
1044
+ $e(() => {
1045
+ t.replace({ path: "/redirect" + b });
1046
+ });
1047
+ }
1048
+ function G(v, b) {
1049
+ const L = v.slice(-1)[0];
1050
+ L && L.fullPath ? t.push(L.fullPath) : (b == null ? void 0 : b.name) === "Dashboard" ? t.replace({ path: "/redirect" + b.fullPath }) : t.push("/");
1051
+ }
1052
+ function ee(v) {
1053
+ o.delView(v).then((b) => {
1054
+ C(v) && G(b.visitedViews, v);
1055
+ });
1056
+ }
1057
+ function Y() {
1058
+ o.delLeftViews(d.value).then((v) => {
1059
+ v.visitedViews.find((b) => b.path === n.path) || G(v.visitedViews);
1060
+ });
1061
+ }
1062
+ function De() {
1063
+ o.delRightViews(d.value).then((v) => {
1064
+ v.visitedViews.find((b) => b.path === n.path) || G(v.visitedViews);
1065
+ });
1066
+ }
1067
+ function Be() {
1068
+ t.push(d.value), o.delOtherViews(d.value).then(() => {
1069
+ O();
1070
+ });
1071
+ }
1072
+ function Ne(v) {
1073
+ o.delAllViews().then((b) => {
1074
+ G(b.visitedViews, v);
1075
+ });
1076
+ }
1077
+ function Oe(v, b) {
1078
+ const D = e == null ? void 0 : e.$el.getBoundingClientRect().left, M = (e == null ? void 0 : e.$el.offsetWidth) - 105, E = b.clientX - D + 15;
1079
+ E > M ? p.value = M : p.value = E, m.value === "mix" ? h.value = b.clientY - 50 : h.value = b.clientY, y.value = !0, d.value = v;
1080
+ }
1081
+ function ve() {
1082
+ y.value = !1;
1083
+ }
1084
+ function ze() {
1085
+ ve();
1086
+ }
1087
+ function Fe(v, b) {
1088
+ let L = {};
1089
+ function D(M, E) {
1090
+ if (L[M.name] = E, M.children)
1091
+ for (let K = 0; K < M.children.length; K++)
1092
+ D(M.children[K], M);
1093
+ }
1094
+ for (let M = 0; M < v.length; M++)
1095
+ D(v[M], null);
1096
+ let q = L[b];
1097
+ for (; q; ) {
1098
+ if (!L[q.name])
1099
+ return q;
1100
+ q = L[q.name];
1101
+ }
1102
+ return null;
1103
+ }
1104
+ const Ue = (v) => {
1105
+ if (m.value !== "mix") return;
1106
+ const b = Fe(r.routes, v);
1107
+ a.activeTopMenu !== b.path && a.activeTopMenu(b.path);
1108
+ };
1109
+ return ne(
1110
+ () => n.name,
1111
+ (v) => {
1112
+ v && Ue(v);
1113
+ },
1114
+ {
1115
+ deep: !0
1116
+ }
1117
+ ), Me(() => {
1118
+ S();
1119
+ }), (v, b) => {
1120
+ const L = bn, D = V("router-link"), q = V("el-scrollbar"), M = ae;
1121
+ return u(), x("div", yn, [
1122
+ _(q, {
1123
+ class: "scroll-container",
1124
+ vertical: !1,
1125
+ onWheel: re(ze, ["prevent"])
1126
+ }, {
1127
+ default: g(() => [
1128
+ (u(!0), x(W, null, le(l(s), (E) => (u(), k(D, {
1129
+ ref_for: !0,
1130
+ ref: "tagRef",
1131
+ key: E.fullPath,
1132
+ class: H("tags-item " + (C(E) ? "active" : "")),
1133
+ to: { path: E.path, query: E.query },
1134
+ onMouseup: re((K) => U(E) ? "" : ee(E), ["middle"]),
1135
+ onContextmenu: re((K) => Oe(E, K), ["prevent"])
1136
+ }, {
1137
+ default: g(() => [
1138
+ B(P(l($t)(E)) + " ", 1),
1139
+ U(E) ? T("", !0) : (u(), k(L, {
1140
+ key: 0,
1141
+ class: "close-icon",
1142
+ size: "12px",
1143
+ onClick: re((K) => ee(E), ["prevent", "stop"])
1144
+ }, null, 8, ["onClick"]))
1145
+ ]),
1146
+ _: 2
1147
+ }, 1032, ["class", "to", "onMouseup", "onContextmenu"]))), 128))
1148
+ ]),
1149
+ _: 1
1150
+ }),
1151
+ Te(w("ul", {
1152
+ class: "contextmenu",
1153
+ style: at({ left: l(p) + "px", top: l(h) + "px" })
1154
+ }, [
1155
+ w("li", {
1156
+ onClick: b[0] || (b[0] = (E) => j(l(d)))
1157
+ }, [
1158
+ _(M, { "icon-class": "refresh" }),
1159
+ B(" 刷新 ")
1160
+ ]),
1161
+ U(l(d)) ? T("", !0) : (u(), x("li", {
1162
+ key: 0,
1163
+ onClick: b[1] || (b[1] = (E) => ee(l(d)))
1164
+ }, [
1165
+ _(M, { "icon-class": "close" }),
1166
+ B(" 关闭 ")
1167
+ ])),
1168
+ w("li", { onClick: Be }, [
1169
+ _(M, { "icon-class": "close_other" }),
1170
+ B(" 关闭其它 ")
1171
+ ]),
1172
+ Z() ? T("", !0) : (u(), x("li", {
1173
+ key: 1,
1174
+ onClick: Y
1175
+ }, [
1176
+ _(M, { "icon-class": "close_left" }),
1177
+ B(" 关闭左侧 ")
1178
+ ])),
1179
+ N() ? T("", !0) : (u(), x("li", {
1180
+ key: 2,
1181
+ onClick: De
1182
+ }, [
1183
+ _(M, { "icon-class": "close_right" }),
1184
+ B(" 关闭右侧 ")
1185
+ ])),
1186
+ w("li", {
1187
+ onClick: b[2] || (b[2] = (E) => Ne(l(d)))
1188
+ }, [
1189
+ _(M, { "icon-class": "close_all" }),
1190
+ B(" 关闭所有 ")
1191
+ ])
1192
+ ], 4), [
1193
+ [lt, l(y)]
1194
+ ])
1195
+ ]);
1196
+ };
1197
+ }
1198
+ }), kn = /* @__PURE__ */ F(wn, [["__scopeId", "data-v-d6445de5"]]), Sn = /* @__PURE__ */ I({
1199
+ name: "AppLink",
1200
+ inheritAttrs: !1,
1201
+ __name: "index",
1202
+ props: {
1203
+ to: {
1204
+ type: String,
1205
+ required: !0
1206
+ }
1207
+ },
1208
+ setup(i) {
1209
+ const e = i, t = R(() => ue(e.to)), n = R(() => t.value ? "a" : "router-link"), r = (o) => t.value ? { href: o, target: "_blank", rel: "noopener noreferrer" } : { to: o };
1210
+ return (o, a) => (u(), k(xe(l(n)), st(rt(r(i.to))), {
1211
+ default: g(() => [
1212
+ ct(o.$slots, "default")
1213
+ ]),
1214
+ _: 3
1215
+ }, 16));
1216
+ }
1217
+ }), Cn = {
1218
+ key: 3,
1219
+ class: "ml-1"
1220
+ }, $n = /* @__PURE__ */ I({
1221
+ __name: "SidebarMenuItemTitle",
1222
+ props: {
1223
+ icon: {
1224
+ type: String,
1225
+ default: ""
1226
+ },
1227
+ name: {
1228
+ type: String,
1229
+ default: ""
1230
+ },
1231
+ title: {
1232
+ type: String,
1233
+ default: ""
1234
+ }
1235
+ },
1236
+ setup(i) {
1237
+ return (e, t) => {
1238
+ const n = V("el-icon"), r = ae;
1239
+ return u(), x(W, null, [
1240
+ i.icon && i.icon.startsWith("el-icon") ? (u(), k(n, {
1241
+ key: 0,
1242
+ class: "sub-el-icon"
1243
+ }, {
1244
+ default: g(() => [
1245
+ (u(), k(xe(i.icon.replace("el-icon-", ""))))
1246
+ ]),
1247
+ _: 1
1248
+ })) : i.icon ? (u(), k(r, {
1249
+ key: 1,
1250
+ "icon-class": i.icon
1251
+ }, null, 8, ["icon-class"])) : (u(), k(r, {
1252
+ key: 2,
1253
+ "icon-class": "menu"
1254
+ })),
1255
+ i.title ? (u(), x("span", Cn, P(l(pe)(i.name, i.title)), 1)) : T("", !0)
1256
+ ], 64);
1257
+ };
1258
+ }
1259
+ }), Vn = /* @__PURE__ */ F($n, [["__scopeId", "data-v-e70291db"]]), Tn = { key: 0 }, An = /* @__PURE__ */ I({
1260
+ name: "SidebarMenuItem",
1261
+ inheritAttrs: !1,
1262
+ __name: "SidebarMenuItem",
1263
+ props: {
1264
+ /**
1265
+ * 路由(eg:user)
1266
+ */
1267
+ item: {
1268
+ type: Object,
1269
+ required: !0
1270
+ },
1271
+ /**
1272
+ * 父层级完整路由路径(eg:/system)
1273
+ */
1274
+ basePath: {
1275
+ type: String,
1276
+ required: !0
1277
+ },
1278
+ isNest: {
1279
+ type: Boolean,
1280
+ default: !1
1281
+ }
1282
+ },
1283
+ setup(i) {
1284
+ const e = i, t = z();
1285
+ function n(o = [], a) {
1286
+ const s = o.filter((c) => {
1287
+ var m;
1288
+ return (m = c.meta) != null && m.hidden ? !1 : (c.meta.hidden = !1, t.value = c, !0);
1289
+ });
1290
+ return s.length === 1 ? !0 : s.length === 0 ? (t.value = { ...a, path: "", noShowingChildren: !0 }, !0) : !1;
1291
+ }
1292
+ function r(o) {
1293
+ return ue(o) ? o : ue(e.basePath) ? e.basePath : Ie.resolve(e.basePath, o);
1294
+ }
1295
+ return (o, a) => {
1296
+ var p;
1297
+ const s = Vn, c = V("el-menu-item"), m = Sn, d = V("SidebarMenuItem", !0), f = V("el-sub-menu");
1298
+ return !i.item.meta || !i.item.meta.hidden ? (u(), x("div", Tn, [
1299
+ n(i.item.children, i.item) && (!l(t).children || l(t).noShowingChildren) && !((p = i.item.meta) != null && p.alwaysShow) ? (u(), x(W, { key: 0 }, [
1300
+ l(t).meta ? (u(), k(m, {
1301
+ key: 0,
1302
+ to: r(l(t).path)
1303
+ }, {
1304
+ default: g(() => [
1305
+ _(c, {
1306
+ index: r(l(t).path),
1307
+ class: H({ "submenu-title-noDropdown": !i.isNest })
1308
+ }, {
1309
+ default: g(() => [
1310
+ _(s, {
1311
+ icon: l(t).meta.icon || i.item.meta && i.item.meta.icon,
1312
+ title: l(t).meta.title,
1313
+ name: l(t).name
1314
+ }, null, 8, ["icon", "title", "name"])
1315
+ ]),
1316
+ _: 1
1317
+ }, 8, ["index", "class"])
1318
+ ]),
1319
+ _: 1
1320
+ }, 8, ["to"])) : T("", !0)
1321
+ ], 64)) : (u(), k(f, {
1322
+ key: 1,
1323
+ index: r(i.item.path),
1324
+ teleported: ""
1325
+ }, {
1326
+ title: g(() => [
1327
+ i.item.meta ? (u(), k(s, {
1328
+ key: 0,
1329
+ icon: i.item.meta && i.item.meta.icon,
1330
+ title: i.item.meta.title,
1331
+ name: i.item.name
1332
+ }, null, 8, ["icon", "title", "name"])) : T("", !0)
1333
+ ]),
1334
+ default: g(() => [
1335
+ (u(!0), x(W, null, le(i.item.children, (h) => (u(), k(d, {
1336
+ key: h.path,
1337
+ "is-nest": !0,
1338
+ item: h,
1339
+ "base-path": r(h.path)
1340
+ }, null, 8, ["item", "base-path"]))), 128))
1341
+ ]),
1342
+ _: 1
1343
+ }, 8, ["index"]))
1344
+ ])) : T("", !0);
1345
+ };
1346
+ }
1347
+ }), Mn = "_dark_168i3_12", ie = {
1348
+ "sidebar-width": "210px",
1349
+ "navbar-height": "50px",
1350
+ "menu-background": "var(--menu-background)",
1351
+ "menu-text": "var(--menu-text)",
1352
+ "menu-active-text": "var(--menu-active-text)",
1353
+ "menu-hover": "var(--menu-hover)",
1354
+ dark: Mn
1355
+ }, Re = /* @__PURE__ */ I({
1356
+ __name: "SidebarMenu",
1357
+ props: {
1358
+ menuList: {
1359
+ required: !0,
1360
+ default: () => [],
1361
+ type: Array
1362
+ },
1363
+ basePath: {
1364
+ type: String,
1365
+ required: !0
1366
+ }
1367
+ },
1368
+ setup(i) {
1369
+ const e = te(), t = Q(), n = fe(), r = R(() => e.layout), o = i;
1370
+ function a(s) {
1371
+ return ue(s) ? s : ue(o.basePath) ? o.basePath : Ie.resolve(o.basePath, s);
1372
+ }
1373
+ return (s, c) => {
1374
+ const m = An, d = V("el-menu");
1375
+ return u(), k(d, {
1376
+ "default-active": l(n).path,
1377
+ collapse: !l(t).sidebar.opened,
1378
+ "background-color": l(ie)["menu-background"],
1379
+ "text-color": l(ie)["menu-text"],
1380
+ "active-text-color": l(ie)["menu-active-text"],
1381
+ "unique-opened": !1,
1382
+ "collapse-transition": !1,
1383
+ mode: l(r) === "top" ? "horizontal" : "vertical"
1384
+ }, {
1385
+ default: g(() => [
1386
+ (u(!0), x(W, null, le(i.menuList, (f) => (u(), k(m, {
1387
+ key: f.path,
1388
+ item: f,
1389
+ "base-path": a(f.path),
1390
+ "is-collapse": !l(t).sidebar.opened
1391
+ }, null, 8, ["item", "base-path", "is-collapse"]))), 128))
1392
+ ]),
1393
+ _: 1
1394
+ }, 8, ["default-active", "collapse", "background-color", "text-color", "active-text-color", "mode"]);
1395
+ };
1396
+ }
1397
+ }), Pn = { key: 1 }, En = {
1398
+ key: 0,
1399
+ class: "ml-1"
1400
+ }, Ln = /* @__PURE__ */ I({
1401
+ __name: "SidebarMixTopMenu",
1402
+ setup(i) {
1403
+ const e = Q(), t = de(), n = ye(), r = R(() => e.activeTopMenuPath), o = z([]), a = (c) => {
1404
+ e.activeTopMenu(c), t.setMixLeftMenus(c);
1405
+ const m = t.mixLeftMenus;
1406
+ s(m);
1407
+ }, s = (c) => {
1408
+ if (c.length === 0) return;
1409
+ const [m] = c;
1410
+ m.children && m.children.length > 0 ? s(m.children) : m.name && n.push({
1411
+ name: m.name
1412
+ });
1413
+ };
1414
+ return Me(() => {
1415
+ o.value = t.routes.filter(
1416
+ (c) => !c.meta || !c.meta.hidden
1417
+ );
1418
+ }), (c, m) => {
1419
+ const d = ae, f = V("el-menu-item"), p = V("el-menu"), h = V("el-scrollbar");
1420
+ return u(), k(h, null, {
1421
+ default: g(() => [
1422
+ _(p, {
1423
+ mode: "horizontal",
1424
+ "default-active": l(r),
1425
+ "background-color": l(ie)["menu-background"],
1426
+ "text-color": l(ie)["menu-text"],
1427
+ "active-text-color": l(ie)["menu-active-text"],
1428
+ onSelect: a
1429
+ }, {
1430
+ default: g(() => [
1431
+ (u(!0), x(W, null, le(l(o), (y) => (u(), k(f, {
1432
+ key: y.path,
1433
+ index: y.path
1434
+ }, {
1435
+ title: g(() => [
1436
+ y.meta && y.meta.icon ? (u(), k(d, {
1437
+ key: 0,
1438
+ "icon-class": y.meta.icon
1439
+ }, null, 8, ["icon-class"])) : T("", !0),
1440
+ y.path === "/" ? (u(), x("span", Pn, P(l(pe)("Dashboard", "首页")), 1)) : (u(), x(W, { key: 2 }, [
1441
+ y.meta && y.meta.title ? (u(), x("span", En, P(l(ge)(y)), 1)) : T("", !0)
1442
+ ], 64))
1443
+ ]),
1444
+ _: 2
1445
+ }, 1032, ["index"]))), 128))
1446
+ ]),
1447
+ _: 1
1448
+ }, 8, ["default-active", "background-color", "text-color", "active-text-color"])
1449
+ ]),
1450
+ _: 1
1451
+ });
1452
+ };
1453
+ }
1454
+ }), In = { class: "logo-container" }, Rn = ["src"], Dn = ["src"], Bn = { class: "logo-title" }, Nn = /* @__PURE__ */ I({
1455
+ __name: "SidebarLogo",
1456
+ props: {
1457
+ collapse: {
1458
+ type: Boolean,
1459
+ required: !0
1460
+ }
1461
+ },
1462
+ setup(i) {
1463
+ const e = te(), t = ce.logo;
1464
+ return (n, r) => {
1465
+ const o = V("router-link");
1466
+ return u(), x("div", In, [
1467
+ _(Ae, { "enter-active-class": "animate__animated animate__fadeInLeft" }, {
1468
+ default: g(() => [
1469
+ i.collapse ? (u(), k(o, {
1470
+ key: 0,
1471
+ class: "wh-full flex-center",
1472
+ to: "/"
1473
+ }, {
1474
+ default: g(() => [
1475
+ l(e).sidebarLogo ? (u(), x("img", {
1476
+ key: 0,
1477
+ src: l(t),
1478
+ class: "logo-image"
1479
+ }, null, 8, Rn)) : T("", !0)
1480
+ ]),
1481
+ _: 1
1482
+ })) : (u(), k(o, {
1483
+ key: 1,
1484
+ class: "wh-full flex-center",
1485
+ to: "/"
1486
+ }, {
1487
+ default: g(() => [
1488
+ l(e).sidebarLogo ? (u(), x("img", {
1489
+ key: 0,
1490
+ src: l(t),
1491
+ class: "logo-image"
1492
+ }, null, 8, Dn)) : T("", !0),
1493
+ w("span", Bn, P(l(ce).title), 1)
1494
+ ]),
1495
+ _: 1
1496
+ }))
1497
+ ]),
1498
+ _: 1
1499
+ })
1500
+ ]);
1501
+ };
1502
+ }
1503
+ }), On = /* @__PURE__ */ F(Nn, [["__scopeId", "data-v-c6f65ed6"]]), zn = {
1504
+ key: 0,
1505
+ class: "flex w-full"
1506
+ }, Fn = /* @__PURE__ */ I({
1507
+ __name: "index",
1508
+ setup(i) {
1509
+ const e = Q(), t = te(), n = de(), r = R(() => t.sidebarLogo), o = R(() => t.layout);
1510
+ return (a, s) => {
1511
+ const c = On, m = Ln, d = Pe, f = Re, p = V("el-scrollbar");
1512
+ return u(), x("div", {
1513
+ class: H({ "has-logo": l(r) })
1514
+ }, [
1515
+ l(o) == "mix" ? (u(), x("div", zn, [
1516
+ l(r) ? (u(), k(c, {
1517
+ key: 0,
1518
+ collapse: !l(e).sidebar.opened
1519
+ }, null, 8, ["collapse"])) : T("", !0),
1520
+ _(m, { class: "flex-1" }),
1521
+ _(d)
1522
+ ])) : (u(), x(W, { key: 1 }, [
1523
+ l(r) ? (u(), k(c, {
1524
+ key: 0,
1525
+ collapse: !l(e).sidebar.opened
1526
+ }, null, 8, ["collapse"])) : T("", !0),
1527
+ _(p, null, {
1528
+ default: g(() => [
1529
+ _(f, {
1530
+ "menu-list": l(n).routes,
1531
+ "base-path": ""
1532
+ }, null, 8, ["menu-list"])
1533
+ ]),
1534
+ _: 1
1535
+ }),
1536
+ l(o) === "top" ? (u(), k(d, { key: 1 })) : T("", !0)
1537
+ ], 64))
1538
+ ], 2);
1539
+ };
1540
+ }
1541
+ }), Un = /* @__PURE__ */ F(Fn, [["__scopeId", "data-v-64d75c6a"]]), Hn = {
1542
+ key: 1,
1543
+ class: "mix-container"
1544
+ }, qn = { class: "mix-container__left" }, Wn = { class: "sidebar-toggle" }, Kn = 992, Xn = /* @__PURE__ */ I({
1545
+ __name: "index",
1546
+ setup(i) {
1547
+ const e = Q(), t = te(), n = de(), r = R(() => t.fixedHeader), o = R(() => t.tagsView), a = R(() => t.layout), s = R(() => e.activeTopMenuPath), c = R(() => n.mixLeftMenus);
1548
+ ne(
1549
+ () => s.value,
1550
+ (h) => {
1551
+ n.setMixLeftMenus(h);
1552
+ },
1553
+ {
1554
+ deep: !0,
1555
+ immediate: !0
1556
+ }
1557
+ );
1558
+ const m = R(() => ({
1559
+ hideSidebar: !e.sidebar.opened,
1560
+ openSidebar: e.sidebar.opened,
1561
+ mobile: e.device === me.MOBILE,
1562
+ "layout-left": a.value === "left",
1563
+ "layout-top": a.value === "top",
1564
+ "layout-mix": a.value === "mix"
1565
+ })), d = Je().width;
1566
+ ut(() => {
1567
+ d.value < Kn ? (e.toggleDevice(me.MOBILE), e.closeSideBar()) : (e.toggleDevice(me.DESKTOP), d.value >= 1200 ? e.openSideBar() : e.closeSideBar());
1568
+ });
1569
+ function f() {
1570
+ e.closeSideBar();
1571
+ }
1572
+ function p() {
1573
+ e.toggleSidebar();
1574
+ }
1575
+ return (h, y) => {
1576
+ const $ = Un, S = Re, A = Ee, O = kn, C = _n, U = dn, Z = Bt;
1577
+ return u(), x("div", {
1578
+ class: H(["wh-full", l(m)])
1579
+ }, [
1580
+ l(m).mobile && l(m).openSidebar ? (u(), x("div", {
1581
+ key: 0,
1582
+ class: "wh-full fixed-lt z-999 bg-black bg-opacity-30",
1583
+ onClick: f
1584
+ })) : T("", !0),
1585
+ _($, { class: "sidebar-container" }),
1586
+ l(a) === "mix" ? (u(), x("div", Hn, [
1587
+ w("div", qn, [
1588
+ _(S, {
1589
+ "menu-list": l(c),
1590
+ "base-path": l(s)
1591
+ }, null, 8, ["menu-list", "base-path"]),
1592
+ w("div", Wn, [
1593
+ _(A, {
1594
+ "is-active": l(e).sidebar.opened,
1595
+ onToggleClick: p
1596
+ }, null, 8, ["is-active"])
1597
+ ])
1598
+ ]),
1599
+ w("div", {
1600
+ class: H([{ hasTagsView: l(o) }, "main-container"])
1601
+ }, [
1602
+ w("div", {
1603
+ class: H({ "fixed-header": l(r) })
1604
+ }, [
1605
+ l(o) ? (u(), k(O, { key: 0 })) : T("", !0)
1606
+ ], 2),
1607
+ _(C),
1608
+ l(ce).showSettings ? (u(), k(U, { key: 0 })) : T("", !0)
1609
+ ], 2)
1610
+ ])) : (u(), x("div", {
1611
+ key: 2,
1612
+ class: H([{ hasTagsView: l(o) }, "main-container"])
1613
+ }, [
1614
+ w("div", {
1615
+ class: H({ "fixed-header": l(r) })
1616
+ }, [
1617
+ l(a) === "left" ? (u(), k(Z, { key: 0 })) : T("", !0),
1618
+ l(o) ? (u(), k(O, { key: 1 })) : T("", !0)
1619
+ ], 2),
1620
+ _(C),
1621
+ l(ce).showSettings ? (u(), k(U, { key: 0 })) : T("", !0)
1622
+ ], 2))
1623
+ ], 2);
1624
+ };
1625
+ }
1626
+ }), eo = /* @__PURE__ */ F(Xn, [["__scopeId", "data-v-12059947"]]);
1627
+ export {
1628
+ eo as default
1629
+ };