cc1-admin-front 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,34 +1,34 @@
1
- import { defineComponent as C, reactive as S, onMounted as L, resolveComponent as r, openBlock as l, createElementBlock as a, createElementVNode as e, createVNode as s, normalizeStyle as U, withCtx as o, createTextVNode as h, toDisplayString as d, unref as w, computed as V, normalizeClass as H, Fragment as v, renderList as b, createBlock as p, Transition as M, KeepAlive as R, resolveDynamicComponent as W } from "vue";
2
- import { ssys as k, suser as j, System as $ } from "./cc1-admin-front.js";
3
- import { TSys as T } from "cc1-form";
4
- import { _ as N } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
- const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = { class: "header-user-con" }, P = { class: "el-dropdown-link row items-center" }, Z = { class: "user-avator" }, G = ["src"], J = /* @__PURE__ */ C({
1
+ import { defineComponent as S, reactive as N, onMounted as A, resolveComponent as c, openBlock as l, createElementBlock as a, createElementVNode as e, createVNode as s, normalizeStyle as V, withCtx as o, createTextVNode as h, toDisplayString as d, unref as w, computed as H, normalizeClass as M, Fragment as v, renderList as b, createBlock as f, Transition as R, KeepAlive as W, resolveDynamicComponent as j } from "vue";
2
+ import { ssys as k, suser as T, System as $ } from "./cc1-admin-front.js";
3
+ import { TSys as C } from "cc1-form";
4
+ import { _ as z } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
+ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = { class: "header-user-con" }, P = { class: "el-dropdown-link row items-center" }, Z = { class: "user-avator" }, G = ["src"], I = /* @__PURE__ */ S({
6
6
  __name: "Header",
7
- setup(z) {
8
- const c = S({
7
+ setup(B) {
8
+ const r = N({
9
9
  layout: k.layout,
10
10
  message: 2
11
- }), f = () => {
12
- c.layout.collapse = !c.layout.collapse;
11
+ }), m = () => {
12
+ r.layout.collapse = !r.layout.collapse;
13
13
  };
14
- L(() => {
15
- document.body.clientWidth < 1500 && f();
14
+ A(() => {
15
+ document.body.clientWidth < 1500 && m();
16
16
  });
17
- const y = (m) => {
18
- m == "loginout" && T.router.push("/login");
17
+ const y = (u) => {
18
+ u == "loginout" ? (T.clearInfo(), C.router.push("/login")) : u == "user" && C.router.push("/profile");
19
19
  };
20
- return (m, n) => {
21
- const x = r("v-icon"), u = r("el-dropdown-item"), i = r("el-dropdown-menu"), g = r("el-dropdown");
20
+ return (u, n) => {
21
+ const x = c("v-icon"), _ = c("el-dropdown-item"), i = c("el-dropdown-menu"), g = c("el-dropdown");
22
22
  return l(), a("div", q, [
23
23
  e("div", {
24
24
  class: "collapse-btn",
25
- onClick: f
25
+ onClick: m
26
26
  }, [
27
27
  s(x, {
28
28
  name: "menu",
29
29
  size: "32",
30
30
  color: ["#34B0E5"],
31
- style: U([{ transition: "all 0.3s" }, { transform: `rotateZ(${c.layout.collapse ? 90 : 0}deg)` }])
31
+ style: V([{ transition: "all 0.3s" }, { transform: `rotateZ(${r.layout.collapse ? 90 : 0}deg)` }])
32
32
  }, null, 8, ["style"])
33
33
  ]),
34
34
  n[2] || (n[2] = e("i", {
@@ -46,14 +46,14 @@ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = {
46
46
  dropdown: o(() => [
47
47
  s(i, null, {
48
48
  default: o(() => [
49
- s(u, { command: "user" }, {
49
+ s(_, { command: "user" }, {
50
50
  default: o(() => n[0] || (n[0] = [
51
51
  h("个人中心", -1)
52
52
  ])),
53
53
  _: 1,
54
54
  __: [0]
55
55
  }),
56
- s(u, {
56
+ s(_, {
57
57
  divided: "",
58
58
  command: "loginout"
59
59
  }, {
@@ -69,7 +69,7 @@ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = {
69
69
  ]),
70
70
  default: o(() => [
71
71
  e("span", P, [
72
- h(d(w(j).userInfo.nickname) + " ", 1),
72
+ h(d(w(T).userInfo.nickname) + " ", 1),
73
73
  e("div", Z, [
74
74
  e("img", {
75
75
  src: w($).staticDir + "/images/head.jpg"
@@ -84,54 +84,54 @@ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = {
84
84
  ]);
85
85
  };
86
86
  }
87
- }), O = /* @__PURE__ */ N(J, [["__scopeId", "data-v-7d929cc4"]]), Q = { class: "flex items-center vicon" }, X = { class: "flex items-center vicon" }, Y = /* @__PURE__ */ C({
87
+ }), J = /* @__PURE__ */ z(I, [["__scopeId", "data-v-d5ae6f3f"]]), O = { class: "flex items-center vicon" }, Q = { class: "flex items-center vicon" }, X = /* @__PURE__ */ S({
88
88
  __name: "Sidebar",
89
- setup(z) {
90
- const c = S({
89
+ setup(B) {
90
+ const r = N({
91
91
  layout: k.layout,
92
92
  menu: []
93
- }), f = async () => {
93
+ }), m = async () => {
94
94
  let n = await k.getMenuList();
95
- const x = (u) => u.filter((i) => (i.type === 0 && (i.url = "/" + StrUtil.getId()), StrUtil.isNull(i.children) || (i.children = x(i.children)), i.show));
96
- n = x(n), c.menu = n;
95
+ const x = (_) => _.filter((i) => (i.type === 0 && (i.url = "/" + StrUtil.getId()), StrUtil.isNull(i.children) || (i.children = x(i.children)), i.show));
96
+ n = x(n), r.menu = n;
97
97
  };
98
- L(() => {
99
- f();
98
+ A(() => {
99
+ m();
100
100
  });
101
- const y = V(() => T.router.currentRoute.value.path), m = (n) => {
101
+ const y = H(() => C.router.currentRoute.value.path), u = (n) => {
102
102
  y.value !== n && window.innerWidth < 900 && Timer.once(() => {
103
- c.layout.collapse = !c.layout.collapse;
103
+ r.layout.collapse = !r.layout.collapse;
104
104
  }, 300);
105
105
  };
106
106
  return (n, x) => {
107
- const u = r("v-icon"), i = r("el-menu-item"), g = r("el-sub-menu"), A = r("el-menu"), D = r("el-scrollbar");
107
+ const _ = c("v-icon"), i = c("el-menu-item"), g = c("el-sub-menu"), D = c("el-menu"), E = c("el-scrollbar");
108
108
  return l(), a("div", {
109
- class: H(["sidebar", [c.layout.collapse ? "sidebar-hideen" : "sidebar-show"]])
109
+ class: M(["sidebar", [r.layout.collapse ? "sidebar-hideen" : "sidebar-show"]])
110
110
  }, [
111
- s(D, {
111
+ s(E, {
112
112
  height: "100%",
113
113
  style: { "background-color": "#324157" }
114
114
  }, {
115
115
  default: o(() => [
116
- s(A, {
116
+ s(D, {
117
117
  class: "sidebar-el-menu",
118
118
  "default-active": y.value,
119
- collapse: c.layout.collapse,
119
+ collapse: r.layout.collapse,
120
120
  "text-color": "#bfcbd9",
121
121
  "active-text-color": "#20a0ff",
122
122
  "unique-opened": "",
123
123
  router: "",
124
- onSelect: m
124
+ onSelect: u
125
125
  }, {
126
126
  default: o(() => [
127
- (l(!0), a(v, null, b(c.menu, (t) => (l(), a(v, null, [
128
- t.children && t.children?.length > 0 ? (l(), p(g, {
127
+ (l(!0), a(v, null, b(r.menu, (t) => (l(), a(v, null, [
128
+ t.children && t.children?.length > 0 ? (l(), f(g, {
129
129
  index: t.url,
130
130
  key: t.url
131
131
  }, {
132
132
  title: o(() => [
133
- e("div", Q, [
134
- s(u, {
133
+ e("div", O, [
134
+ s(_, {
135
135
  lib: t.iconLib,
136
136
  name: t.iconName,
137
137
  size: "24",
@@ -141,39 +141,39 @@ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = {
141
141
  e("span", null, d(t.title), 1)
142
142
  ]),
143
143
  default: o(() => [
144
- (l(!0), a(v, null, b(t.children, (_) => (l(), a(v, null, [
145
- _.children && _.children?.length > 0 ? (l(), p(g, {
144
+ (l(!0), a(v, null, b(t.children, (p) => (l(), a(v, null, [
145
+ p.children && p.children?.length > 0 ? (l(), f(g, {
146
146
  key: 0,
147
- index: _.url
147
+ index: p.url
148
148
  }, {
149
149
  title: o(() => [
150
- h(d(_.title), 1)
150
+ h(d(p.title), 1)
151
151
  ]),
152
152
  default: o(() => [
153
- (l(!0), a(v, null, b(_.children, (B, E) => (l(), p(i, {
154
- key: E,
155
- index: B.url
153
+ (l(!0), a(v, null, b(p.children, (L, U) => (l(), f(i, {
154
+ key: U,
155
+ index: L.url
156
156
  }, {
157
157
  default: o(() => [
158
- h(d(B.title), 1)
158
+ h(d(L.title), 1)
159
159
  ]),
160
160
  _: 2
161
161
  }, 1032, ["index"]))), 128))
162
162
  ]),
163
163
  _: 2
164
- }, 1032, ["index"])) : (l(), p(i, {
164
+ }, 1032, ["index"])) : (l(), f(i, {
165
165
  key: 1,
166
- index: _.url
166
+ index: p.url
167
167
  }, {
168
168
  default: o(() => [
169
- h(d(_.title), 1)
169
+ h(d(p.title), 1)
170
170
  ]),
171
171
  _: 2
172
172
  }, 1032, ["index"]))
173
173
  ], 64))), 256))
174
174
  ]),
175
175
  _: 2
176
- }, 1032, ["index"])) : (l(), p(i, {
176
+ }, 1032, ["index"])) : (l(), f(i, {
177
177
  index: t.url,
178
178
  key: t.url
179
179
  }, {
@@ -181,8 +181,8 @@ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = {
181
181
  e("span", null, d(t.title), 1)
182
182
  ]),
183
183
  default: o(() => [
184
- e("div", X, [
185
- s(u, {
184
+ e("div", Q, [
185
+ s(_, {
186
186
  lib: t.iconLib,
187
187
  name: t.iconName,
188
188
  size: "24",
@@ -202,36 +202,36 @@ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = {
202
202
  ], 2);
203
203
  };
204
204
  }
205
- }), I = /* @__PURE__ */ N(Y, [["__scopeId", "data-v-ac094262"]]), ee = { style: { display: "flex", height: "calc(100% - 70px)" } }, ne = { class: "content" }, oe = { class: "view" }, le = {
205
+ }), Y = /* @__PURE__ */ z(X, [["__scopeId", "data-v-ac094262"]]), ee = { style: { display: "flex", height: "calc(100% - 70px)" } }, ne = { class: "content" }, oe = { class: "view" }, le = {
206
206
  class: "row flex-center",
207
207
  style: { gap: "10px", "font-size": "12px" }
208
- }, te = /* @__PURE__ */ C({
208
+ }, te = /* @__PURE__ */ S({
209
209
  __name: "index",
210
- setup(z) {
211
- const c = S({
210
+ setup(B) {
211
+ const r = N({
212
212
  keepAlive: ["/auth/role", "/auth/api"]
213
213
  });
214
- return (f, y) => {
215
- const m = r("router-view");
214
+ return (m, y) => {
215
+ const u = c("router-view");
216
216
  return l(), a(v, null, [
217
- s(O),
217
+ s(J),
218
218
  e("div", ee, [
219
- s(I),
219
+ s(Y),
220
220
  e("div", ne, [
221
221
  e("div", null, [
222
222
  e("div", oe, [
223
- s(m, null, {
223
+ s(u, null, {
224
224
  default: o(({ Component: n }) => [
225
- s(M, {
225
+ s(R, {
226
226
  name: "slide-fade",
227
227
  mode: "out-in"
228
228
  }, {
229
229
  default: o(() => [
230
- (l(), p(R, {
231
- include: c.keepAlive
230
+ (l(), f(W, {
231
+ include: r.keepAlive
232
232
  }, [
233
- (l(), p(W(n), {
234
- key: f.$route.fullPath
233
+ (l(), f(j(n), {
234
+ key: m.$route.fullPath
235
235
  }))
236
236
  ], 1032, ["include"]))
237
237
  ]),
@@ -251,7 +251,7 @@ const q = { class: "header row no-wrap" }, F = { class: "header-right" }, K = {
251
251
  ], 64);
252
252
  };
253
253
  }
254
- }), ae = /* @__PURE__ */ N(te, [["__scopeId", "data-v-7d2c2356"]]);
254
+ }), ae = /* @__PURE__ */ z(te, [["__scopeId", "data-v-7d2c2356"]]);
255
255
  export {
256
256
  ae as default
257
257
  };
@@ -0,0 +1,289 @@
1
+ import { defineComponent as U, ref as g, reactive as h, onMounted as R, resolveComponent as n, openBlock as C, createBlock as T, withCtx as l, createVNode as a, createTextVNode as _, createElementVNode as q } from "vue";
2
+ import { ApiAuthUser as p, suser as b } from "./cc1-admin-front.js";
3
+ import { TSys as i } from "cc1-form";
4
+ import { _ as F } from "./_plugin-vue_export-helper-CHgC5LLL.js";
5
+ const E = /* @__PURE__ */ U({
6
+ __name: "index",
7
+ setup(I) {
8
+ const u = g(), f = g(), e = h({
9
+ activeTab: "profile",
10
+ profileLoading: !1,
11
+ passwordLoading: !1,
12
+ profile: {
13
+ account: "",
14
+ nickname: "",
15
+ phone: "",
16
+ desc: ""
17
+ },
18
+ password: {
19
+ oldPassword: "",
20
+ newPassword: "",
21
+ confirmPassword: ""
22
+ }
23
+ }), V = {
24
+ nickname: [
25
+ { required: !0, message: "请输入昵称", trigger: "blur" },
26
+ { max: 100, message: "昵称不能超过 100 个字符", trigger: "blur" }
27
+ ],
28
+ phone: [
29
+ {
30
+ validator: (d, o, s) => {
31
+ !o || /^1\d{10}$/.test(o) ? s() : s(new Error("请输入正确的手机号"));
32
+ },
33
+ trigger: "blur"
34
+ }
35
+ ]
36
+ }, P = {
37
+ oldPassword: [{ required: !0, message: "请输入原密码", trigger: "blur" }],
38
+ newPassword: [
39
+ { required: !0, message: "请输入新密码", trigger: "blur" },
40
+ { min: 6, message: "新密码至少 6 位", trigger: "blur" }
41
+ ],
42
+ confirmPassword: [
43
+ { required: !0, message: "请再次输入新密码", trigger: "blur" },
44
+ {
45
+ validator: (d, o, s) => {
46
+ o === e.password.newPassword ? s() : s(new Error("两次输入的密码不一致"));
47
+ },
48
+ trigger: "blur"
49
+ }
50
+ ]
51
+ }, y = async () => {
52
+ e.profileLoading = !0;
53
+ try {
54
+ const d = await p.profile();
55
+ Object.assign(e.profile, {
56
+ account: d.data.account || "",
57
+ nickname: d.data.nickname || "",
58
+ phone: d.data.phone || "",
59
+ desc: d.data.desc || ""
60
+ });
61
+ } finally {
62
+ e.profileLoading = !1;
63
+ }
64
+ }, v = async () => {
65
+ if (await u.value?.validate().catch(() => !1)) {
66
+ e.profileLoading = !0;
67
+ try {
68
+ const d = await p.updateProfile({
69
+ nickname: e.profile.nickname,
70
+ phone: e.profile.phone,
71
+ desc: e.profile.desc
72
+ });
73
+ Object.assign(e.profile, d.data), b.updateUserInfo(d.data), i.success("个人信息修改成功");
74
+ } finally {
75
+ e.profileLoading = !1;
76
+ }
77
+ }
78
+ }, x = async () => {
79
+ if (await f.value?.validate().catch(() => !1)) {
80
+ e.passwordLoading = !0;
81
+ try {
82
+ await p.changePassword({
83
+ oldPassword: e.password.oldPassword,
84
+ newPassword: e.password.newPassword
85
+ }), i.success("密码修改成功,请重新登录"), b.clearInfo(), await i.router.replace("/login");
86
+ } finally {
87
+ e.passwordLoading = !1;
88
+ }
89
+ }
90
+ };
91
+ return R(y), (d, o) => {
92
+ const s = n("el-input"), t = n("el-form-item"), m = n("el-button"), w = n("el-form"), c = n("el-tab-pane"), k = n("el-tabs"), L = n("el-card");
93
+ return C(), T(L, {
94
+ class: "profile-card",
95
+ shadow: "never"
96
+ }, {
97
+ header: l(() => o[8] || (o[8] = [
98
+ q("div", { class: "card-title" }, "个人中心", -1)
99
+ ])),
100
+ default: l(() => [
101
+ a(k, {
102
+ modelValue: e.activeTab,
103
+ "onUpdate:modelValue": o[7] || (o[7] = (r) => e.activeTab = r)
104
+ }, {
105
+ default: l(() => [
106
+ a(c, {
107
+ label: "个人信息",
108
+ name: "profile"
109
+ }, {
110
+ default: l(() => [
111
+ a(w, {
112
+ ref_key: "profileFormRef",
113
+ ref: u,
114
+ model: e.profile,
115
+ rules: V,
116
+ "label-width": "90px",
117
+ class: "profile-form"
118
+ }, {
119
+ default: l(() => [
120
+ a(t, { label: "账号" }, {
121
+ default: l(() => [
122
+ a(s, {
123
+ modelValue: e.profile.account,
124
+ "onUpdate:modelValue": o[0] || (o[0] = (r) => e.profile.account = r),
125
+ disabled: ""
126
+ }, null, 8, ["modelValue"])
127
+ ]),
128
+ _: 1
129
+ }),
130
+ a(t, {
131
+ label: "昵称",
132
+ prop: "nickname"
133
+ }, {
134
+ default: l(() => [
135
+ a(s, {
136
+ modelValue: e.profile.nickname,
137
+ "onUpdate:modelValue": o[1] || (o[1] = (r) => e.profile.nickname = r),
138
+ maxlength: "100",
139
+ "show-word-limit": ""
140
+ }, null, 8, ["modelValue"])
141
+ ]),
142
+ _: 1
143
+ }),
144
+ a(t, {
145
+ label: "手机号",
146
+ prop: "phone"
147
+ }, {
148
+ default: l(() => [
149
+ a(s, {
150
+ modelValue: e.profile.phone,
151
+ "onUpdate:modelValue": o[2] || (o[2] = (r) => e.profile.phone = r),
152
+ maxlength: "11",
153
+ placeholder: "请输入手机号"
154
+ }, null, 8, ["modelValue"])
155
+ ]),
156
+ _: 1
157
+ }),
158
+ a(t, {
159
+ label: "个人简介",
160
+ prop: "desc"
161
+ }, {
162
+ default: l(() => [
163
+ a(s, {
164
+ modelValue: e.profile.desc,
165
+ "onUpdate:modelValue": o[3] || (o[3] = (r) => e.profile.desc = r),
166
+ type: "textarea",
167
+ rows: 4,
168
+ maxlength: "1000",
169
+ "show-word-limit": "",
170
+ placeholder: "请输入个人简介"
171
+ }, null, 8, ["modelValue"])
172
+ ]),
173
+ _: 1
174
+ }),
175
+ a(t, null, {
176
+ default: l(() => [
177
+ a(m, {
178
+ type: "primary",
179
+ loading: e.profileLoading,
180
+ onClick: v
181
+ }, {
182
+ default: l(() => o[9] || (o[9] = [
183
+ _("保存修改", -1)
184
+ ])),
185
+ _: 1,
186
+ __: [9]
187
+ }, 8, ["loading"])
188
+ ]),
189
+ _: 1
190
+ })
191
+ ]),
192
+ _: 1
193
+ }, 8, ["model"])
194
+ ]),
195
+ _: 1
196
+ }),
197
+ a(c, {
198
+ label: "修改密码",
199
+ name: "password"
200
+ }, {
201
+ default: l(() => [
202
+ a(w, {
203
+ ref_key: "passwordFormRef",
204
+ ref: f,
205
+ model: e.password,
206
+ rules: P,
207
+ "label-width": "90px",
208
+ class: "profile-form"
209
+ }, {
210
+ default: l(() => [
211
+ a(t, {
212
+ label: "原密码",
213
+ prop: "oldPassword"
214
+ }, {
215
+ default: l(() => [
216
+ a(s, {
217
+ modelValue: e.password.oldPassword,
218
+ "onUpdate:modelValue": o[4] || (o[4] = (r) => e.password.oldPassword = r),
219
+ type: "password",
220
+ "show-password": "",
221
+ autocomplete: "current-password"
222
+ }, null, 8, ["modelValue"])
223
+ ]),
224
+ _: 1
225
+ }),
226
+ a(t, {
227
+ label: "新密码",
228
+ prop: "newPassword"
229
+ }, {
230
+ default: l(() => [
231
+ a(s, {
232
+ modelValue: e.password.newPassword,
233
+ "onUpdate:modelValue": o[5] || (o[5] = (r) => e.password.newPassword = r),
234
+ type: "password",
235
+ "show-password": "",
236
+ autocomplete: "new-password"
237
+ }, null, 8, ["modelValue"])
238
+ ]),
239
+ _: 1
240
+ }),
241
+ a(t, {
242
+ label: "确认密码",
243
+ prop: "confirmPassword"
244
+ }, {
245
+ default: l(() => [
246
+ a(s, {
247
+ modelValue: e.password.confirmPassword,
248
+ "onUpdate:modelValue": o[6] || (o[6] = (r) => e.password.confirmPassword = r),
249
+ type: "password",
250
+ "show-password": "",
251
+ autocomplete: "new-password"
252
+ }, null, 8, ["modelValue"])
253
+ ]),
254
+ _: 1
255
+ }),
256
+ a(t, null, {
257
+ default: l(() => [
258
+ a(m, {
259
+ type: "primary",
260
+ loading: e.passwordLoading,
261
+ onClick: x
262
+ }, {
263
+ default: l(() => o[10] || (o[10] = [
264
+ _("修改密码", -1)
265
+ ])),
266
+ _: 1,
267
+ __: [10]
268
+ }, 8, ["loading"])
269
+ ]),
270
+ _: 1
271
+ })
272
+ ]),
273
+ _: 1
274
+ }, 8, ["model"])
275
+ ]),
276
+ _: 1
277
+ })
278
+ ]),
279
+ _: 1
280
+ }, 8, ["modelValue"])
281
+ ]),
282
+ _: 1
283
+ });
284
+ };
285
+ }
286
+ }), O = /* @__PURE__ */ F(E, [["__scopeId", "data-v-b691a248"]]);
287
+ export {
288
+ O as default
289
+ };
@@ -7,14 +7,27 @@ export declare const suser: {
7
7
  };
8
8
  token: string;
9
9
  userInfo: {
10
+ account?: string | undefined;
10
11
  nickname: string;
12
+ phone?: string | undefined;
13
+ desc?: string | undefined;
11
14
  };
12
15
  };
13
16
  userInfo: {
17
+ account?: string | undefined;
14
18
  nickname: string;
19
+ phone?: string | undefined;
20
+ desc?: string | undefined;
15
21
  };
16
22
  token: any;
17
23
  setUserInfo: (loginInfo: any) => void;
24
+ updateUserInfo: (userInfo: Partial<UserInfo>) => void;
18
25
  clearInfo: () => void;
19
26
  hasApi: (api: string) => boolean;
20
27
  };
28
+ export type UserInfo = {
29
+ account?: string;
30
+ nickname: string;
31
+ phone?: string;
32
+ desc?: string;
33
+ };
@@ -1,4 +1,5 @@
1
1
  import { type App } from 'vue';
2
+ import type { Router } from 'vue-router';
2
3
  export default class System {
3
4
  /**
4
5
  * 环境变量
@@ -62,10 +63,16 @@ export default class System {
62
63
  * ])
63
64
  */
64
65
  routes: Record<string, () => Promise<unknown>>;
66
+ /** 路由处理钩子 */
67
+ routeHook: (router: Router) => any;
65
68
  /**
66
69
  * 初始化回调
67
70
  */
68
71
  install: (app: App) => any;
72
+ /**
73
+ * 初始化结束回调
74
+ */
75
+ installed: (app: App) => any;
69
76
  };
70
77
  static setConfig(config: any): void;
71
78
  static getBaseUrl(url: string): string;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc1-admin-front",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "我来助你-后台管理系统-页面",
5
5
  "repository": {
6
6
  "type": "git",