xto-fronted 0.4.6 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/.env.development +7 -7
  2. package/.env.production +7 -7
  3. package/dist/assets/403-AFBQifUI.js +1 -0
  4. package/dist/assets/403-BHEXXbt2.css +1 -0
  5. package/dist/assets/404-Ct_A1n7S.css +1 -0
  6. package/dist/assets/404-WFvpcD2_.js +1 -0
  7. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  8. package/dist/assets/index-1juADvYN.js +2 -0
  9. package/dist/assets/index-B-sX4Ru0.js +1 -0
  10. package/dist/assets/index-BMcziU5a.css +1 -0
  11. package/dist/assets/index-BRR97dc6.js +1 -0
  12. package/dist/assets/index-BZA0ksjx.css +1 -0
  13. package/dist/assets/index-BpV_8nl0.js +1 -0
  14. package/dist/assets/index-BvzhR4zp.js +1 -0
  15. package/dist/assets/index-CUh_s55Z.css +1 -0
  16. package/dist/assets/index-CVjdnIgR.css +1 -0
  17. package/dist/assets/index-CYq57-zj.js +1 -0
  18. package/dist/assets/index-CkL3sVAQ.js +2 -0
  19. package/dist/assets/index-CtrKVYJb.css +1 -0
  20. package/dist/assets/index-Cz2P_bsS.js +1 -0
  21. package/dist/assets/index-D9wlAuR_.js +1 -0
  22. package/dist/assets/index-DawJb02s.css +1 -0
  23. package/dist/assets/index-DfFR6NLf.js +1 -0
  24. package/dist/assets/index-DwVgMO8e.js +1 -0
  25. package/dist/assets/index-GDP-IkXE.css +1 -0
  26. package/dist/assets/index-Iaz1ZzPC.js +2 -0
  27. package/dist/assets/index-PfV8pzQz.css +1 -0
  28. package/dist/assets/index-Swfu6yvD.css +1 -0
  29. package/dist/assets/index-Te8_PRgJ.js +1 -0
  30. package/dist/assets/index-WyZ91RLx.css +1 -0
  31. package/dist/assets/index-tFYRoFdE.js +1 -0
  32. package/dist/assets/vendor-42ANG6Sg.js +6 -0
  33. package/dist/assets/vite-Dw-pgLOX.js +1 -0
  34. package/dist/assets/vue-vendor-Br-l7wbK.js +29 -0
  35. package/dist/assets/xto-base-C-IBqjVs.js +1 -0
  36. package/dist/assets/xto-base-C6eqMPdO.css +1 -0
  37. package/dist/assets/xto-business--V1F5Gwb.css +1 -0
  38. package/dist/assets/xto-core-DZK7Cyg0.js +1 -0
  39. package/dist/assets/xto-data-BFpiDgJi.js +1 -0
  40. package/dist/assets/xto-data-CnAQAQH2.css +1 -0
  41. package/dist/assets/xto-feedback-B7ipsTfz.js +1 -0
  42. package/dist/assets/xto-feedback-DBwJzoTj.css +1 -0
  43. package/dist/assets/xto-form-CrsyAjyr.css +1 -0
  44. package/dist/assets/xto-form-NRjKKNcY.js +1 -0
  45. package/dist/assets/xto-layout-BqU8RuWL.css +1 -0
  46. package/dist/assets/xto-navigation-BiSaXPfr.js +1 -0
  47. package/dist/assets/xto-navigation-C1cnSL2E.css +1 -0
  48. package/dist/assets/xto-navigation-CBPg4dCc.css +1 -0
  49. package/dist/assets/xto-navigation-CKabFu9d.js +1 -0
  50. package/dist/index-54irhCHL.js +1830 -0
  51. package/dist/{index-15Bu0M8D.js → index-BzRf1eoJ.js} +1 -1
  52. package/dist/{index-BO2Zf9u6.js → index-DH4aoCZb.js} +1 -1
  53. package/dist/{index-BBqvHkzE.js → index-Kqa7iZ9E.js} +1 -1
  54. package/dist/{index-BQqo0ZIb.js → index-pxkZlvBw.js} +1 -1
  55. package/dist/index.es.js +1 -1
  56. package/dist/index.html +28 -0
  57. package/dist/index.umd.js +1 -1
  58. package/dist/style.css +1 -1
  59. package/package.json +85 -86
  60. package/src/api/auth.ts +25 -25
  61. package/src/api/system.ts +66 -66
  62. package/src/assets/styles/_dark.scss +406 -406
  63. package/src/components/Layout/Header.vue +973 -973
  64. package/src/components/Layout/Sidebar.vue +273 -212
  65. package/src/components/Layout/index.vue +443 -63
  66. package/src/composables/useApp.ts +61 -61
  67. package/src/composables/useAuth.ts +16 -16
  68. package/src/directives/permission.ts +27 -27
  69. package/src/env.d.ts +18 -18
  70. package/src/index.ts +47 -47
  71. package/src/router/dynamicRoutes.ts +162 -162
  72. package/src/router/guards.ts +128 -128
  73. package/src/router/index.ts +79 -79
  74. package/src/stores/auth.ts +65 -65
  75. package/src/stores/menu.ts +48 -48
  76. package/src/stores/user.ts +50 -50
  77. package/src/types/api.d.ts +80 -80
  78. package/src/utils/auth.ts +99 -99
  79. package/src/utils/config.ts +80 -80
  80. package/src/utils/permission.ts +32 -32
  81. package/src/utils/request.ts +124 -124
  82. package/src/views/login/index.vue +194 -188
  83. package/vite.config.ts +135 -135
  84. package/dist/index-B3PLzNB0.js +0 -345
  85. package/dist/index-B6DTsC6l.js +0 -1715
  86. package/dist/index-B7etKk33.js +0 -372
  87. package/dist/index-B7mpL6Zf.js +0 -475
  88. package/dist/index-BC2PGkkJ.js +0 -1644
  89. package/dist/index-BGgbfcmf.js +0 -475
  90. package/dist/index-BGmUwemj.js +0 -372
  91. package/dist/index-BQFfQj5Q.js +0 -142
  92. package/dist/index-BkRneTya.js +0 -142
  93. package/dist/index-BlRrngsc.js +0 -475
  94. package/dist/index-BmVvM7sm.js +0 -345
  95. package/dist/index-Bn4ThpX9.js +0 -142
  96. package/dist/index-BwfjwDKr.js +0 -1477
  97. package/dist/index-BxIL2hrt.js +0 -475
  98. package/dist/index-C-3fhbN2.js +0 -1644
  99. package/dist/index-C0VN9nFF.js +0 -142
  100. package/dist/index-C0xyGOsz.js +0 -475
  101. package/dist/index-C3c8NAZq.js +0 -1477
  102. package/dist/index-C42VtP71.js +0 -142
  103. package/dist/index-C6Nm0r9k.js +0 -475
  104. package/dist/index-C6w0-8xN.js +0 -1648
  105. package/dist/index-CD364XjV.js +0 -142
  106. package/dist/index-CHww99-i.js +0 -345
  107. package/dist/index-CIgWYERJ.js +0 -1644
  108. package/dist/index-CTs6DTuQ.js +0 -345
  109. package/dist/index-CWRs4WMN.js +0 -372
  110. package/dist/index-Cb-SxHJp.js +0 -345
  111. package/dist/index-CeCysOnl.js +0 -345
  112. package/dist/index-Cg1UpC8D.js +0 -1644
  113. package/dist/index-Cgkqpyx2.js +0 -345
  114. package/dist/index-CiuDEfo-.js +0 -142
  115. package/dist/index-CmQfZC8r.js +0 -372
  116. package/dist/index-CmkjhpX_.js +0 -475
  117. package/dist/index-CpxpXTQX.js +0 -1462
  118. package/dist/index-CqXFk_ET.js +0 -345
  119. package/dist/index-Cqix1YLE.js +0 -1697
  120. package/dist/index-CtvB5J9E.js +0 -372
  121. package/dist/index-Cu3Z2-PY.js +0 -345
  122. package/dist/index-CvDxK7Ab.js +0 -372
  123. package/dist/index-D-FER0vJ.js +0 -372
  124. package/dist/index-D2fQ8TK8.js +0 -475
  125. package/dist/index-D3xVcFvg.js +0 -372
  126. package/dist/index-D4crnrO6.js +0 -142
  127. package/dist/index-D7EzwTM5.js +0 -372
  128. package/dist/index-D7TZamyY.js +0 -1664
  129. package/dist/index-D88fiqXR.js +0 -475
  130. package/dist/index-DEbpF-M4.js +0 -1457
  131. package/dist/index-DFXuyPge.js +0 -1627
  132. package/dist/index-DLgimJYb.js +0 -1667
  133. package/dist/index-DPEVEyik.js +0 -475
  134. package/dist/index-DWy_UGhI.js +0 -345
  135. package/dist/index-DYVtddfw.js +0 -142
  136. package/dist/index-DYnXaqYf.js +0 -142
  137. package/dist/index-DcvRPHuy.js +0 -372
  138. package/dist/index-DdC1uV2v.js +0 -1700
  139. package/dist/index-Dga14ZN7.js +0 -1774
  140. package/dist/index-Dk2V44uP.js +0 -372
  141. package/dist/index-DnJ481u1.js +0 -475
  142. package/dist/index-Do1CBqg8.js +0 -345
  143. package/dist/index-DqQRSPeF.js +0 -345
  144. package/dist/index-Jb4VMHIS.js +0 -142
  145. package/dist/index-MC3wWjNt.js +0 -475
  146. package/dist/index-MG0JePmx.js +0 -142
  147. package/dist/index-PRFGBLWt.js +0 -475
  148. package/dist/index-QgkT42dc.js +0 -372
  149. package/dist/index-TrLCW5xL.js +0 -372
  150. package/dist/index-YDlNLFVk.js +0 -142
  151. package/dist/index-ZAJgA3XD.js +0 -475
  152. package/dist/index-a_ilWAvi.js +0 -345
  153. package/dist/index-bi1TMGid.js +0 -372
  154. package/dist/index-fyarVCog.js +0 -475
  155. package/dist/index-mnTZtPFa.js +0 -345
  156. package/dist/index-orZCyV6I.js +0 -345
  157. package/dist/index-p3TbK44c.js +0 -142
  158. package/dist/index-sRwZYbZ4.js +0 -372
  159. package/dist/index-wATqKEcF.js +0 -142
  160. package/dist/setup.d.ts +0 -17
@@ -1,372 +0,0 @@
1
- import { defineComponent as K, ref as f, reactive as A, computed as G, onMounted as H, openBlock as v, createElementBlock as E, createVNode as a, unref as l, withCtx as n, withKeys as J, createTextVNode as r, createElementVNode as u, Fragment as U, renderList as N, toDisplayString as c, createBlock as Q } from "vue";
2
- import { Form as T, FormItem as m, Input as b, Select as W, Switch as _ } from "@xto/form";
3
- import { Card as w, Tag as X, Pagination as Y } from "@xto/data";
4
- import { Popconfirm as Z, Modal as ee, Message as C } from "@xto/feedback";
5
- import { Space as L, Button as g } from "@xto/base";
6
- import { S as d, a as le, _ as te } from "./index-C-3fhbN2.js";
7
- const ae = { class: "user-page" }, ne = { class: "toolbar" }, ue = { class: "data-table" }, oe = { key: 0 }, se = { key: 1 }, de = { class: "pagination-wrapper" }, ie = /* @__PURE__ */ K({
8
- __name: "index",
9
- setup(re) {
10
- const I = [
11
- { id: 1, username: "admin", nickname: "管理员", email: "admin@example.com", phone: "13800138001", status: d.ENABLED, roles: ["admin"], createTime: "2024-01-01 10:00:00" },
12
- { id: 2, username: "zhangsan", nickname: "张三", email: "zhangsan@example.com", phone: "13800138002", status: d.ENABLED, roles: ["editor"], createTime: "2024-01-02 10:00:00" },
13
- { id: 3, username: "lisi", nickname: "李四", email: "lisi@example.com", phone: "13800138003", status: d.DISABLED, roles: ["viewer"], createTime: "2024-01-03 10:00:00" },
14
- { id: 4, username: "wangwu", nickname: "王五", email: "wangwu@example.com", phone: "13800138004", status: d.ENABLED, roles: ["editor"], createTime: "2024-01-04 10:00:00" },
15
- { id: 5, username: "zhaoliu", nickname: "赵六", email: "zhaoliu@example.com", phone: "13800138005", status: d.ENABLED, roles: ["viewer"], createTime: "2024-01-05 10:00:00" }
16
- ], h = f(!1), B = f([]), S = f(0), k = f(1), D = f(10), i = A({
17
- keyword: "",
18
- status: void 0
19
- }), y = f(!1), $ = G(() => s.id ? "编辑用户" : "新增用户"), s = A({
20
- id: 0,
21
- username: "",
22
- nickname: "",
23
- email: "",
24
- phone: "",
25
- status: d.ENABLED,
26
- roles: []
27
- }), F = {
28
- username: [
29
- { required: !0, message: "请输入用户名", trigger: "blur" }
30
- ],
31
- nickname: [
32
- { required: !0, message: "请输入昵称", trigger: "blur" }
33
- ],
34
- email: [
35
- { required: !0, message: "请输入邮箱", trigger: "blur" },
36
- { type: "email", message: "请输入正确的邮箱格式", trigger: "blur" }
37
- ]
38
- }, x = f(), p = () => {
39
- h.value = !0, setTimeout(() => {
40
- let o = [...I];
41
- i.keyword && (o = o.filter(
42
- (e) => e.username.includes(i.keyword) || e.nickname.includes(i.keyword)
43
- )), i.status !== void 0 && (o = o.filter((e) => e.status === i.status)), S.value = o.length, B.value = o.slice((k.value - 1) * D.value, k.value * D.value), h.value = !1;
44
- }, 300);
45
- }, z = () => {
46
- k.value = 1, p();
47
- }, P = () => {
48
- i.keyword = "", i.status = void 0, k.value = 1, p();
49
- }, q = () => {
50
- Object.assign(s, {
51
- id: 0,
52
- username: "",
53
- nickname: "",
54
- email: "",
55
- phone: "",
56
- status: d.ENABLED,
57
- roles: []
58
- }), y.value = !0;
59
- }, M = (o) => {
60
- Object.assign(s, o), y.value = !0;
61
- }, O = (o) => {
62
- C.success("删除成功"), p();
63
- }, R = async () => {
64
- var o;
65
- try {
66
- await ((o = x.value) == null ? void 0 : o.validate()), C.success(s.id ? "编辑成功" : "新增成功"), y.value = !1, p();
67
- } catch (e) {
68
- console.error(e);
69
- }
70
- }, j = (o) => {
71
- C.success(`已${o.status === d.ENABLED ? "启用" : "禁用"}用户 ${o.username}`);
72
- };
73
- return H(() => {
74
- p();
75
- }), (o, e) => (v(), E("div", ae, [
76
- a(l(w), { class: "search-card" }, {
77
- default: n(() => [
78
- a(l(T), {
79
- model: i,
80
- inline: ""
81
- }, {
82
- default: n(() => [
83
- a(l(m), { label: "关键词" }, {
84
- default: n(() => [
85
- a(l(b), {
86
- modelValue: i.keyword,
87
- "onUpdate:modelValue": e[0] || (e[0] = (t) => i.keyword = t),
88
- placeholder: "用户名/昵称",
89
- clearable: "",
90
- onKeyup: J(z, ["enter"])
91
- }, null, 8, ["modelValue"])
92
- ]),
93
- _: 1
94
- }),
95
- a(l(m), { label: "状态" }, {
96
- default: n(() => [
97
- a(l(W), {
98
- modelValue: i.status,
99
- "onUpdate:modelValue": e[1] || (e[1] = (t) => i.status = t),
100
- options: l(le),
101
- placeholder: "请选择",
102
- clearable: ""
103
- }, null, 8, ["modelValue", "options"])
104
- ]),
105
- _: 1
106
- }),
107
- a(l(m), null, {
108
- default: n(() => [
109
- a(l(L), null, {
110
- default: n(() => [
111
- a(l(g), {
112
- type: "primary",
113
- onClick: z
114
- }, {
115
- default: n(() => [...e[11] || (e[11] = [
116
- r("搜索", -1)
117
- ])]),
118
- _: 1
119
- }),
120
- a(l(g), { onClick: P }, {
121
- default: n(() => [...e[12] || (e[12] = [
122
- r("重置", -1)
123
- ])]),
124
- _: 1
125
- })
126
- ]),
127
- _: 1
128
- })
129
- ]),
130
- _: 1
131
- })
132
- ]),
133
- _: 1
134
- }, 8, ["model"])
135
- ]),
136
- _: 1
137
- }),
138
- a(l(w), { class: "table-card" }, {
139
- default: n(() => [
140
- u("div", ne, [
141
- a(l(g), {
142
- type: "primary",
143
- onClick: q
144
- }, {
145
- default: n(() => [...e[13] || (e[13] = [
146
- r("新增用户", -1)
147
- ])]),
148
- _: 1
149
- })
150
- ]),
151
- u("table", ue, [
152
- e[18] || (e[18] = u("thead", null, [
153
- u("tr", null, [
154
- u("th", null, "ID"),
155
- u("th", null, "用户名"),
156
- u("th", null, "昵称"),
157
- u("th", null, "邮箱"),
158
- u("th", null, "手机号"),
159
- u("th", null, "角色"),
160
- u("th", null, "状态"),
161
- u("th", null, "创建时间"),
162
- u("th", null, "操作")
163
- ])
164
- ], -1)),
165
- u("tbody", null, [
166
- h.value ? (v(), E("tr", oe, [...e[14] || (e[14] = [
167
- u("td", {
168
- colspan: "9",
169
- class: "loading-cell"
170
- }, "加载中...", -1)
171
- ])])) : B.value.length === 0 ? (v(), E("tr", se, [...e[15] || (e[15] = [
172
- u("td", {
173
- colspan: "9",
174
- class: "empty-cell"
175
- }, "暂无数据", -1)
176
- ])])) : (v(!0), E(U, { key: 2 }, N(B.value, (t) => (v(), E("tr", {
177
- key: t.id
178
- }, [
179
- u("td", null, c(t.id), 1),
180
- u("td", null, c(t.username), 1),
181
- u("td", null, c(t.nickname), 1),
182
- u("td", null, c(t.email), 1),
183
- u("td", null, c(t.phone), 1),
184
- u("td", null, [
185
- (v(!0), E(U, null, N(t.roles, (V) => (v(), Q(l(X), {
186
- key: V,
187
- size: "small"
188
- }, {
189
- default: n(() => [
190
- r(c(V), 1)
191
- ]),
192
- _: 2
193
- }, 1024))), 128))
194
- ]),
195
- u("td", null, [
196
- a(l(_), {
197
- "model-value": t.status === l(d).ENABLED,
198
- "onUpdate:modelValue": (V) => {
199
- t.status = V ? l(d).ENABLED : l(d).DISABLED, j(t);
200
- }
201
- }, null, 8, ["model-value", "onUpdate:modelValue"])
202
- ]),
203
- u("td", null, c(t.createTime), 1),
204
- u("td", null, [
205
- a(l(L), null, {
206
- default: n(() => [
207
- a(l(g), {
208
- type: "primary",
209
- link: "",
210
- size: "small",
211
- onClick: (V) => M(t)
212
- }, {
213
- default: n(() => [...e[16] || (e[16] = [
214
- r("编辑", -1)
215
- ])]),
216
- _: 1
217
- }, 8, ["onClick"]),
218
- a(l(Z), {
219
- title: "确定删除该用户吗?",
220
- onConfirm: (V) => O(t.id)
221
- }, {
222
- default: n(() => [
223
- a(l(g), {
224
- type: "danger",
225
- link: "",
226
- size: "small"
227
- }, {
228
- default: n(() => [...e[17] || (e[17] = [
229
- r("删除", -1)
230
- ])]),
231
- _: 1
232
- })
233
- ]),
234
- _: 1
235
- }, 8, ["onConfirm"])
236
- ]),
237
- _: 2
238
- }, 1024)
239
- ])
240
- ]))), 128))
241
- ])
242
- ]),
243
- u("div", de, [
244
- a(l(Y), {
245
- "current-page": k.value,
246
- "onUpdate:currentPage": e[2] || (e[2] = (t) => k.value = t),
247
- "page-size": D.value,
248
- "onUpdate:pageSize": e[3] || (e[3] = (t) => D.value = t),
249
- total: S.value,
250
- "page-sizes": [10, 20, 50, 100],
251
- layout: "total, sizes, prev, pager, next",
252
- onCurrentChange: p,
253
- onSizeChange: p
254
- }, null, 8, ["current-page", "page-size", "total"])
255
- ])
256
- ]),
257
- _: 1
258
- }),
259
- a(l(ee), {
260
- modelValue: y.value,
261
- "onUpdate:modelValue": e[10] || (e[10] = (t) => y.value = t),
262
- title: $.value,
263
- width: "500px"
264
- }, {
265
- footer: n(() => [
266
- a(l(L), null, {
267
- default: n(() => [
268
- a(l(g), {
269
- onClick: e[9] || (e[9] = (t) => y.value = !1)
270
- }, {
271
- default: n(() => [...e[19] || (e[19] = [
272
- r("取消", -1)
273
- ])]),
274
- _: 1
275
- }),
276
- a(l(g), {
277
- type: "primary",
278
- onClick: R
279
- }, {
280
- default: n(() => [...e[20] || (e[20] = [
281
- r("确定", -1)
282
- ])]),
283
- _: 1
284
- })
285
- ]),
286
- _: 1
287
- })
288
- ]),
289
- default: n(() => [
290
- a(l(T), {
291
- ref_key: "formRef",
292
- ref: x,
293
- model: s,
294
- rules: F,
295
- "label-width": "80px"
296
- }, {
297
- default: n(() => [
298
- a(l(m), {
299
- label: "用户名",
300
- prop: "username"
301
- }, {
302
- default: n(() => [
303
- a(l(b), {
304
- modelValue: s.username,
305
- "onUpdate:modelValue": e[4] || (e[4] = (t) => s.username = t),
306
- placeholder: "请输入用户名"
307
- }, null, 8, ["modelValue"])
308
- ]),
309
- _: 1
310
- }),
311
- a(l(m), {
312
- label: "昵称",
313
- prop: "nickname"
314
- }, {
315
- default: n(() => [
316
- a(l(b), {
317
- modelValue: s.nickname,
318
- "onUpdate:modelValue": e[5] || (e[5] = (t) => s.nickname = t),
319
- placeholder: "请输入昵称"
320
- }, null, 8, ["modelValue"])
321
- ]),
322
- _: 1
323
- }),
324
- a(l(m), {
325
- label: "邮箱",
326
- prop: "email"
327
- }, {
328
- default: n(() => [
329
- a(l(b), {
330
- modelValue: s.email,
331
- "onUpdate:modelValue": e[6] || (e[6] = (t) => s.email = t),
332
- placeholder: "请输入邮箱"
333
- }, null, 8, ["modelValue"])
334
- ]),
335
- _: 1
336
- }),
337
- a(l(m), {
338
- label: "手机号",
339
- prop: "phone"
340
- }, {
341
- default: n(() => [
342
- a(l(b), {
343
- modelValue: s.phone,
344
- "onUpdate:modelValue": e[7] || (e[7] = (t) => s.phone = t),
345
- placeholder: "请输入手机号"
346
- }, null, 8, ["modelValue"])
347
- ]),
348
- _: 1
349
- }),
350
- a(l(m), { label: "状态" }, {
351
- default: n(() => [
352
- a(l(_), {
353
- modelValue: s.status,
354
- "onUpdate:modelValue": e[8] || (e[8] = (t) => s.status = t),
355
- "active-value": l(d).ENABLED,
356
- "inactive-value": l(d).DISABLED
357
- }, null, 8, ["modelValue", "active-value", "inactive-value"])
358
- ]),
359
- _: 1
360
- })
361
- ]),
362
- _: 1
363
- }, 8, ["model"])
364
- ]),
365
- _: 1
366
- }, 8, ["modelValue", "title"])
367
- ]));
368
- }
369
- }), ke = /* @__PURE__ */ te(ie, [["__scopeId", "data-v-d2491ae0"]]);
370
- export {
371
- ke as default
372
- };