bilitoolkit-ui 0.0.6 → 0.0.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.
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
- import { reactive as fe, watch as Z, ref as y, onMounted as te, onUnmounted as ue, computed as k, toValue as Y, shallowRef as lt, useTemplateRef as le, defineComponent as S, openBlock as i, createElementBlock as g, createElementVNode as c, toDisplayString as A, renderSlot as I, normalizeClass as W, createVNode as f, createCommentVNode as Q, useModel as Ae, createBlock as b, withCtx as d, unref as B, createTextVNode as M, mergeModels as J, withDirectives as F, Fragment as O, renderList as ee, normalizeStyle as Se, toRaw as st, render as ce, vShow as ie, createApp as De, useCssVars as nt, mergeProps as G, normalizeProps as at, guardReactiveProps as ot, withModifiers as he, nextTick as He, useSlots as Ve, useAttrs as ct } from "vue";
2
- import { defineStore as $e, storeToRefs as it } from "pinia";
3
- import { defaultAppThemeState as Te, APP_THEME_STATE as ze, UI_DB_KEYS as Ie } from "./common.js";
4
- import { setupToolkitApi as rt } from "bilitoolkit-runtime";
5
- import Le from "lodash-es/cloneDeep";
1
+ import { reactive as Ce, watch as le, ref as z, onMounted as ne, onUnmounted as ce, computed as C, toValue as te, shallowRef as Bt, useTemplateRef as K, defineComponent as B, openBlock as r, createElementBlock as f, createElementVNode as a, toDisplayString as m, renderSlot as I, normalizeClass as se, createVNode as v, createCommentVNode as $, useModel as he, createBlock as k, withCtx as d, unref as h, createTextVNode as A, mergeModels as J, withDirectives as W, Fragment as R, renderList as O, normalizeStyle as xe, toRaw as St, render as me, vShow as ge, createApp as ze, useCssVars as $t, mergeProps as G, normalizeProps as zt, guardReactiveProps as Dt, withModifiers as Ee, nextTick as we, useSlots as Oe, useAttrs as Pt, h as It } from "vue";
2
+ import { defineStore as je, storeToRefs as Mt } from "pinia";
3
+ import { defaultAppThemeState as Ne, APP_THEME_STATE as He, UI_DB_KEYS as Te } from "./common.js";
4
+ import { setupToolkitApi as Vt } from "bilitoolkit-runtime";
5
+ import Ze from "lodash-es/cloneDeep";
6
6
  import "element-plus/theme-chalk/dark/css-vars.css";
7
7
  import "element-plus/theme-chalk/el-loading.css";
8
8
  import "element-plus/theme-chalk/el-message.css";
9
9
  import "element-plus/theme-chalk/el-message-box.css";
10
- import { ElMessageBox as ut, ElMessage as dt } from "element-plus";
11
- import { BiliApiBusinessError as vt } from "@ybgnb/bili-api";
12
- import { isCanceledError as pt, getErrorMessage as gt, createAbortError as mt, serializeError as ft, getFormattedDateTime as ht } from "@ybgnb/utils";
13
- import { AppError as _t } from "bilitoolkit-types";
14
- import { ElDialog as we, ElButton as se, ElLoadingDirective as ye, ElRow as At, ElCol as wt, ElInput as yt, ElProgress as bt, ElIcon as xt, ElTooltip as Re, ElPopconfirm as Ct, ElMenuItem as Ue, ElSubMenu as Et, ElMenu as Bt, ElPopover as kt, ElDropdown as St, ElDropdownMenu as zt, ElDropdownItem as It, ElTable as Pt, ElTableColumn as Qt, ElEmpty as Mt, ElPagination as Dt } from "element-plus/es";
10
+ import { ElMessageBox as Qt, ElMessage as Ht } from "element-plus";
11
+ import { BiliApiBusinessError as Tt, BiliClient as Lt, audioQualityMap as Rt, videoQualityMap as Ft, videoCodecIdMap as Ut, parseVideoZoneV1 as qt, parseVideoZoneV2 as Ot } from "@ybgnb/bili-api";
12
+ import { isCanceledError as jt, getErrorMessage as Nt, createAbortError as We, serializeError as Zt, getFormattedDateTime as Wt, unwrapBizResult as Gt, inArray as Jt, formatFileSizeFromKB as Kt, formatDuration as De, formatTime as fe } from "@ybgnb/utils";
13
+ import { AppError as Yt, downloadTaskStatusMap as Ge, downloadResourceNameMap as Xt } from "bilitoolkit-types";
14
+ import { ElDialog as re, ElButton as Z, ElLoadingDirective as Pe, ElRow as es, ElCol as ts, ElInput as Je, ElProgress as Ke, ElIcon as Ie, ElTooltip as Ye, ElPopconfirm as ss, ElMenuItem as Xe, ElSubMenu as ls, ElMenu as ns, ElPopover as as, ElDropdown as os, ElDropdownMenu as is, ElDropdownItem as cs, ElTable as rs, ElTableColumn as us, ElEmpty as et, ElPagination as tt, ElCheckbox as ds, ElTag as st, ElText as vs, ElImage as lt, ElDescriptions as ps, ElDescriptionsItem as ms, ElRadioGroup as gs, ElRadioButton as fs } from "element-plus/es";
15
15
  import "element-plus/es/components/base/style/css";
16
16
  import "element-plus/es/components/dialog/style/css";
17
17
  import "element-plus/es/components/button/style/css";
@@ -34,153 +34,161 @@ import "element-plus/es/components/pagination/style/css";
34
34
  import "element-plus/es/components/table/style/css";
35
35
  import "element-plus/es/components/empty/style/css";
36
36
  import "element-plus/es/components/table-column/style/css";
37
- const R = rt();
38
- var z = (e, n, t, l = "srgb", a) => `color-mix(in ${l}, ${e} ${t}%, ${n} ${100 - t}%)`, qe = (e) => {
39
- let n = parseInt(e.slice(1, 3), 16), t = parseInt(e.slice(3, 5), 16), l = parseInt(e.slice(5, 7), 16);
40
- return { r: n, g: t, b: l };
41
- }, Ht = (e, n) => {
42
- document.documentElement.style.setProperty(e, n);
37
+ import "element-plus/es/components/checkbox/style/css";
38
+ import "element-plus/es/components/descriptions/style/css";
39
+ import "element-plus/es/components/descriptions-item/style/css";
40
+ import "element-plus/es/components/tag/style/css";
41
+ import "element-plus/es/components/image/style/css";
42
+ import "element-plus/es/components/text/style/css";
43
+ import "element-plus/es/components/radio-group/style/css";
44
+ import "element-plus/es/components/radio-button/style/css";
45
+ const H = Vt();
46
+ var T = (e, l, s, t = "srgb", i) => `color-mix(in ${t}, ${e} ${s}%, ${l} ${100 - s}%)`, nt = (e) => {
47
+ let l = parseInt(e.slice(1, 3), 16), s = parseInt(e.slice(3, 5), 16), t = parseInt(e.slice(5, 7), 16);
48
+ return { r: l, g: s, b: t };
49
+ }, _s = (e, l) => {
50
+ document.documentElement.style.setProperty(e, l);
43
51
  };
44
- const Pe = "#ffffff", Qe = "#000000", ge = (e, n, t) => {
45
- const { r: l, g: a, b: s } = qe(e);
52
+ const Le = "#ffffff", Re = "#000000", ke = (e, l, s) => {
53
+ const { r: t, g: i, b: n } = nt(e);
46
54
  for (let o = 2; o < 100; ) {
47
- const r = o / 100;
48
- n[`${t}-transparent-${o}`] = `rgba(${l}, ${a}, ${s}, ${r})`, o >= 10 ? o += 5 : o++;
55
+ const c = o / 100;
56
+ l[`${s}-transparent-${o}`] = `rgba(${t}, ${i}, ${n}, ${c})`, o >= 10 ? o += 5 : o++;
49
57
  }
50
- }, be = (e, n, t) => {
51
- const l = {};
52
- t ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark");
53
- const a = l["--app-color-foreground"] = t ? Pe : Qe, s = l["--app-color-background"] = t ? Qe : Pe;
54
- l["--app-primary-color"] = e, l["--el-color-primary"] = e, l["--el-color-primary-light-1"] = z(e, s, 90), l["--el-color-primary-light-2"] = z(e, s, 80), l["--el-color-primary-light-3"] = z(e, s, 70), l["--el-color-primary-light-4"] = z(e, s, 60), l["--el-color-primary-light-5"] = z(e, s, 50), l["--el-color-primary-light-6"] = z(e, s, 40), l["--el-color-primary-light-7"] = z(e, s, 30), l["--el-color-primary-light-8"] = z(e, s, 20), l["--el-color-primary-light-9"] = z(e, s, 12), l["--el-color-primary-dark-1"] = z(e, a, 90), l["--el-color-primary-dark-2"] = z(e, a, 80), l["--el-color-primary-dark-3"] = z(e, a, 70), l["--el-color-primary-dark-4"] = z(e, a, 60), l["--el-color-primary-dark-5"] = z(e, a, 50), l["--el-color-primary-dark-6"] = z(e, a, 40), l["--el-color-primary-dark-7"] = z(e, a, 30), l["--el-color-primary-dark-8"] = z(e, a, 20), l["--el-color-primary-dark-9"] = z(e, a, 12);
55
- const { r: o, g: r, b: u } = qe(e);
56
- l["--app-bg-color-overlay"] = `rgba(${o}, ${r}, ${u}, 0.05)`, l["--app-bg-color-overlay-hover"] = `rgba(${o}, ${r}, ${u}, 0.15)`, l["--app-bg-color-page"] = t ? "var(--el-fill-color-blank)" : "transparent", l["--app-bg-color-menus"] = "var(--app-bg-color-page)", t ? l["--app-text-shadow"] = " 0px 1px 2px rgba(255, 255, 255, .4)" : l["--app-text-shadow"] = " 0px 1px 2px rgba(0, 0, 0, .4)", ge(e, l, "--app-color-primary"), ge(s, l, "--app-color-background"), ge(a, l, "--app-color-foreground");
57
- for (const v in l)
58
- Ht(v, l[v]);
59
- }, xe = async (e) => {
60
- const n = e ?? (await R.system.getAppThemeState()).themeMode;
61
- return n === "system" ? await R.system.shouldUseDarkColors() : n === "dark";
62
- }, re = async (e) => {
63
- const n = e ?? await R.system.getAppThemeState(), t = await xe(n.themeMode);
64
- be(n.primaryColor, n.themeMode, t);
65
- }, Ks = async () => {
66
- await re(void 0);
67
- }, Ys = async () => {
68
- await re(Te);
69
- }, Xs = async (e) => {
70
- const t = de().state, l = await xe(e);
71
- t.dark = l, t.themeMode = e, be(t.primaryColor, e, l);
72
- }, en = async (e) => {
73
- const t = de().state, l = await xe(t.themeMode);
74
- t.primaryColor = e, be(e, t.themeMode, l);
75
- }, de = $e(
58
+ }, Me = (e, l, s) => {
59
+ const t = {};
60
+ s ? document.documentElement.classList.add("dark") : document.documentElement.classList.remove("dark");
61
+ const i = t["--app-color-foreground"] = s ? Le : Re, n = t["--app-color-background"] = s ? Re : Le;
62
+ t["--app-primary-color"] = e, t["--el-color-primary"] = e, t["--el-color-primary-light-1"] = T(e, n, 90), t["--el-color-primary-light-2"] = T(e, n, 80), t["--el-color-primary-light-3"] = T(e, n, 70), t["--el-color-primary-light-4"] = T(e, n, 60), t["--el-color-primary-light-5"] = T(e, n, 50), t["--el-color-primary-light-6"] = T(e, n, 40), t["--el-color-primary-light-7"] = T(e, n, 30), t["--el-color-primary-light-8"] = T(e, n, 20), t["--el-color-primary-light-9"] = T(e, n, 12), t["--el-color-primary-dark-1"] = T(e, i, 90), t["--el-color-primary-dark-2"] = T(e, i, 80), t["--el-color-primary-dark-3"] = T(e, i, 70), t["--el-color-primary-dark-4"] = T(e, i, 60), t["--el-color-primary-dark-5"] = T(e, i, 50), t["--el-color-primary-dark-6"] = T(e, i, 40), t["--el-color-primary-dark-7"] = T(e, i, 30), t["--el-color-primary-dark-8"] = T(e, i, 20), t["--el-color-primary-dark-9"] = T(e, i, 12);
63
+ const { r: o, g: c, b: u } = nt(e);
64
+ t["--app-bg-color-overlay"] = `rgba(${o}, ${c}, ${u}, 0.05)`, t["--app-bg-color-overlay-hover"] = `rgba(${o}, ${c}, ${u}, 0.15)`, t["--app-bg-color-page"] = s ? "var(--el-fill-color-blank)" : "transparent", t["--app-bg-color-menus"] = "var(--app-bg-color-page)", s ? t["--app-text-shadow"] = " 0px 1px 2px rgba(255, 255, 255, .4)" : t["--app-text-shadow"] = " 0px 1px 2px rgba(0, 0, 0, .4)", ke(e, t, "--app-color-primary"), ke(n, t, "--app-color-background"), ke(i, t, "--app-color-foreground");
65
+ for (const p in t)
66
+ _s(p, t[p]);
67
+ }, Ve = async (e) => {
68
+ const l = e ?? (await H.system.getAppThemeState()).themeMode;
69
+ return l === "system" ? await H.system.shouldUseDarkColors() : l === "dark";
70
+ }, _e = async (e) => {
71
+ const l = e ?? await H.system.getAppThemeState(), s = await Ve(l.themeMode);
72
+ Me(l.primaryColor, l.themeMode, s);
73
+ }, fo = async () => {
74
+ await _e(void 0);
75
+ }, _o = async () => {
76
+ await _e(Ne);
77
+ }, ho = async (e) => {
78
+ const s = ye().state, t = await Ve(e);
79
+ s.dark = t, s.themeMode = e, Me(s.primaryColor, e, t);
80
+ }, wo = async (e) => {
81
+ const s = ye().state, t = await Ve(s.themeMode);
82
+ s.primaryColor = e, Me(e, s.themeMode, t);
83
+ }, ye = je(
76
84
  "biliToolkit-ui-theme",
77
85
  () => {
78
- const e = fe(Te);
79
- let n = !1;
80
- const t = async (s, o) => {
81
- const r = await window.toolkitApi.system.getAppThemeState();
82
- Object.assign(e, r), await re(r), s && o && (n = !0, Z(
86
+ const e = Ce(Ne);
87
+ let l = !1;
88
+ const s = async (n, o) => {
89
+ const c = await window.toolkitApi.system.getAppThemeState();
90
+ Object.assign(e, c), await _e(c), n && o && (l = !0, le(
83
91
  () => e,
84
92
  (u) => {
85
- const v = Le(u);
86
- window.toolkitApi.db.write(s, v).then(async () => {
87
- await window.toolkitApi.event.emit(o, v);
93
+ const p = Ze(u);
94
+ window.toolkitApi.db.write(n, p).then(async () => {
95
+ await window.toolkitApi.event.emit(o, p);
88
96
  });
89
97
  },
90
98
  { deep: !0 }
91
99
  ));
92
100
  };
93
- window.toolkitApi.event.onUpdateAppTheme((s) => {
94
- n || Object.assign(e, s), re(s).then();
101
+ window.toolkitApi.event.onUpdateAppTheme((n) => {
102
+ l || Object.assign(e, n), _e(n).then();
95
103
  }).catch();
96
- const l = (s) => (e.primaryColor = s, e.primaryColor);
97
- return { init: t, state: e, switchThemeColor: () => {
98
- e.primaryColorIndex = (e.primaryColorIndex + 1) % ze.primaryColors.length;
99
- const s = ze.primaryColors[e.primaryColorIndex];
100
- return l(s);
101
- }, setPrimaryColor: l };
104
+ const t = (n) => (e.primaryColor = n, e.primaryColor);
105
+ return { init: s, state: e, switchThemeColor: () => {
106
+ e.primaryColorIndex = (e.primaryColorIndex + 1) % He.primaryColors.length;
107
+ const n = He.primaryColors[e.primaryColorIndex];
108
+ return t(n);
109
+ }, setPrimaryColor: t };
102
110
  },
103
111
  {
104
112
  // 自己实现配置的持久化
105
113
  persist: !1
106
114
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
115
  }
108
- ), je = $e("biliToolkit-ui-selected-user", () => {
109
- const e = y(null), n = async () => {
116
+ ), at = je("biliToolkit-ui-selected-user", () => {
117
+ const e = z(null), l = async () => {
110
118
  try {
111
- e.value = (await window.toolkitApi.db.init(Ie.UI_SELECTED_USER))?.user ?? null;
119
+ e.value = (await window.toolkitApi.db.init(Te.UI_SELECTED_USER))?.user ?? null;
112
120
  } catch {
113
121
  }
114
122
  };
115
- return Z(
123
+ return le(
116
124
  () => e.value,
117
- async (s) => {
118
- let o = s != null ? Le(s) : null;
119
- await window.toolkitApi.db.write(Ie.UI_SELECTED_USER, {
125
+ async (n) => {
126
+ let o = n != null ? Ze(n) : null;
127
+ await window.toolkitApi.db.write(Te.UI_SELECTED_USER, {
120
128
  user: o
121
129
  }), o && await window.toolkitApi.user.switchCurrUser(o);
122
130
  },
123
131
  { deep: !0 }
124
- ), { init: n, user: e, deleteUser: () => {
132
+ ), { init: l, user: e, deleteUser: () => {
125
133
  e.value = null;
126
- }, setUser: (s) => {
127
- e.value = s;
134
+ }, setUser: (n) => {
135
+ e.value = n;
128
136
  }, assertLoggedIn: () => {
129
137
  if (e.value == null)
130
138
  throw new Error("请先登录");
131
139
  } };
132
- }), tn = async (e, n) => (Promise.resolve({ }), Promise.resolve({ }), Promise.resolve({ }), await de(e).init(n?.appThemeDBName, n?.appThemeUpdateEvent), await je(e).init(), {
133
- install(t) {
140
+ }), yo = async (e, l) => (Promise.resolve({ }), Promise.resolve({ }), Promise.resolve({ }), await ye(e).init(l?.appThemeDBName, l?.appThemeUpdateEvent), await at(e).init(), {
141
+ install(s) {
134
142
  }
135
143
  });
136
- function Vt(e) {
137
- R.system.saveLog({
144
+ function hs(e) {
145
+ H.system.saveLog({
138
146
  level: "error",
139
- data: [JSON.stringify(ft(e))]
147
+ data: [JSON.stringify(Zt(e))]
140
148
  }).catch();
141
149
  }
142
- function Me(e, n) {
143
- return e == null ? !1 : e instanceof n || typeof e == "object" && "name" in e && e.name === n.name;
150
+ function Fe(e, l) {
151
+ return e == null ? !1 : e instanceof l || typeof e == "object" && "name" in e && e.name === l.name;
144
152
  }
145
- const ln = (e) => {
146
- if (!pt(e))
153
+ const Ao = (e) => {
154
+ if (!jt(e))
147
155
  if (e) {
148
156
  console.error(e);
149
- const n = () => {
150
- R && R.system && Vt(e);
157
+ const l = () => {
158
+ H && H.system && hs(e);
151
159
  };
152
- Me(e, _t) ? X(`${e.message}`) : Me(e, vt) ? (X(`${e.message} (${e.responseCode})`), n()) : (X(gt(e)), n());
160
+ Fe(e, Yt) ? ie(`${e.message}`) : Fe(e, Tt) ? (ie(`${e.message} (${e.responseCode})`), l()) : (ie(Nt(e)), l());
153
161
  } else
154
- Ce({
162
+ Y({
155
163
  message: "未知错误",
156
164
  type: "error"
157
165
  });
158
166
  };
159
- function Ce(e) {
160
- const n = {
167
+ function Y(e) {
168
+ const l = {
161
169
  message: "",
162
170
  type: "success",
163
171
  duration: 3e3
164
172
  };
165
- typeof e == "string" ? n.message = e : Object.assign(n, e), dt(n);
173
+ typeof e == "string" ? l.message = e : Object.assign(l, e), Ht(l);
166
174
  }
167
- function X(e) {
168
- Ce({
175
+ function ie(e) {
176
+ Y({
169
177
  message: e,
170
178
  type: "error"
171
179
  });
172
180
  }
173
- function sn(e) {
174
- Ce({
181
+ function ko(e) {
182
+ Y({
175
183
  message: e,
176
184
  type: "warning"
177
185
  });
178
186
  }
179
- function $t(e, n = "提示", t = {}) {
180
- return new Promise((l, a) => {
181
- ut.confirm(
187
+ function ws(e, l = "提示", s = {}) {
188
+ return new Promise((t, i) => {
189
+ Qt.confirm(
182
190
  e,
183
- n,
191
+ l,
184
192
  Object.assign(
185
193
  {
186
194
  autofocus: !1,
@@ -189,162 +197,169 @@ function $t(e, n = "提示", t = {}) {
189
197
  confirmButtonText: "确定",
190
198
  type: "warning"
191
199
  },
192
- t
200
+ s
193
201
  )
194
202
  ).then(() => {
195
- l();
203
+ t();
196
204
  }).catch(() => {
197
- a(mt());
205
+ i(We());
198
206
  });
199
207
  });
200
208
  }
201
- async function nn(e) {
202
- for (const [n, t, l] of e)
203
- await $t(n, t, l);
209
+ async function bo(e) {
210
+ for (const [l, s, t] of e)
211
+ await ws(l, s, t);
204
212
  }
205
- const Ee = (e) => {
206
- const n = e?.loading ?? y(!1);
207
- let t = null;
208
- const l = y(!1);
213
+ const Qe = (e) => {
214
+ const l = e?.loading ?? z(!1);
215
+ let s = null;
216
+ const t = z(!1);
209
217
  return {
210
- loading: n,
211
- hasLoaded: l,
212
- loadingData: (s) => async (...o) => (e?.singleFlight && n.value && t || (t = (async () => {
213
- n.value = !0;
218
+ loading: l,
219
+ hasLoaded: t,
220
+ loadingData: (n) => async (...o) => (e?.singleFlight && l.value && s || (s = (async () => {
221
+ l.value = !0;
214
222
  try {
215
- return typeof s == "function" ? await s(...o) : await s;
223
+ return typeof n == "function" ? await n(...o) : await n;
216
224
  } finally {
217
- n.value = !1, l.value = !0, t = null;
225
+ l.value = !1, t.value = !0, s = null;
218
226
  }
219
- })()), t)
227
+ })()), s)
220
228
  };
221
- }, an = (e, n = 3e3) => {
222
- const { loading: t, loadingData: l } = Ee({ singleFlight: !0 }), a = l(e);
223
- let s = null;
224
- return te(async () => {
225
- s = setInterval(a, n);
226
- }), ue(() => {
227
- s && (clearInterval(s), s = null);
228
- }), { loading: t, refreshTableData: a, reset: () => {
229
- s && (clearInterval(s), s = null), a(), s = setInterval(a, n);
229
+ }, Co = (e, l = 3e3) => {
230
+ const { loading: s, loadingData: t } = Qe({ singleFlight: !0 }), i = t(e);
231
+ let n = null;
232
+ return ne(async () => {
233
+ n = setInterval(i, l);
234
+ }), ce(() => {
235
+ n && (clearInterval(n), n = null);
236
+ }), { loading: s, refreshTableData: i, reset: () => {
237
+ n && (clearInterval(n), n = null), i(), n = setInterval(i, l);
230
238
  } };
231
- }, Tt = (e) => {
232
- const { fetchPage: n, pageParams: t, queryParams: l, autoLoad: a, onLoaded: s } = e, o = k(() => {
233
- const m = Y(t);
239
+ }, ot = (e) => {
240
+ const { fetchPage: l, pageParams: s, queryParams: t, autoLoad: i, onLoaded: n } = e, o = C(() => {
241
+ const D = te(s);
234
242
  return {
235
- pageNum: m?.pageNum ?? 1,
236
- pageSize: m?.pageSize ?? 20,
243
+ pageNum: D?.pageNum ?? 1,
244
+ pageSize: D?.pageSize ?? 20,
237
245
  totalPages: 0,
238
246
  total: 0
239
247
  };
240
- }), r = y(o.value), u = y([]), { loading: v, loadingData: p } = Ee(), h = p(async () => {
241
- const m = Y(l), E = {
242
- pageNum: r.value.pageNum,
243
- pageSize: r.value.pageSize
244
- }, { data: D, ...$ } = m ? await n(E, m) : await n(E);
245
- u.value = D, r.value = $, s?.();
246
- }), w = () => {
247
- const { pageSize: m, ...E } = o.value;
248
- Object.assign(r.value, E);
249
- }, C = async () => {
250
- w(), await h();
251
- }, _ = async () => {
252
- r.value.pageNum = 1, await h();
253
- }, P = async () => {
254
- await h();
248
+ }), c = z(o.value), u = z([]), { loading: p, loadingData: _ } = Qe(), w = _(async () => {
249
+ const D = te(t), V = {
250
+ pageNum: c.value.pageNum,
251
+ pageSize: c.value.pageSize
252
+ }, { data: F, ...P } = D ? await l(V, D) : await l(V);
253
+ u.value = F, c.value = P, n?.();
254
+ }), g = () => {
255
+ const { pageSize: D, ...V } = o.value;
256
+ Object.assign(c.value, V);
257
+ }, b = async () => {
258
+ g(), await w();
259
+ }, x = async () => {
260
+ c.value.pageNum = 1, await w();
261
+ }, M = async () => {
262
+ await x();
263
+ }, E = async () => {
264
+ await w();
255
265
  };
256
- return a && te(async () => {
257
- await C();
266
+ return i && ne(async () => {
267
+ await b();
258
268
  }), {
259
- pageData: r,
269
+ pageData: c,
260
270
  tableData: u,
261
- loading: v,
262
- refresh: h,
263
- resetAndRefresh: C,
264
- handleSizeChange: _,
265
- handleCurrPageChange: P
271
+ loading: p,
272
+ refresh: w,
273
+ resetAndRefresh: b,
274
+ resetPageAndRefresh: x,
275
+ handleSizeChange: M,
276
+ handleCurrPageChange: E
266
277
  };
267
- }, on = (e, n) => {
268
- const t = lt([]);
269
- function l(u) {
270
- return t.value.includes(u);
278
+ }, xo = (e, l, s = []) => {
279
+ const t = Bt([...s]);
280
+ function i(g) {
281
+ return t.value.includes(l(g));
271
282
  }
272
- function a(u) {
273
- const v = t.value.indexOf(u);
274
- v > -1 ? t.value = t.value.splice(v, 1) : t.value = [...t.value, u];
283
+ function n(g) {
284
+ const b = l(g);
285
+ i(g) ? t.value = t.value.filter((x) => x !== b) : t.value = [...t.value, b];
275
286
  }
276
- const s = y(!1);
277
- Z(
278
- t,
279
- () => {
280
- const u = Y(e);
281
- s.value = u.length > 0 && u.every((v) => t.value.includes(n(v)));
282
- },
283
- { immediate: !0 }
284
- );
285
- function o() {
286
- if (s.value) {
287
- const u = Y(e).map((v) => n(v));
288
- t.value = u;
289
- } else
290
- t.value = [];
287
+ const o = C(() => {
288
+ const g = te(e);
289
+ return g.length > 0 && g.every((b) => t.value.includes(l(b)));
290
+ });
291
+ function c() {
292
+ o.value ? t.value = [] : t.value = te(e).map(l);
291
293
  }
292
- function r() {
293
- return Y(e).filter((u) => t.value.includes(n(u)));
294
+ function u() {
295
+ return te(e).filter((g) => t.value.includes(l(g)));
296
+ }
297
+ function p() {
298
+ const g = new Set(te(e).map(l));
299
+ t.value = t.value.filter((b) => g.has(b));
300
+ }
301
+ function _() {
302
+ t.value = [];
303
+ }
304
+ function w(g) {
305
+ t.value = [...g];
294
306
  }
295
307
  return {
296
308
  selectedIds: t,
297
- isSelected: l,
298
- toggleSelect: a,
299
- isAllSelected: s,
300
- toggleAll: o,
301
- getSelectedData: r
309
+ isSelected: i,
310
+ toggleSelect: n,
311
+ isAllSelected: o,
312
+ toggleAll: c,
313
+ getSelectedData: u,
314
+ cleanupSelected: p,
315
+ clearSelected: _,
316
+ select: w
302
317
  };
303
- }, Lt = (e) => {
304
- const n = le(e), t = y(0), l = () => {
305
- n.value?.clientHeight && (t.value = n.value.clientHeight);
318
+ }, ys = (e) => {
319
+ const l = K(e), s = z(0), t = () => {
320
+ l.value?.clientHeight && (s.value = l.value.clientHeight);
306
321
  };
307
- let a, s = 0;
308
- return te(() => {
309
- n.value && (l(), a = new ResizeObserver(() => {
310
- cancelAnimationFrame(s), s = requestAnimationFrame(l);
311
- }), a.observe(n.value));
312
- }), ue(() => {
313
- a?.disconnect(), cancelAnimationFrame(s);
322
+ let i, n = 0;
323
+ return ne(() => {
324
+ l.value && (t(), i = new ResizeObserver(() => {
325
+ cancelAnimationFrame(n), n = requestAnimationFrame(t);
326
+ }), i.observe(l.value));
327
+ }), ce(() => {
328
+ i?.disconnect(), cancelAnimationFrame(n);
314
329
  }), {
315
- elementRef: n,
316
- height: t,
317
- updateHeight: l
330
+ elementRef: l,
331
+ height: s,
332
+ updateHeight: t
318
333
  };
319
- }, Rt = { class: "setting-group" }, Ut = { class: "setting-group__name" }, qt = { class: "setting-group__list" }, cn = /* @__PURE__ */ S({
334
+ }, As = { class: "setting-group" }, ks = { class: "setting-group__name" }, bs = { class: "setting-group__list" }, Eo = /* @__PURE__ */ B({
320
335
  __name: "SettingGroup",
321
336
  props: {
322
337
  name: {}
323
338
  },
324
339
  setup(e) {
325
- const n = e;
326
- return (t, l) => (i(), g("div", Rt, [
327
- c("div", Ut, A(n.name), 1),
328
- c("div", qt, [
329
- I(t.$slots, "default")
340
+ const l = e;
341
+ return (s, t) => (r(), f("div", As, [
342
+ a("div", ks, m(l.name), 1),
343
+ a("div", bs, [
344
+ I(s.$slots, "default")
330
345
  ])
331
346
  ]));
332
347
  }
333
- }), j = /* @__PURE__ */ S({
348
+ }), N = /* @__PURE__ */ B({
334
349
  __name: "AppIcon",
335
350
  props: {
336
351
  icon: {}
337
352
  },
338
353
  setup(e) {
339
- const n = e, t = de(), l = k(() => t.state.dark ? `ri-${n.icon}-fill` : `ri-${n.icon}-line`);
340
- return (a, s) => (i(), g("i", {
341
- class: W([l.value, "icon-font"])
354
+ const l = e, s = ye(), t = C(() => s.state.dark ? `ri-${l.icon}-fill` : `ri-${l.icon}-line`);
355
+ return (i, n) => (r(), f("i", {
356
+ class: se([t.value, "icon-font"])
342
357
  }, null, 2));
343
358
  }
344
- }), jt = { class: "setting-item" }, Ft = { class: "setting-item__content" }, Ot = { class: "setting-item__content__title" }, Nt = {
359
+ }), Cs = { class: "setting-item" }, xs = { class: "setting-item__content" }, Es = { class: "setting-item__content__title" }, Bs = {
345
360
  key: 0,
346
361
  class: "setting-item__content__desc"
347
- }, Wt = { class: "setting-item__options" }, Gt = /* @__PURE__ */ S({
362
+ }, Ss = { class: "setting-item__options" }, $s = /* @__PURE__ */ B({
348
363
  __name: "SettingItem",
349
364
  props: {
350
365
  title: {},
@@ -352,41 +367,41 @@ const Ee = (e) => {
352
367
  iconClass: {}
353
368
  },
354
369
  setup(e) {
355
- const n = e, t = y("equalizer-2");
356
- return (l, a) => {
357
- const s = j;
358
- return i(), g("div", jt, [
359
- f(s, {
370
+ const l = e, s = z("equalizer-2");
371
+ return (t, i) => {
372
+ const n = N;
373
+ return r(), f("div", Cs, [
374
+ v(n, {
360
375
  class: "setting-item__icon",
361
- icon: n.iconClass || t.value
376
+ icon: l.iconClass || s.value
362
377
  }, null, 8, ["icon"]),
363
- c("div", Ft, [
364
- c("div", Ot, A(n.title), 1),
365
- n.desc ? (i(), g("div", Nt, A(n.desc), 1)) : Q("", !0)
378
+ a("div", xs, [
379
+ a("div", Es, m(l.title), 1),
380
+ l.desc ? (r(), f("div", Bs, m(l.desc), 1)) : $("", !0)
366
381
  ]),
367
- c("div", Wt, [
368
- I(l.$slots, "default", {}, void 0, !0)
382
+ a("div", Ss, [
383
+ I(t.$slots, "default", {}, void 0, !0)
369
384
  ])
370
385
  ]);
371
386
  };
372
387
  }
373
- }), U = (e, n) => {
374
- const t = e.__vccOpts || e;
375
- for (const [l, a] of n)
376
- t[l] = a;
377
- return t;
378
- }, rn = /* @__PURE__ */ U(Gt, [["__scopeId", "data-v-bb581bf5"]]);
379
- function Jt(e) {
380
- const n = y(e), t = y(null), l = (s) => {
381
- n.value = e, t.value = setInterval(() => {
382
- n.value > 1 ? n.value-- : (a(), s());
388
+ }), L = (e, l) => {
389
+ const s = e.__vccOpts || e;
390
+ for (const [t, i] of l)
391
+ s[t] = i;
392
+ return s;
393
+ }, Bo = /* @__PURE__ */ L($s, [["__scopeId", "data-v-bb581bf5"]]);
394
+ function zs(e) {
395
+ const l = z(e), s = z(null), t = (n) => {
396
+ l.value = e, s.value = setInterval(() => {
397
+ l.value > 1 ? l.value-- : (i(), n());
383
398
  }, 1e3);
384
- }, a = () => {
385
- t.value && (clearInterval(t.value), t.value = null);
399
+ }, i = () => {
400
+ s.value && (clearInterval(s.value), s.value = null);
386
401
  };
387
- return ue(a), { countdown: n, start: l, stop: a };
402
+ return ce(i), { countdown: l, start: t, stop: i };
388
403
  }
389
- const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
404
+ const Ds = { class: "dialog-footer" }, So = /* @__PURE__ */ B({
390
405
  __name: "CountdownDialog",
391
406
  props: /* @__PURE__ */ J({
392
407
  content: {},
@@ -400,21 +415,21 @@ const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
400
415
  modelModifiers: {}
401
416
  }),
402
417
  emits: /* @__PURE__ */ J(["onConfirm", "onCancel"], ["update:modelValue"]),
403
- setup(e, { expose: n, emit: t }) {
404
- const l = e, a = Ae(e, "modelValue"), s = t, { countdown: o, start: r, stop: u } = Jt(l.countdown);
405
- let v = !1;
406
- const p = (_) => {
407
- v || (v = !0, u(), s(_ === "confirm" ? "onConfirm" : "onCancel", _), a.value = !1, v = !1);
408
- }, h = () => p("confirm"), w = () => p("cancel"), C = () => {
409
- a.value = !0, r(w);
418
+ setup(e, { expose: l, emit: s }) {
419
+ const t = e, i = he(e, "modelValue"), n = s, { countdown: o, start: c, stop: u } = zs(t.countdown);
420
+ let p = !1;
421
+ const _ = (x) => {
422
+ p || (p = !0, u(), n(x === "confirm" ? "onConfirm" : "onCancel", x), i.value = !1, p = !1);
423
+ }, w = () => _("confirm"), g = () => _("cancel"), b = () => {
424
+ i.value = !0, c(g);
410
425
  };
411
- return Z(a, (_, P) => {
412
- _ && !P && r(w);
413
- }), n({ show: C }), (_, P) => {
414
- const m = se, E = we;
415
- return i(), b(E, {
416
- modelValue: a.value,
417
- "onUpdate:modelValue": P[0] || (P[0] = (D) => a.value = D),
426
+ return le(i, (x, M) => {
427
+ x && !M && c(g);
428
+ }), l({ show: b }), (x, M) => {
429
+ const E = Z, D = re;
430
+ return r(), k(D, {
431
+ modelValue: i.value,
432
+ "onUpdate:modelValue": M[0] || (M[0] = (V) => i.value = V),
418
433
  title: e.title,
419
434
  width: e.width,
420
435
  "close-on-click-modal": !1,
@@ -423,34 +438,34 @@ const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
423
438
  "append-to-body": !0
424
439
  }, {
425
440
  footer: d(() => [
426
- c("div", Zt, [
427
- f(m, { onClick: w }, {
441
+ a("div", Ds, [
442
+ v(E, { onClick: g }, {
428
443
  default: d(() => [
429
- M(A(e.cancelBtnText) + "(" + A(B(o)) + "s)", 1)
444
+ A(m(e.cancelBtnText) + "(" + m(h(o)) + "s)", 1)
430
445
  ]),
431
446
  _: 1
432
447
  }),
433
- f(m, {
448
+ v(E, {
434
449
  type: "primary",
435
- disabled: B(o) <= 0,
436
- onClick: h
450
+ disabled: h(o) <= 0,
451
+ onClick: w
437
452
  }, {
438
453
  default: d(() => [
439
- M(A(e.confirmBtnText), 1)
454
+ A(m(e.confirmBtnText), 1)
440
455
  ]),
441
456
  _: 1
442
457
  }, 8, ["disabled"])
443
458
  ])
444
459
  ]),
445
460
  default: d(() => [
446
- c("div", null, A(e.content), 1),
447
- c("div", null, A(B(o)) + "秒后自动取消", 1)
461
+ a("div", null, m(e.content), 1),
462
+ a("div", null, m(h(o)) + "秒后自动取消", 1)
448
463
  ]),
449
464
  _: 1
450
465
  }, 8, ["modelValue", "title", "width"]);
451
466
  };
452
467
  }
453
- }), Kt = { class: "select-dialog" }, Yt = ["onClick"], Xt = { class: "option-item-label" }, el = { key: 0 }, tl = { key: 1 }, ll = /* @__PURE__ */ S({
468
+ }), Ps = { class: "select-dialog" }, Is = ["onClick"], Ms = { class: "option-item-label" }, Vs = { key: 0 }, Qs = { key: 1 }, Hs = /* @__PURE__ */ B({
454
469
  __name: "SelectDialog",
455
470
  props: /* @__PURE__ */ J({
456
471
  title: { default: "请选择" },
@@ -469,126 +484,126 @@ const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
469
484
  modelModifiers: {}
470
485
  }),
471
486
  emits: /* @__PURE__ */ J(["confirm"], ["update:modelValue"]),
472
- setup(e, { emit: n }) {
473
- const t = e, l = Ae(e, "modelValue"), a = fe([]), s = fe([]), o = y(0), r = le("listRef"), { loading: u, loadingData: v } = Ee(), p = y(!1), h = v(async (x) => {
474
- s.splice(0, s.length, ...t.defaultSelectedList);
475
- let H = !1;
476
- x(() => {
477
- H = !0;
487
+ setup(e, { emit: l }) {
488
+ const s = e, t = he(e, "modelValue"), i = Ce([]), n = Ce([]), o = z(0), c = K("listRef"), { loading: u, loadingData: p } = Qe(), _ = z(!1), w = p(async (y) => {
489
+ n.splice(0, n.length, ...s.defaultSelectedList);
490
+ let S = !1;
491
+ y(() => {
492
+ S = !0;
478
493
  });
479
- const L = typeof t.options == "function" ? await t.options() : t.options;
480
- H || a.splice(0, a.length, ...L);
481
- }), w = () => {
482
- o.value = r.value?.clientWidth ?? 0, p.value = !0;
494
+ const U = typeof s.options == "function" ? await s.options() : s.options;
495
+ S || i.splice(0, i.length, ...U);
496
+ }), g = () => {
497
+ o.value = c.value?.clientWidth ?? 0, _.value = !0;
483
498
  };
484
- Z(
485
- l,
486
- async (x, H, L) => {
487
- if (!x) {
488
- p.value = !1;
499
+ le(
500
+ t,
501
+ async (y, S, U) => {
502
+ if (!y) {
503
+ _.value = !1;
489
504
  return;
490
505
  }
491
- await h(L);
506
+ await w(U);
492
507
  },
493
508
  { immediate: !0 }
494
509
  );
495
- const C = n, _ = () => {
496
- l.value = !1;
497
- }, P = () => {
498
- if (!s || s.length === 0) {
499
- X(t.noSelectionTip);
510
+ const b = l, x = () => {
511
+ t.value = !1;
512
+ }, M = () => {
513
+ if (!n || n.length === 0) {
514
+ ie(s.noSelectionTip);
500
515
  return;
501
516
  }
502
- C("confirm", st(s)), l.value = !1;
503
- }, m = k(() => t.showCurrentSelection && p.value && !u.value && s.length > 0), E = (x) => s.includes(x), D = (x) => {
504
- const H = s.indexOf(x);
505
- H > -1 ? s.splice(H, 1) : t.multiple ? s.push(x) : s.splice(0, s.length, x);
506
- }, $ = k(() => a.every((x) => s.includes(x))), V = () => {
507
- $.value ? s.splice(0, s.length) : s.splice(0, s.length, ...a);
517
+ b("confirm", St(n)), t.value = !1;
518
+ }, E = C(() => s.showCurrentSelection && _.value && !u.value && n.length > 0), D = (y) => n.includes(y), V = (y) => {
519
+ const S = n.indexOf(y);
520
+ S > -1 ? n.splice(S, 1) : s.multiple ? n.push(y) : n.splice(0, n.length, y);
521
+ }, F = C(() => i.every((y) => n.includes(y))), P = () => {
522
+ F.value ? n.splice(0, n.length) : n.splice(0, n.length, ...i);
508
523
  };
509
- return (x, H) => {
510
- const L = se, ve = we, ke = ye;
511
- return i(), g("div", Kt, [
512
- f(ve, {
524
+ return (y, S) => {
525
+ const U = Z, X = re, ee = Pe;
526
+ return r(), f("div", Ps, [
527
+ v(X, {
513
528
  title: e.title,
514
- modelValue: l.value,
515
- "onUpdate:modelValue": H[0] || (H[0] = (T) => l.value = T),
529
+ modelValue: t.value,
530
+ "onUpdate:modelValue": S[0] || (S[0] = (q) => t.value = q),
516
531
  style: { width: "fit-content", "min-width": "300px", "max-width": "800px", "max-height": "88vh", overflow: "auto" },
517
532
  "close-on-click-modal": !1,
518
533
  "close-on-press-escape": !1,
519
534
  "show-close": !0,
520
535
  "align-center": "",
521
- onOpened: w
536
+ onOpened: g
522
537
  }, {
523
538
  footer: d(() => [
524
- e.multiple && e.canSelectAll ? (i(), g("span", {
539
+ e.multiple && e.canSelectAll ? (r(), f("span", {
525
540
  key: 0,
526
- class: W(["select-all", $.value ? "selected" : ""]),
527
- onClick: V
528
- }, [...H[1] || (H[1] = [
529
- c("span", { class: "select-icon" }, null, -1),
530
- M("全选", -1)
531
- ])], 2)) : Q("", !0),
532
- f(L, { onClick: _ }, {
541
+ class: se(["select-all", F.value ? "selected" : ""]),
542
+ onClick: P
543
+ }, [...S[1] || (S[1] = [
544
+ a("span", { class: "select-icon" }, null, -1),
545
+ A("全选", -1)
546
+ ])], 2)) : $("", !0),
547
+ v(U, { onClick: x }, {
533
548
  default: d(() => [
534
- M(A(e.cancelText), 1)
549
+ A(m(e.cancelText), 1)
535
550
  ]),
536
551
  _: 1
537
552
  }),
538
- f(L, {
553
+ v(U, {
539
554
  type: "primary",
540
- onClick: P,
541
- disabled: B(u)
555
+ onClick: M,
556
+ disabled: h(u)
542
557
  }, {
543
558
  default: d(() => [
544
- M(A(e.confirmText), 1)
559
+ A(m(e.confirmText), 1)
545
560
  ]),
546
561
  _: 1
547
562
  }, 8, ["disabled"])
548
563
  ]),
549
564
  default: d(() => [
550
- F((i(), g("div", {
551
- class: W(["dialog-content", B(u) ? "loading" : ""])
565
+ W((r(), f("div", {
566
+ class: se(["dialog-content", h(u) ? "loading" : ""])
552
567
  }, [
553
- c("div", {
568
+ a("div", {
554
569
  ref_key: "listRef",
555
- ref: r,
570
+ ref: c,
556
571
  class: "option-list"
557
572
  }, [
558
- (i(!0), g(O, null, ee(a, (T) => (i(), g("div", {
559
- class: W(["option-item", E(T) ? "selected" : ""]),
560
- key: e.getDataId(T),
561
- onClick: (N) => D(T)
573
+ (r(!0), f(R, null, O(i, (q) => (r(), f("div", {
574
+ class: se(["option-item", D(q) ? "selected" : ""]),
575
+ key: e.getDataId(q),
576
+ onClick: (ue) => V(q)
562
577
  }, [
563
- I(x.$slots, "item", {}, () => [
564
- c("span", {
565
- class: W(["select-icon", e.multiple ? "checkbox" : "radio"])
578
+ I(y.$slots, "item", {}, () => [
579
+ a("span", {
580
+ class: se(["select-icon", e.multiple ? "checkbox" : "radio"])
566
581
  }, null, 2),
567
- c("span", Xt, [
568
- I(x.$slots, "item-label", {}, () => [
569
- M(A(e.getDataLabel(T)), 1)
582
+ a("span", Ms, [
583
+ I(y.$slots, "item-label", {}, () => [
584
+ A(m(e.getDataLabel(q)), 1)
570
585
  ], !0)
571
586
  ])
572
587
  ], !0)
573
- ], 10, Yt))), 128))
588
+ ], 10, Is))), 128))
574
589
  ], 512),
575
- m.value ? (i(), g("div", {
590
+ E.value ? (r(), f("div", {
576
591
  key: 0,
577
592
  class: "current-selection",
578
- style: Se({ width: `${o.value}px` })
593
+ style: xe({ width: `${o.value}px` })
579
594
  }, [
580
- e.multiple ? (i(), g("span", el, "已选择(" + A(s.length) + "):", 1)) : (i(), g("span", tl, "已选择:")),
581
- c("div", {
595
+ e.multiple ? (r(), f("span", Vs, "已选择(" + m(n.length) + "):", 1)) : (r(), f("span", Qs, "已选择:")),
596
+ a("div", {
582
597
  class: "current-selection-list",
583
- style: Se({ display: e.multiple ? "flex" : "contents" })
598
+ style: xe({ display: e.multiple ? "flex" : "contents" })
584
599
  }, [
585
- (i(!0), g(O, null, ee(s, (T) => (i(), g("span", {
586
- key: e.getDataId(T)
587
- }, A(e.getDataLabel(T)), 1))), 128))
600
+ (r(!0), f(R, null, O(n, (q) => (r(), f("span", {
601
+ key: e.getDataId(q)
602
+ }, m(e.getDataLabel(q)), 1))), 128))
588
603
  ], 4)
589
- ], 4)) : Q("", !0)
604
+ ], 4)) : $("", !0)
590
605
  ], 2)), [
591
- [ke, B(u)]
606
+ [ee, h(u)]
592
607
  ])
593
608
  ]),
594
609
  _: 3
@@ -596,25 +611,25 @@ const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
596
611
  ]);
597
612
  };
598
613
  }
599
- }), sl = /* @__PURE__ */ U(ll, [["__scopeId", "data-v-2ad04bd4"]]), dn = (e) => new Promise((n) => {
600
- let t = document.createElement("div");
601
- const l = (s) => {
602
- n(s), t && (ce(null, t), t.remove(), t = null);
603
- }, a = f(sl, {
614
+ }), Ts = /* @__PURE__ */ L(Hs, [["__scopeId", "data-v-2ad04bd4"]]), $o = (e) => new Promise((l) => {
615
+ let s = document.createElement("div");
616
+ const t = (n) => {
617
+ l(n), s && (me(null, s), s.remove(), s = null);
618
+ }, i = v(Ts, {
604
619
  ...e,
605
620
  modelValue: !0,
606
- "onUpdate:modelValue": (s) => {
607
- s || l();
621
+ "onUpdate:modelValue": (n) => {
622
+ n || t();
608
623
  },
609
- onConfirm: (s) => {
610
- l(s);
624
+ onConfirm: (n) => {
625
+ t(n);
611
626
  }
612
627
  });
613
- document.body.appendChild(t), ce(a, t);
614
- }), nl = { class: "dialog-content" }, al = { class: "header" }, ol = {
628
+ document.body.appendChild(s), me(i, s);
629
+ }), Ls = { class: "dialog-content" }, Rs = { class: "header" }, Fs = {
615
630
  key: 0,
616
631
  class: "total-desc"
617
- }, cl = { class: "page-size-desc" }, il = { class: "range-desc" }, rl = /* @__PURE__ */ S({
632
+ }, Us = { class: "page-size-desc" }, qs = { class: "range-desc" }, Os = /* @__PURE__ */ B({
618
633
  __name: "PageRangeDialog",
619
634
  props: /* @__PURE__ */ J({
620
635
  title: { default: "请选择页码范围" },
@@ -630,32 +645,32 @@ const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
630
645
  modelModifiers: {}
631
646
  }),
632
647
  emits: /* @__PURE__ */ J(["confirm"], ["update:modelValue"]),
633
- setup(e, { emit: n }) {
634
- const t = e, l = Ae(e, "modelValue"), a = k(() => t.total != null && t.maxPage != null ? Math.min(t.maxPage, Math.ceil(t.total / t.pageSize)) : t.total != null ? Math.ceil(t.total / t.pageSize) : t.maxPage), s = y(1), o = y(1), r = k(() => `共有 ${t.total} 条数据`), u = k(() => `每页可获取 ${t.pageSize} 条数据`), v = k(() => {
635
- if (t.total != null) {
636
- const C = t.pageSize - Math.max(o.value * t.pageSize - t.total, 0);
637
- return `共选择 ${(o.value - s.value) * t.pageSize + C} 条数据`;
648
+ setup(e, { emit: l }) {
649
+ const s = e, t = he(e, "modelValue"), i = C(() => s.total != null && s.maxPage != null ? Math.min(s.maxPage, Math.ceil(s.total / s.pageSize)) : s.total != null ? Math.ceil(s.total / s.pageSize) : s.maxPage), n = z(1), o = z(1), c = C(() => `共有 ${s.total} 条数据`), u = C(() => `每页可获取 ${s.pageSize} 条数据`), p = C(() => {
650
+ if (s.total != null) {
651
+ const b = s.pageSize - Math.max(o.value * s.pageSize - s.total, 0);
652
+ return `共选择 ${(o.value - n.value) * s.pageSize + b} 条数据`;
638
653
  } else
639
- return `共选择 ${(o.value + 1 - s.value) * t.pageSize} 条数据`;
654
+ return `共选择 ${(o.value + 1 - n.value) * s.pageSize} 条数据`;
640
655
  });
641
- Z(
642
- l,
643
- async (C) => {
644
- C && (s.value = t.defaultRange[0], o.value = t.defaultRange[1]);
656
+ le(
657
+ t,
658
+ async (b) => {
659
+ b && (n.value = s.defaultRange[0], o.value = s.defaultRange[1]);
645
660
  },
646
661
  { immediate: !0 }
647
662
  );
648
- const p = n, h = () => {
649
- l.value = !1;
650
- }, w = () => {
651
- p("confirm", [s.value, o.value]), l.value = !1;
663
+ const _ = l, w = () => {
664
+ t.value = !1;
665
+ }, g = () => {
666
+ _("confirm", [n.value, o.value]), t.value = !1;
652
667
  };
653
- return (C, _) => {
654
- const P = yt, m = wt, E = At, D = se, $ = we;
655
- return i(), b($, {
668
+ return (b, x) => {
669
+ const M = Je, E = ts, D = es, V = Z, F = re;
670
+ return r(), k(F, {
656
671
  title: e.title,
657
- modelValue: l.value,
658
- "onUpdate:modelValue": _[2] || (_[2] = (V) => l.value = V),
672
+ modelValue: t.value,
673
+ "onUpdate:modelValue": x[2] || (x[2] = (P) => t.value = P),
659
674
  width: "200px",
660
675
  "close-on-click-modal": !1,
661
676
  "close-on-press-escape": !1,
@@ -663,59 +678,59 @@ const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
663
678
  "align-center": ""
664
679
  }, {
665
680
  footer: d(() => [
666
- f(D, { onClick: h }, {
681
+ v(V, { onClick: w }, {
667
682
  default: d(() => [
668
- M(A(e.cancelText), 1)
683
+ A(m(e.cancelText), 1)
669
684
  ]),
670
685
  _: 1
671
686
  }),
672
- f(D, {
687
+ v(V, {
673
688
  type: "primary",
674
- onClick: w
689
+ onClick: g
675
690
  }, {
676
691
  default: d(() => [
677
- M(A(e.confirmText), 1)
692
+ A(m(e.confirmText), 1)
678
693
  ]),
679
694
  _: 1
680
695
  })
681
696
  ]),
682
697
  default: d(() => [
683
- c("div", nl, [
684
- c("div", al, [
685
- e.total ? (i(), g("div", ol, A(r.value), 1)) : Q("", !0),
686
- c("div", cl, A(u.value), 1)
698
+ a("div", Ls, [
699
+ a("div", Rs, [
700
+ e.total ? (r(), f("div", Fs, m(c.value), 1)) : $("", !0),
701
+ a("div", Us, m(u.value), 1)
687
702
  ]),
688
- f(E, { class: "page-range" }, {
703
+ v(D, { class: "page-range" }, {
689
704
  default: d(() => [
690
- f(m, { span: 11 }, {
705
+ v(E, { span: 11 }, {
691
706
  default: d(() => [
692
- f(P, {
707
+ v(M, {
693
708
  type: "number",
694
- modelValue: s.value,
695
- "onUpdate:modelValue": _[0] || (_[0] = (V) => s.value = V),
709
+ modelValue: n.value,
710
+ "onUpdate:modelValue": x[0] || (x[0] = (P) => n.value = P),
696
711
  min: e.minPage,
697
712
  max: o.value
698
713
  }, null, 8, ["modelValue", "min", "max"])
699
714
  ]),
700
715
  _: 1
701
716
  }),
702
- f(m, {
717
+ v(E, {
703
718
  span: 2,
704
719
  style: { "text-align": "center" }
705
720
  }, {
706
- default: d(() => [..._[3] || (_[3] = [
707
- c("span", null, "-", -1)
721
+ default: d(() => [...x[3] || (x[3] = [
722
+ a("span", null, "-", -1)
708
723
  ])]),
709
724
  _: 1
710
725
  }),
711
- f(m, { span: 11 }, {
726
+ v(E, { span: 11 }, {
712
727
  default: d(() => [
713
- f(P, {
728
+ v(M, {
714
729
  type: "number",
715
730
  modelValue: o.value,
716
- "onUpdate:modelValue": _[1] || (_[1] = (V) => o.value = V),
717
- min: s.value,
718
- max: a.value
731
+ "onUpdate:modelValue": x[1] || (x[1] = (P) => o.value = P),
732
+ min: n.value,
733
+ max: i.value
719
734
  }, null, 8, ["modelValue", "min", "max"])
720
735
  ]),
721
736
  _: 1
@@ -723,235 +738,253 @@ const Zt = { class: "dialog-footer" }, un = /* @__PURE__ */ S({
723
738
  ]),
724
739
  _: 1
725
740
  }),
726
- c("div", il, A(v.value), 1)
741
+ a("div", qs, m(p.value), 1)
727
742
  ])
728
743
  ]),
729
744
  _: 1
730
745
  }, 8, ["title", "modelValue"]);
731
746
  };
732
747
  }
733
- }), ul = /* @__PURE__ */ U(rl, [["__scopeId", "data-v-715af5da"]]), vn = (e) => new Promise((n) => {
734
- let t = document.createElement("div");
735
- const l = (s) => {
736
- t && (ce(null, t), t.remove(), t = null), n(s);
737
- }, a = f(ul, {
748
+ }), js = /* @__PURE__ */ L(Os, [["__scopeId", "data-v-715af5da"]]), zo = (e) => new Promise((l) => {
749
+ let s = document.createElement("div");
750
+ const t = (n) => {
751
+ s && (me(null, s), s.remove(), s = null), l(n);
752
+ }, i = v(js, {
738
753
  ...e,
739
754
  modelValue: !0,
740
- "onUpdate:modelValue"(s) {
741
- s || l();
755
+ "onUpdate:modelValue"(n) {
756
+ n || t();
742
757
  },
743
- onConfirm(s) {
744
- l(s);
758
+ onConfirm(n) {
759
+ t(n);
745
760
  }
746
761
  });
747
- document.body.appendChild(t), ce(a, t);
748
- }), dl = { class: "loading-mask el-overlay" }, vl = { class: "loading-content" }, pl = { class: "loading-spinner" }, gl = { class: "loading-text" }, ml = /* @__PURE__ */ S({
762
+ document.body.appendChild(s), me(i, s);
763
+ }), Ns = { class: "loading-mask el-overlay" }, Zs = { class: "loading-content" }, Ws = { class: "loading-spinner" }, Gs = { class: "loading-text" }, Js = /* @__PURE__ */ B({
749
764
  __name: "LoadingDialog",
750
- setup(e, { expose: n }) {
751
- const t = y(!1), l = y(""), a = y(!1);
752
- let s;
753
- const o = (p = {}) => {
754
- l.value = p.message ?? "加载中", a.value = p.showCancel ?? !1, s = p.onCancel, p?.autoCloseDelay && setTimeout(() => {
765
+ setup(e, { expose: l }) {
766
+ const s = z(!1), t = z(""), i = z(!1);
767
+ let n;
768
+ const o = (_ = {}) => {
769
+ t.value = _.message ?? "加载中", i.value = _.showCancel ?? !1, n = _.onCancel, _?.autoCloseDelay && setTimeout(() => {
755
770
  u();
756
- }, p?.autoCloseDelay), t.value = !0;
757
- }, r = (p) => {
758
- l.value = p;
771
+ }, _?.autoCloseDelay), s.value = !0;
772
+ }, c = (_) => {
773
+ t.value = _;
759
774
  }, u = () => {
760
- t.value = !1;
761
- }, v = async () => {
762
- await s?.(), u();
775
+ s.value = !1;
776
+ }, p = async () => {
777
+ await n?.(), u();
763
778
  };
764
- return n({
779
+ return l({
765
780
  show: o,
766
- update: r,
781
+ update: c,
767
782
  close: u
768
- }), (p, h) => {
769
- const w = ye;
770
- return F((i(), g("div", dl, [
771
- c("div", vl, [
772
- F(c("div", {
783
+ }), (_, w) => {
784
+ const g = Pe;
785
+ return W((r(), f("div", Ns, [
786
+ a("div", Zs, [
787
+ W(a("div", {
773
788
  class: "options-close-btn",
774
- onClick: v
789
+ onClick: p
775
790
  }, null, 512), [
776
- [ie, a.value]
791
+ [ge, i.value]
777
792
  ]),
778
- F(c("div", pl, null, 512), [
779
- [w, !0]
793
+ W(a("div", Ws, null, 512), [
794
+ [g, !0]
780
795
  ]),
781
- c("div", gl, A(l.value), 1)
796
+ a("div", Gs, m(t.value), 1)
782
797
  ])
783
798
  ], 512)), [
784
- [ie, t.value]
799
+ [ge, s.value]
785
800
  ]);
786
801
  };
787
802
  }
788
- }), fl = /* @__PURE__ */ U(ml, [["__scopeId", "data-v-a0557392"]]);
789
- let ae = null;
790
- function me() {
791
- if (ae) return ae;
803
+ }), Ks = /* @__PURE__ */ L(Js, [["__scopeId", "data-v-a0557392"]]);
804
+ let ve = null;
805
+ function be() {
806
+ if (ve) return ve;
792
807
  const e = document.createElement("div");
793
- return document.body.appendChild(e), ae = De(fl).mount(e), ae;
808
+ return document.body.appendChild(e), ve = ze(Ks).mount(e), ve;
794
809
  }
795
- const pn = {
810
+ const Do = {
796
811
  show(e) {
797
- me().show(e);
812
+ be().show(e);
798
813
  },
799
814
  update(e) {
800
- me().update(e);
815
+ be().update(e);
801
816
  },
802
817
  close() {
803
- me().close();
818
+ be().close();
804
819
  }
805
820
  };
806
- var hl = /* @__PURE__ */ S({
821
+ var Ys = /* @__PURE__ */ B({
807
822
  name: "CircleCheck",
808
823
  __name: "circle-check",
809
824
  setup(e) {
810
- return (n, t) => (i(), g("svg", {
825
+ return (l, s) => (r(), f("svg", {
811
826
  xmlns: "http://www.w3.org/2000/svg",
812
827
  viewBox: "0 0 1024 1024"
813
828
  }, [
814
- c("path", {
829
+ a("path", {
815
830
  fill: "currentColor",
816
831
  d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"
817
832
  }),
818
- c("path", {
833
+ a("path", {
819
834
  fill: "currentColor",
820
835
  d: "M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"
821
836
  })
822
837
  ]));
823
838
  }
824
- }), _l = hl, Al = /* @__PURE__ */ S({
839
+ }), Xs = Ys, el = /* @__PURE__ */ B({
825
840
  name: "CircleClose",
826
841
  __name: "circle-close",
827
842
  setup(e) {
828
- return (n, t) => (i(), g("svg", {
843
+ return (l, s) => (r(), f("svg", {
829
844
  xmlns: "http://www.w3.org/2000/svg",
830
845
  viewBox: "0 0 1024 1024"
831
846
  }, [
832
- c("path", {
847
+ a("path", {
833
848
  fill: "currentColor",
834
849
  d: "m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"
835
850
  }),
836
- c("path", {
851
+ a("path", {
837
852
  fill: "currentColor",
838
853
  d: "M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"
839
854
  })
840
855
  ]));
841
856
  }
842
- }), wl = Al;
843
- const yl = { class: "loading-mask el-overlay" }, bl = { class: "loading-content" }, xl = { class: "status-icon" }, Cl = { class: "loading-text" }, El = { class: "actions" }, Bl = /* @__PURE__ */ S({
857
+ }), tl = el, sl = /* @__PURE__ */ B({
858
+ name: "Picture",
859
+ __name: "picture",
860
+ setup(e) {
861
+ return (l, s) => (r(), f("svg", {
862
+ xmlns: "http://www.w3.org/2000/svg",
863
+ viewBox: "0 0 1024 1024"
864
+ }, [
865
+ a("path", {
866
+ fill: "currentColor",
867
+ d: "M160 160v704h704V160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32"
868
+ }),
869
+ a("path", {
870
+ fill: "currentColor",
871
+ d: "M384 288q64 0 64 64t-64 64-64-64 64-64M185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952z"
872
+ })
873
+ ]));
874
+ }
875
+ }), it = sl;
876
+ const ll = { class: "loading-mask el-overlay" }, nl = { class: "loading-content" }, al = { class: "status-icon" }, ol = { class: "loading-text" }, il = { class: "actions" }, cl = /* @__PURE__ */ B({
844
877
  __name: "ProcessDialog",
845
- setup(e, { expose: n }) {
846
- const t = y(!1), l = y(""), a = y(0), s = y("loading"), o = y(!1);
847
- let r, u;
848
- const v = (m = {}) => {
849
- l.value = m.message ?? "加载中", o.value = m.showCancel ?? !1, a.value = m.percentage ?? 0, s.value = "loading", r = m.onCancel, u = m.onConfirm, t.value = !0;
850
- }, p = (m, E) => {
851
- m != null && (a.value = m), E != null && (l.value = E);
852
- }, h = (m = "操作成功") => {
853
- s.value = "success", l.value = m;
854
- }, w = (m = "操作失败") => {
855
- s.value = "error", l.value = m;
856
- }, C = () => {
857
- t.value = !1;
858
- }, _ = async () => {
859
- await r?.(), C();
860
- }, P = async () => {
861
- await u?.(s.value), C();
878
+ setup(e, { expose: l }) {
879
+ const s = z(!1), t = z(""), i = z(0), n = z("loading"), o = z(!1);
880
+ let c, u;
881
+ const p = (E = {}) => {
882
+ t.value = E.message ?? "加载中", o.value = E.showCancel ?? !1, i.value = E.percentage ?? 0, n.value = "loading", c = E.onCancel, u = E.onConfirm, s.value = !0;
883
+ }, _ = (E, D) => {
884
+ E != null && (i.value = E), D != null && (t.value = D);
885
+ }, w = (E = "操作成功") => {
886
+ n.value = "success", t.value = E;
887
+ }, g = (E = "操作失败") => {
888
+ n.value = "error", t.value = E;
889
+ }, b = () => {
890
+ s.value = !1;
891
+ }, x = async () => {
892
+ await c?.(), b();
893
+ }, M = async () => {
894
+ await u?.(n.value), b();
862
895
  };
863
- return n({
864
- show: v,
865
- update: p,
866
- setSuccess: h,
867
- setError: w,
868
- close: C
869
- }), (m, E) => {
870
- const D = bt, $ = xt, V = se;
871
- return F((i(), g("div", yl, [
872
- c("div", bl, [
873
- F(c("div", {
896
+ return l({
897
+ show: p,
898
+ update: _,
899
+ setSuccess: w,
900
+ setError: g,
901
+ close: b
902
+ }), (E, D) => {
903
+ const V = Ke, F = Ie, P = Z;
904
+ return W((r(), f("div", ll, [
905
+ a("div", nl, [
906
+ W(a("div", {
874
907
  class: "options-close-btn",
875
- onClick: _
908
+ onClick: x
876
909
  }, null, 512), [
877
- [ie, o.value && s.value === "loading"]
910
+ [ge, o.value && n.value === "loading"]
878
911
  ]),
879
- c("div", xl, [
880
- s.value === "loading" ? (i(), b(D, {
912
+ a("div", al, [
913
+ n.value === "loading" ? (r(), k(V, {
881
914
  key: 0,
882
915
  type: "circle",
883
- percentage: a.value,
916
+ percentage: i.value,
884
917
  width: 96
885
- }, null, 8, ["percentage"])) : s.value === "success" ? (i(), b($, {
918
+ }, null, 8, ["percentage"])) : n.value === "success" ? (r(), k(F, {
886
919
  key: 1,
887
920
  size: 42
888
921
  }, {
889
922
  default: d(() => [
890
- f(B(_l), { style: { color: "var(--el-color-success)" } })
923
+ v(h(Xs), { style: { color: "var(--el-color-success)" } })
891
924
  ]),
892
925
  _: 1
893
- })) : (i(), b($, {
926
+ })) : (r(), k(F, {
894
927
  key: 2,
895
928
  size: 42
896
929
  }, {
897
930
  default: d(() => [
898
- f(B(wl), { style: { color: "var(--el-color-error)" } })
931
+ v(h(tl), { style: { color: "var(--el-color-error)" } })
899
932
  ]),
900
933
  _: 1
901
934
  }))
902
935
  ]),
903
- c("div", Cl, A(l.value), 1),
904
- c("div", El, [
905
- o.value && s.value === "loading" ? (i(), b(V, {
936
+ a("div", ol, m(t.value), 1),
937
+ a("div", il, [
938
+ o.value && n.value === "loading" ? (r(), k(P, {
906
939
  key: 0,
907
- onClick: _
940
+ onClick: x
908
941
  }, {
909
- default: d(() => [...E[0] || (E[0] = [
910
- M(" 取消 ", -1)
942
+ default: d(() => [...D[0] || (D[0] = [
943
+ A(" 取消 ", -1)
911
944
  ])]),
912
945
  _: 1
913
- })) : Q("", !0),
914
- s.value !== "loading" ? (i(), b(V, {
946
+ })) : $("", !0),
947
+ n.value !== "loading" ? (r(), k(P, {
915
948
  key: 1,
916
949
  type: "primary",
917
- onClick: P
950
+ onClick: M
918
951
  }, {
919
- default: d(() => [...E[1] || (E[1] = [
920
- M(" 确定 ", -1)
952
+ default: d(() => [...D[1] || (D[1] = [
953
+ A(" 确定 ", -1)
921
954
  ])]),
922
955
  _: 1
923
- })) : Q("", !0)
956
+ })) : $("", !0)
924
957
  ])
925
958
  ])
926
959
  ], 512)), [
927
- [ie, t.value]
960
+ [ge, s.value]
928
961
  ]);
929
962
  };
930
963
  }
931
- }), kl = /* @__PURE__ */ U(Bl, [["__scopeId", "data-v-8ddebb07"]]);
932
- let oe = null;
933
- function K() {
934
- if (oe) return oe;
964
+ }), rl = /* @__PURE__ */ L(cl, [["__scopeId", "data-v-8ddebb07"]]);
965
+ let pe = null;
966
+ function oe() {
967
+ if (pe) return pe;
935
968
  const e = document.createElement("div");
936
- return document.body.appendChild(e), oe = De(kl).mount(e), oe;
969
+ return document.body.appendChild(e), pe = ze(rl).mount(e), pe;
937
970
  }
938
- const gn = {
971
+ const Po = {
939
972
  show(e) {
940
- K().show(e);
973
+ oe().show(e);
941
974
  },
942
- update(e, n) {
943
- K().update(e, n);
975
+ update(e, l) {
976
+ oe().update(e, l);
944
977
  },
945
978
  success(e) {
946
- K().setSuccess(e);
979
+ oe().setSuccess(e);
947
980
  },
948
981
  error(e) {
949
- K().setError(e);
982
+ oe().setError(e);
950
983
  },
951
984
  close() {
952
- K().close();
985
+ oe().close();
953
986
  }
954
- }, Sl = { class: "tooltip" }, zl = { class: "label" }, Be = /* @__PURE__ */ S({
987
+ }, ul = { class: "tooltip" }, dl = { class: "label" }, ae = /* @__PURE__ */ B({
955
988
  __name: "AppTooltip",
956
989
  props: {
957
990
  content: {},
@@ -960,60 +993,60 @@ const gn = {
960
993
  iconClass: {}
961
994
  },
962
995
  setup(e) {
963
- nt((r) => ({
964
- v22da9023: B(t)
996
+ $t((c) => ({
997
+ v22da9023: h(s)
965
998
  }));
966
- const n = e, t = n.lines, l = () => ({
967
- "txt-ellipsis-right": n.ellipsis === "right",
968
- "txt-ellipsis-left": n.ellipsis === "left",
969
- "single-line": n.lines === 1
970
- }), a = y(!1), s = le("refContent"), o = new ResizeObserver(() => {
971
- s.value && (n.lines === 1 ? a.value = s.value.scrollWidth > s.value.clientWidth : a.value = s.value.scrollHeight > s.value.clientHeight);
999
+ const l = e, s = l.lines, t = () => ({
1000
+ "txt-ellipsis-right": l.ellipsis === "right",
1001
+ "txt-ellipsis-left": l.ellipsis === "left",
1002
+ "single-line": l.lines === 1
1003
+ }), i = z(!1), n = K("refContent"), o = new ResizeObserver(() => {
1004
+ n.value && (l.lines === 1 ? i.value = n.value.scrollWidth > n.value.clientWidth : i.value = n.value.scrollHeight > n.value.clientHeight);
972
1005
  });
973
- return te(() => {
974
- s.value && o.observe(s.value);
975
- }), ue(() => {
1006
+ return ne(() => {
1007
+ n.value && o.observe(n.value);
1008
+ }), ce(() => {
976
1009
  o.disconnect();
977
- }), (r, u) => {
978
- const v = Re;
979
- return i(), g("div", Sl, [
980
- c("div", zl, [
981
- e.iconClass ? (i(), b(j, {
1010
+ }), (c, u) => {
1011
+ const p = Ye;
1012
+ return r(), f("div", ul, [
1013
+ a("div", dl, [
1014
+ e.iconClass ? (r(), k(N, {
982
1015
  key: 0,
983
1016
  icon: e.iconClass
984
- }, null, 8, ["icon"])) : Q("", !0)
1017
+ }, null, 8, ["icon"])) : $("", !0)
985
1018
  ]),
986
- e.content ? (i(), b(v, {
1019
+ e.content ? (r(), k(p, {
987
1020
  key: 0,
988
1021
  effect: "light",
989
1022
  content: e.content,
990
1023
  placement: "top",
991
- disabled: !a.value,
1024
+ disabled: !i.value,
992
1025
  "show-after": 800
993
1026
  }, {
994
1027
  content: d(() => [
995
- I(r.$slots, "tooltipContent")
1028
+ I(c.$slots, "tooltipContent")
996
1029
  ]),
997
1030
  default: d(() => [
998
- c("div", G({
1031
+ a("div", G({
999
1032
  ref_key: "refContent",
1000
- ref: s
1001
- }, r.$attrs, {
1002
- class: ["tooltip__content", l()]
1033
+ ref: n
1034
+ }, c.$attrs, {
1035
+ class: ["tooltip__content", t()]
1003
1036
  }), [
1004
- c("span", null, [
1005
- I(r.$slots, "default", {}, () => [
1006
- M(A(e.content), 1)
1037
+ a("span", null, [
1038
+ I(c.$slots, "default", {}, () => [
1039
+ A(m(e.content), 1)
1007
1040
  ])
1008
1041
  ])
1009
1042
  ], 16)
1010
1043
  ]),
1011
1044
  _: 3
1012
- }, 8, ["content", "disabled"])) : Q("", !0)
1045
+ }, 8, ["content", "disabled"])) : $("", !0)
1013
1046
  ]);
1014
1047
  };
1015
1048
  }
1016
- }), mn = /* @__PURE__ */ S({
1049
+ }), Io = /* @__PURE__ */ B({
1017
1050
  inheritAttrs: !1,
1018
1051
  __name: "IconButton",
1019
1052
  props: {
@@ -1022,29 +1055,29 @@ const gn = {
1022
1055
  tip: {}
1023
1056
  },
1024
1057
  emits: ["click"],
1025
- setup(e, { emit: n }) {
1026
- const t = n, l = () => {
1027
- t("click");
1058
+ setup(e, { emit: l }) {
1059
+ const s = l, t = () => {
1060
+ s("click");
1028
1061
  };
1029
- return (a, s) => {
1030
- const o = Re, r = Ct;
1031
- return e.tip ? (i(), g(O, { key: 0 }, [
1032
- e.confirm ? (i(), b(r, {
1062
+ return (i, n) => {
1063
+ const o = Ye, c = ss;
1064
+ return e.tip ? (r(), f(R, { key: 0 }, [
1065
+ e.confirm ? (r(), k(c, {
1033
1066
  key: 0,
1034
1067
  title: e.confirm,
1035
1068
  placement: "left",
1036
- onConfirm: l
1069
+ onConfirm: t
1037
1070
  }, {
1038
1071
  reference: d(() => [
1039
- c("span", at(ot(a.$attrs)), [
1040
- f(o, {
1072
+ a("span", zt(Dt(i.$attrs)), [
1073
+ v(o, {
1041
1074
  effect: "light",
1042
1075
  content: e.tip,
1043
1076
  placement: "top",
1044
1077
  "show-after": 800
1045
1078
  }, {
1046
1079
  default: d(() => [
1047
- f(j, {
1080
+ v(N, {
1048
1081
  class: "icon-btn",
1049
1082
  icon: e.icon
1050
1083
  }, null, 8, ["icon"])
@@ -1054,7 +1087,7 @@ const gn = {
1054
1087
  ], 16)
1055
1088
  ]),
1056
1089
  _: 1
1057
- }, 8, ["title"])) : (i(), b(o, {
1090
+ }, 8, ["title"])) : (r(), k(o, {
1058
1091
  key: 1,
1059
1092
  effect: "light",
1060
1093
  content: e.tip,
@@ -1062,224 +1095,224 @@ const gn = {
1062
1095
  "show-after": 800
1063
1096
  }, {
1064
1097
  default: d(() => [
1065
- f(j, G({
1098
+ v(N, G({
1066
1099
  class: "icon-btn",
1067
1100
  icon: e.icon,
1068
- onClick: he(l, ["stop"])
1069
- }, a.$attrs), null, 16, ["icon"])
1101
+ onClick: Ee(t, ["stop"])
1102
+ }, i.$attrs), null, 16, ["icon"])
1070
1103
  ]),
1071
1104
  _: 1
1072
1105
  }, 8, ["content"]))
1073
- ], 64)) : (i(), g(O, { key: 1 }, [
1074
- e.confirm ? (i(), b(r, {
1106
+ ], 64)) : (r(), f(R, { key: 1 }, [
1107
+ e.confirm ? (r(), k(c, {
1075
1108
  key: 0,
1076
1109
  title: e.confirm,
1077
1110
  placement: "left",
1078
- onConfirm: l
1111
+ onConfirm: t
1079
1112
  }, {
1080
1113
  reference: d(() => [
1081
- f(j, G({
1114
+ v(N, G({
1082
1115
  class: "icon-btn",
1083
1116
  icon: e.icon
1084
- }, a.$attrs), null, 16, ["icon"])
1117
+ }, i.$attrs), null, 16, ["icon"])
1085
1118
  ]),
1086
1119
  _: 1
1087
- }, 8, ["title"])) : (i(), b(j, G({
1120
+ }, 8, ["title"])) : (r(), k(N, G({
1088
1121
  key: 1,
1089
1122
  class: "icon-btn",
1090
1123
  icon: e.icon,
1091
- onClick: he(l, ["stop"])
1092
- }, a.$attrs), null, 16, ["icon"]))
1124
+ onClick: Ee(t, ["stop"])
1125
+ }, i.$attrs), null, 16, ["icon"]))
1093
1126
  ], 64));
1094
1127
  };
1095
1128
  }
1096
- }), Il = { class: "icon-label" }, fn = /* @__PURE__ */ S({
1129
+ }), vl = { class: "icon-label" }, ct = /* @__PURE__ */ B({
1097
1130
  __name: "IconLabel",
1098
1131
  props: {
1099
1132
  icon: {}
1100
1133
  },
1101
1134
  setup(e) {
1102
- return (n, t) => (i(), g("div", Il, [
1103
- f(j, { icon: e.icon }, null, 8, ["icon"]),
1104
- I(n.$slots, "default")
1135
+ return (l, s) => (r(), f("div", vl, [
1136
+ v(N, { icon: e.icon }, null, 8, ["icon"]),
1137
+ I(l.$slots, "default")
1105
1138
  ]));
1106
1139
  }
1107
- }), hn = /* @__PURE__ */ S({
1140
+ }), Mo = /* @__PURE__ */ B({
1108
1141
  __name: "ExternalLink",
1109
1142
  props: {
1110
1143
  url: {}
1111
1144
  },
1112
1145
  setup(e) {
1113
- const n = e, t = () => {
1114
- R.system.browsePage(n.url);
1146
+ const l = e, s = () => {
1147
+ H.system.browsePage(l.url);
1115
1148
  };
1116
- return (l, a) => (i(), g("span", {
1149
+ return (t, i) => (r(), f("span", {
1117
1150
  class: "external-link",
1118
- onClick: he(t, ["prevent"])
1151
+ onClick: Ee(s, ["prevent"])
1119
1152
  }, [
1120
- I(l.$slots, "default")
1153
+ I(t.$slots, "default")
1121
1154
  ]));
1122
1155
  }
1123
- }), Pl = ["innerHTML"], _n = /* @__PURE__ */ S({
1156
+ }), pl = ["innerHTML"], Vo = /* @__PURE__ */ B({
1124
1157
  __name: "LogPrint",
1125
- setup(e, { expose: n }) {
1126
- const t = y([]), l = le("logBoxRef");
1127
- function a(o) {
1128
- t.value.push(`[${ht()}] ${o}`), t.value.length > 500 && t.value.shift(), He(() => {
1129
- l.value && (l.value.scrollTop = l.value.scrollHeight);
1158
+ setup(e, { expose: l }) {
1159
+ const s = z([]), t = K("logBoxRef");
1160
+ function i(o) {
1161
+ s.value.push(`[${Wt()}] ${o}`), s.value.length > 500 && s.value.shift(), we(() => {
1162
+ t.value && (t.value.scrollTop = t.value.scrollHeight);
1130
1163
  });
1131
1164
  }
1132
- return n({
1133
- addLog: a,
1165
+ return l({
1166
+ addLog: i,
1134
1167
  reset: () => {
1135
- t.value = [];
1168
+ s.value = [];
1136
1169
  }
1137
- }), (o, r) => (i(), g("div", {
1170
+ }), (o, c) => (r(), f("div", {
1138
1171
  ref_key: "logBoxRef",
1139
- ref: l,
1172
+ ref: t,
1140
1173
  class: "log-print-box"
1141
1174
  }, [
1142
- (i(!0), g(O, null, ee(t.value, (u, v) => (i(), g("div", {
1143
- key: v,
1175
+ (r(!0), f(R, null, O(s.value, (u, p) => (r(), f("div", {
1176
+ key: p,
1144
1177
  innerHTML: u,
1145
1178
  class: "log-print-box__line"
1146
- }, null, 8, Pl))), 128))
1179
+ }, null, 8, pl))), 128))
1147
1180
  ], 512));
1148
1181
  }
1149
- }), Fe = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv1{fill:transparent;}.st1.lv1{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv1{fill-rule:evenodd;clip-rule:evenodd;fill:%23C0C0C0;}%3c/style%3e%3crect%20class='st0%20lv1'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv1'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv1'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.2v0.7c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M15.8,18.9h2.6c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4h-0.6%20v-5.6c0-0.2-0.2-0.4-0.4-0.4h-1.4c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h0.4v4.6h-0.6c-0.2,0-0.4,0.2-0.4,0.4v0.6%20C15.3,18.7,15.5,18.9,15.8,18.9z%20M12.7,16.3v0.1c0,0.1-0.1,0.2-0.2,0.2c0,0,0,0-0.1,0.1l-2,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1,0-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4V16.3L12.7,16.3z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4%20H3.7v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", Oe = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv2{fill:transparent;}.st1.lv2{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv2{fill-rule:evenodd;clip-rule:evenodd;fill:%238BD29B;}%3c/style%3e%3crect%20class='st0%20lv2'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv2'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv2'%20d='M14,10h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6C1.3,20,1,19.8,1,19.4v-7.8%20C1,11.3,1.2,11,1.6,11h11.8v-0.4C13.4,10.3,13.6,10,14,10z%20M19.4,15.8c0.2,0,0.4-0.2,0.4-0.4v-3.7c0-0.2-0.2-0.4-0.4-0.4H15%20c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15c-0.2,0-0.4,0.2-0.4,0.4v3.7c0,0.2,0.2,0.4,0.4,0.4h4.4%20c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H16v-1.7H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1,0-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H3.7%20v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", Ne = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv3{fill:transparent;}.st1.lv3{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv3{fill-rule:evenodd;clip-rule:evenodd;fill:%237BCDEF;}%3c/style%3e%3crect%20class='st0%20lv3'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv3'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv3'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M19.4,18.9c0.2,0,0.4-0.2,0.4-0.4v-6.9c0-0.2-0.2-0.4-0.4-0.4H15%20c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15%20c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1,0-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H3.7%20v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", We = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv4{fill:transparent;}.st1.lv4{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv4{fill-rule:evenodd;clip-rule:evenodd;fill:%23FEBB8B;}%3c/style%3e%3crect%20class='st0%20lv4'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv4'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv4'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M19.4,18.9c0.2,0,0.4-0.2,0.4-0.4v-6.9c0-0.2-0.2-0.4-0.4-0.4h-0.6%20c-0.2,0-0.4,0.2-0.4,0.4v2.7H16v-2.7c0-0.2-0.2-0.4-0.4-0.4H15c-0.2,0-0.4,0.2-0.4,0.4v3.7c0,0.2,0.2,0.4,0.4,0.4h3.4v2.7%20c0,0.2,0.2,0.4,0.4,0.4H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1s-0.4,0-0.5-0.1l-2-2%20c-0.1-0.1-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H3.7%20v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", Ge = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv5{fill:transparent;}.st1.lv5{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv5{fill-rule:evenodd;clip-rule:evenodd;fill:%23EE672A;}%3c/style%3e%3crect%20class='st0%20lv5'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv5'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv5'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M19.4,12.7c0.2,0,0.4-0.2,0.4-0.4v-0.7c0-0.2-0.2-0.4-0.4-0.4H15%20c-0.2,0-0.4,0.2-0.4,0.4v3.7c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h4.4%20c0.2,0,0.4-0.2,0.4-0.4v-3.7c0-0.2-0.2-0.4-0.4-0.4H16v-1.6H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1-0.1-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2%20v-3.3c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4%20H3.7v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", Je = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv6{fill:transparent;}.st1.lv6{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv6{fill-rule:evenodd;clip-rule:evenodd;fill:%23F04C49;}%3c/style%3e%3crect%20class='st0%20lv6'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv6'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv6'%20d='M14,10c-0.4,0-0.6,0.3-0.6,0.6V11H1.6C1.2,11,1,11.3,1,11.6v7.8C1,19.8,1.3,20,1.6,20h18.8%20c0.4,0,0.6-0.3,0.6-0.6v-8.8c0.1-0.3-0.2-0.6-0.5-0.6H14z%20M19.8,12.3c0,0.2-0.2,0.4-0.4,0.4H16v1.6h3.4c0.2,0,0.4,0.2,0.4,0.4v3.7%20c0,0.2-0.2,0.4-0.4,0.4H15c-0.2,0-0.4-0.2-0.4-0.4v-6.8c0-0.2,0.2-0.4,0.4-0.4h4.4c0.2,0,0.4,0.2,0.4,0.4V12.3z%20M12.6,16.7%20c0.1-0.1,0.1-0.2,0.1-0.4v-0.1v-3.4c0-0.2-0.2-0.4-0.4-0.4h-0.6c-0.2,0-0.4,0.2-0.4,0.4v3.3L10,17.3l-1.2-1.2v-3.4%20c0-0.2-0.2-0.4-0.4-0.4H7.8c-0.2,0-0.4,0.2-0.4,0.4v3.5v0.1c0,0.2,0,0.4,0.1,0.4l2,2c0.1,0.1,0.5,0.1,0.5,0.1s0.4,0,0.5-0.1%20L12.6,16.7z%20M6.1,18.9H2.6c-0.2,0-0.4-0.2-0.4-0.4v-5.8c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v4.7h2.4%20c0.2,0,0.4,0.2,0.4,0.4v0.6C6.5,18.7,6.3,18.9,6.1,18.9z%20M18.4,17.4H16v-1.7h2.4V17.4z'/%3e%3c/svg%3e", _e = "data:image/jpeg;base64,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", Ql = { class: "user-card" }, Ml = { class: "user-card__face-wrapper" }, Dl = ["src"], Hl = {
1182
+ }), rt = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv1{fill:transparent;}.st1.lv1{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv1{fill-rule:evenodd;clip-rule:evenodd;fill:%23C0C0C0;}%3c/style%3e%3crect%20class='st0%20lv1'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv1'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv1'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.2v0.7c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M15.8,18.9h2.6c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4h-0.6%20v-5.6c0-0.2-0.2-0.4-0.4-0.4h-1.4c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h0.4v4.6h-0.6c-0.2,0-0.4,0.2-0.4,0.4v0.6%20C15.3,18.7,15.5,18.9,15.8,18.9z%20M12.7,16.3v0.1c0,0.1-0.1,0.2-0.2,0.2c0,0,0,0-0.1,0.1l-2,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1,0-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4V16.3L12.7,16.3z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4%20H3.7v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", ut = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv2{fill:transparent;}.st1.lv2{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv2{fill-rule:evenodd;clip-rule:evenodd;fill:%238BD29B;}%3c/style%3e%3crect%20class='st0%20lv2'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv2'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv2'%20d='M14,10h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6C1.3,20,1,19.8,1,19.4v-7.8%20C1,11.3,1.2,11,1.6,11h11.8v-0.4C13.4,10.3,13.6,10,14,10z%20M19.4,15.8c0.2,0,0.4-0.2,0.4-0.4v-3.7c0-0.2-0.2-0.4-0.4-0.4H15%20c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15c-0.2,0-0.4,0.2-0.4,0.4v3.7c0,0.2,0.2,0.4,0.4,0.4h4.4%20c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H16v-1.7H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1,0-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H3.7%20v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", dt = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv3{fill:transparent;}.st1.lv3{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv3{fill-rule:evenodd;clip-rule:evenodd;fill:%237BCDEF;}%3c/style%3e%3crect%20class='st0%20lv3'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv3'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv3'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M19.4,18.9c0.2,0,0.4-0.2,0.4-0.4v-6.9c0-0.2-0.2-0.4-0.4-0.4H15%20c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15%20c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1,0-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H3.7%20v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", vt = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv4{fill:transparent;}.st1.lv4{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv4{fill-rule:evenodd;clip-rule:evenodd;fill:%23FEBB8B;}%3c/style%3e%3crect%20class='st0%20lv4'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv4'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv4'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M19.4,18.9c0.2,0,0.4-0.2,0.4-0.4v-6.9c0-0.2-0.2-0.4-0.4-0.4h-0.6%20c-0.2,0-0.4,0.2-0.4,0.4v2.7H16v-2.7c0-0.2-0.2-0.4-0.4-0.4H15c-0.2,0-0.4,0.2-0.4,0.4v3.7c0,0.2,0.2,0.4,0.4,0.4h3.4v2.7%20c0,0.2,0.2,0.4,0.4,0.4H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1s-0.4,0-0.5-0.1l-2-2%20c-0.1-0.1-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2v-3.3%20c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4H3.7%20v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", pt = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv5{fill:transparent;}.st1.lv5{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv5{fill-rule:evenodd;clip-rule:evenodd;fill:%23EE672A;}%3c/style%3e%3crect%20class='st0%20lv5'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv5'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv5'%20d='M13.4,10.6c0-0.3,0.2-0.6,0.6-0.6h6.5c0.3,0,0.6,0.3,0.5,0.6v8.8c0,0.3-0.2,0.6-0.6,0.6H1.6%20C1.3,20,1,19.8,1,19.4v-7.8C1,11.3,1.2,11,1.6,11h11.8V10.6z%20M19.4,12.7c0.2,0,0.4-0.2,0.4-0.4v-0.7c0-0.2-0.2-0.4-0.4-0.4H15%20c-0.2,0-0.4,0.2-0.4,0.4v3.7c0,0.2,0.2,0.4,0.4,0.4h3.4v1.7H15c-0.2,0-0.4,0.2-0.4,0.4v0.6c0,0.2,0.2,0.4,0.4,0.4h4.4%20c0.2,0,0.4-0.2,0.4-0.4v-3.7c0-0.2-0.2-0.4-0.4-0.4H16v-1.6H19.4z%20M12.7,16.4c0,0.1,0,0.3-0.1,0.4l-2.1,2c-0.1,0.1-0.5,0.1-0.5,0.1%20s-0.4,0-0.5-0.1l-2-2c-0.1-0.1-0.1-0.3-0.1-0.4v-0.1v-3.5c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4l1.2,1.2l1.2-1.2%20v-3.3c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v3.4V16.4z%20M2.6,18.9h3.4c0.2,0,0.4-0.2,0.4-0.4v-0.6c0-0.2-0.2-0.4-0.4-0.4%20H3.7v-4.7c0-0.2-0.2-0.4-0.4-0.4H2.6c-0.2,0-0.4,0.2-0.4,0.4v5.8C2.2,18.7,2.4,18.9,2.6,18.9z'/%3e%3c/svg%3e", mt = "data:image/svg+xml,%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2030%2030'%20style='enable-background:new%200%200%2030%2030;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0.lv6{fill:transparent;}.st1.lv6{fill-rule:evenodd;clip-rule:evenodd;fill:%23FFFFFF;}.st2.lv6{fill-rule:evenodd;clip-rule:evenodd;fill:%23F04C49;}%3c/style%3e%3crect%20class='st0%20lv6'%20width='30'%20height='30'/%3e%3cpath%20class='st1%20lv6'%20d='M19.9,11.1h-5.6v1.1H2.1v6.7h17.8v-6.7h0V11.1z'/%3e%3cpath%20class='st2%20lv6'%20d='M14,10c-0.4,0-0.6,0.3-0.6,0.6V11H1.6C1.2,11,1,11.3,1,11.6v7.8C1,19.8,1.3,20,1.6,20h18.8%20c0.4,0,0.6-0.3,0.6-0.6v-8.8c0.1-0.3-0.2-0.6-0.5-0.6H14z%20M19.8,12.3c0,0.2-0.2,0.4-0.4,0.4H16v1.6h3.4c0.2,0,0.4,0.2,0.4,0.4v3.7%20c0,0.2-0.2,0.4-0.4,0.4H15c-0.2,0-0.4-0.2-0.4-0.4v-6.8c0-0.2,0.2-0.4,0.4-0.4h4.4c0.2,0,0.4,0.2,0.4,0.4V12.3z%20M12.6,16.7%20c0.1-0.1,0.1-0.2,0.1-0.4v-0.1v-3.4c0-0.2-0.2-0.4-0.4-0.4h-0.6c-0.2,0-0.4,0.2-0.4,0.4v3.3L10,17.3l-1.2-1.2v-3.4%20c0-0.2-0.2-0.4-0.4-0.4H7.8c-0.2,0-0.4,0.2-0.4,0.4v3.5v0.1c0,0.2,0,0.4,0.1,0.4l2,2c0.1,0.1,0.5,0.1,0.5,0.1s0.4,0,0.5-0.1%20L12.6,16.7z%20M6.1,18.9H2.6c-0.2,0-0.4-0.2-0.4-0.4v-5.8c0-0.2,0.2-0.4,0.4-0.4h0.6c0.2,0,0.4,0.2,0.4,0.4v4.7h2.4%20c0.2,0,0.4,0.2,0.4,0.4v0.6C6.5,18.7,6.3,18.9,6.1,18.9z%20M18.4,17.4H16v-1.7h2.4V17.4z'/%3e%3c/svg%3e", Be = "data:image/jpeg;base64,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", ml = { class: "user-card" }, gl = { class: "user-card__face-wrapper" }, fl = ["src"], _l = {
1150
1183
  key: 0,
1151
1184
  class: "user-card--blocked"
1152
- }, Vl = { class: "user-card__info" }, $l = { class: "user-card__row" }, Tl = ["src"], Ll = { class: "user-card__row" }, Rl = { class: "user-card__uid" }, Ul = { class: "user-card__row" }, ql = { class: "user-card__stat__item" }, jl = { class: "user-card__stat__value" }, Fl = { class: "user-card__stat__item" }, Ol = { class: "user-card__stat__value" }, Nl = { class: "user-card__stat__item" }, Wl = { class: "user-card__stat__value" }, Gl = /* @__PURE__ */ S({
1185
+ }, hl = { class: "user-card__info" }, wl = { class: "user-card__row" }, yl = ["src"], Al = { class: "user-card__row" }, kl = { class: "user-card__uid" }, bl = { class: "user-card__row" }, Cl = { class: "user-card__stat__item" }, xl = { class: "user-card__stat__value" }, El = { class: "user-card__stat__item" }, Bl = { class: "user-card__stat__value" }, Sl = { class: "user-card__stat__item" }, $l = { class: "user-card__stat__value" }, zl = /* @__PURE__ */ B({
1153
1186
  __name: "BiliUserCard",
1154
1187
  props: {
1155
1188
  user: {}
1156
1189
  },
1157
1190
  setup(e) {
1158
- const n = e, t = k(() => n.user.face || _e), l = k(() => new URL((/* @__PURE__ */ Object.assign({ "../../assets/images/user_level/level_1.svg": Fe, "../../assets/images/user_level/level_2.svg": Oe, "../../assets/images/user_level/level_3.svg": Ne, "../../assets/images/user_level/level_4.svg": We, "../../assets/images/user_level/level_5.svg": Ge, "../../assets/images/user_level/level_6.svg": Je }))[`../../assets/images/user_level/level_${n.user.level}.svg`], import.meta.url).href);
1159
- return (a, s) => {
1160
- const o = Be;
1161
- return i(), g("div", Ql, [
1162
- I(a.$slots, "default"),
1163
- c("div", Ml, [
1164
- c("img", {
1191
+ const l = e, s = C(() => l.user.face || Be), t = C(() => new URL((/* @__PURE__ */ Object.assign({ "../../assets/images/user_level/level_1.svg": rt, "../../assets/images/user_level/level_2.svg": ut, "../../assets/images/user_level/level_3.svg": dt, "../../assets/images/user_level/level_4.svg": vt, "../../assets/images/user_level/level_5.svg": pt, "../../assets/images/user_level/level_6.svg": mt }))[`../../assets/images/user_level/level_${l.user.level}.svg`], import.meta.url).href);
1192
+ return (i, n) => {
1193
+ const o = ae;
1194
+ return r(), f("div", ml, [
1195
+ I(i.$slots, "default"),
1196
+ a("div", gl, [
1197
+ a("img", {
1165
1198
  class: "user-card__face",
1166
1199
  alt: "face",
1167
- src: t.value
1168
- }, null, 8, Dl),
1169
- e.user.silence === 1 ? (i(), g("span", Hl, "账号已封禁")) : Q("", !0)
1200
+ src: s.value
1201
+ }, null, 8, fl),
1202
+ e.user.silence === 1 ? (r(), f("span", _l, "账号已封禁")) : $("", !0)
1170
1203
  ]),
1171
- c("div", Vl, [
1172
- c("div", $l, [
1173
- f(o, {
1204
+ a("div", hl, [
1205
+ a("div", wl, [
1206
+ v(o, {
1174
1207
  class: "user-card__name",
1175
1208
  content: e.user.name
1176
1209
  }, null, 8, ["content"]),
1177
- c("img", {
1210
+ a("img", {
1178
1211
  class: "user-card__level",
1179
- src: l.value,
1212
+ src: t.value,
1180
1213
  alt: "level"
1181
- }, null, 8, Tl)
1214
+ }, null, 8, yl)
1182
1215
  ]),
1183
- c("div", Ll, [
1184
- s[0] || (s[0] = c("span", { class: "user-card__uid-icon" }, null, -1)),
1185
- c("span", Rl, A(e.user.mid), 1)
1216
+ a("div", Al, [
1217
+ n[0] || (n[0] = a("span", { class: "user-card__uid-icon" }, null, -1)),
1218
+ a("span", kl, m(e.user.mid), 1)
1186
1219
  ]),
1187
- c("div", Ul, [
1188
- c("span", ql, [
1189
- c("span", jl, A(e.user.following), 1),
1190
- s[1] || (s[1] = c("span", { class: "user-card__stat__label" }, "关注", -1))
1220
+ a("div", bl, [
1221
+ a("span", Cl, [
1222
+ a("span", xl, m(e.user.following), 1),
1223
+ n[1] || (n[1] = a("span", { class: "user-card__stat__label" }, "关注", -1))
1191
1224
  ]),
1192
- c("span", Fl, [
1193
- c("span", Ol, A(e.user.follower), 1),
1194
- s[2] || (s[2] = c("span", { class: "user-card__stat__label" }, "粉丝", -1))
1225
+ a("span", El, [
1226
+ a("span", Bl, m(e.user.follower), 1),
1227
+ n[2] || (n[2] = a("span", { class: "user-card__stat__label" }, "粉丝", -1))
1195
1228
  ]),
1196
- c("span", Nl, [
1197
- c("span", Wl, A(e.user.coins), 1),
1198
- s[3] || (s[3] = c("span", { class: "user-card__stat__label" }, "硬币", -1))
1229
+ a("span", Sl, [
1230
+ a("span", $l, m(e.user.coins), 1),
1231
+ n[3] || (n[3] = a("span", { class: "user-card__stat__label" }, "硬币", -1))
1199
1232
  ])
1200
1233
  ])
1201
1234
  ])
1202
1235
  ]);
1203
1236
  };
1204
1237
  }
1205
- }), Jl = { class: "user-info info-row" }, Zl = ["src"], Kl = { class: "user-info__right" }, Yl = { class: "info-row" }, Xl = { class: "user-info__uid" }, es = /* @__PURE__ */ S({
1238
+ }), Dl = { class: "bili-user-info" }, Pl = ["src"], Il = { class: "bili-user-info__right" }, Ml = { class: "bili-user-info__info-row" }, Vl = { class: "bili-user-info__uid" }, Ql = /* @__PURE__ */ B({
1206
1239
  __name: "BiliUserInfo",
1207
1240
  props: {
1208
1241
  user: {}
1209
1242
  },
1210
1243
  setup(e) {
1211
- return (n, t) => {
1212
- const l = Be;
1213
- return i(), g("div", Jl, [
1214
- e.user.face ? (i(), g("img", {
1244
+ return (l, s) => {
1245
+ const t = ae;
1246
+ return r(), f("div", Dl, [
1247
+ e.user.face ? (r(), f("img", {
1215
1248
  key: 0,
1216
- class: "user-info__face",
1249
+ class: "bili-user-info__face",
1217
1250
  src: e.user.face,
1218
1251
  alt: "face"
1219
- }, null, 8, Zl)) : Q("", !0),
1220
- c("div", Kl, [
1221
- f(l, {
1222
- class: "user-info__name",
1252
+ }, null, 8, Pl)) : $("", !0),
1253
+ a("div", Il, [
1254
+ v(t, {
1255
+ class: "bili-user-info__name",
1223
1256
  content: e.user.name
1224
1257
  }, null, 8, ["content"]),
1225
- c("div", Yl, [
1226
- t[0] || (t[0] = c("span", { class: "user-info__uid-icon" }, null, -1)),
1227
- c("span", Xl, A(e.user.mid), 1)
1258
+ a("div", Ml, [
1259
+ s[0] || (s[0] = a("span", { class: "bili-user-info__uid-icon" }, null, -1)),
1260
+ a("span", Vl, m(e.user.mid), 1)
1228
1261
  ])
1229
1262
  ])
1230
1263
  ]);
1231
1264
  };
1232
1265
  }
1233
- }), An = /* @__PURE__ */ U(es, [["__scopeId", "data-v-70fe8db3"]]), Ze = /* @__PURE__ */ S({
1266
+ }), Qo = /* @__PURE__ */ L(Ql, [["__scopeId", "data-v-a22bf16f"]]), gt = /* @__PURE__ */ B({
1234
1267
  __name: "PluginMenuItem",
1235
1268
  props: {
1236
1269
  menu: {}
1237
1270
  },
1238
1271
  setup(e) {
1239
- return (n, t) => {
1240
- const l = Ue, a = Et;
1241
- return !e.menu.children || e.menu.children.length === 0 ? (i(), b(l, {
1272
+ return (l, s) => {
1273
+ const t = Xe, i = ls;
1274
+ return !e.menu.children || e.menu.children.length === 0 ? (r(), k(t, {
1242
1275
  key: 0,
1243
1276
  index: e.menu.path
1244
1277
  }, {
1245
1278
  title: d(() => [
1246
- M(A(e.menu.title), 1)
1279
+ A(m(e.menu.title), 1)
1247
1280
  ]),
1248
1281
  _: 1
1249
- }, 8, ["index"])) : (i(), b(a, {
1282
+ }, 8, ["index"])) : (r(), k(i, {
1250
1283
  key: 1,
1251
1284
  index: e.menu.path
1252
1285
  }, {
1253
1286
  title: d(() => [
1254
- M(A(e.menu.title), 1)
1287
+ A(m(e.menu.title), 1)
1255
1288
  ]),
1256
1289
  default: d(() => [
1257
- (i(!0), g(O, null, ee(e.menu.children, (s) => (i(), b(Ze, {
1258
- key: s.path,
1259
- menu: s
1290
+ (r(!0), f(R, null, O(e.menu.children, (n) => (r(), k(gt, {
1291
+ key: n.path,
1292
+ menu: n
1260
1293
  }, null, 8, ["menu"]))), 128))
1261
1294
  ]),
1262
1295
  _: 1
1263
1296
  }, 8, ["index"]));
1264
1297
  };
1265
1298
  }
1266
- }), ts = /* @__PURE__ */ S({
1299
+ }), Hl = /* @__PURE__ */ B({
1267
1300
  __name: "PluginMenus",
1268
1301
  props: {
1269
1302
  menus: {},
1270
1303
  activeIndex: {}
1271
1304
  },
1272
1305
  emits: ["handleSelect"],
1273
- setup(e, { emit: n }) {
1274
- const t = e, l = (p, h = /* @__PURE__ */ new Map()) => (p.forEach((w) => {
1275
- h.set(w.path, w), w.children && w.children.length > 0 && l(w.children, h);
1276
- }), h), a = k(() => l(t.menus)), s = n, o = (p) => {
1277
- const h = a.value.get(p);
1278
- h && s("handleSelect", h);
1279
- }, r = Ve(), u = k(() => !!r["left-item"] || !!r.left), v = k(() => !!r["right-item"] || !!r.right);
1280
- return (p, h) => {
1281
- const w = Ue, C = Bt;
1282
- return i(), b(C, {
1306
+ setup(e, { emit: l }) {
1307
+ const s = e, t = (_, w = /* @__PURE__ */ new Map()) => (_.forEach((g) => {
1308
+ w.set(g.path, g), g.children && g.children.length > 0 && t(g.children, w);
1309
+ }), w), i = C(() => t(s.menus)), n = l, o = (_) => {
1310
+ const w = i.value.get(_);
1311
+ w && n("handleSelect", w);
1312
+ }, c = Oe(), u = C(() => !!c["left-item"] || !!c.left), p = C(() => !!c["right-item"] || !!c.right);
1313
+ return (_, w) => {
1314
+ const g = Xe, b = ns;
1315
+ return r(), k(b, {
1283
1316
  "default-active": e.activeIndex,
1284
1317
  class: "plugin-menus",
1285
1318
  mode: "horizontal",
@@ -1287,139 +1320,191 @@ const gn = {
1287
1320
  onSelect: o
1288
1321
  }, {
1289
1322
  default: d(() => [
1290
- u.value ? I(p.$slots, "left-item", { key: 0 }, () => [
1291
- f(w, {
1323
+ u.value ? I(_.$slots, "left-item", { key: 0 }, () => [
1324
+ v(g, {
1292
1325
  index: "-left",
1293
1326
  style: { "margin-right": "auto" }
1294
1327
  }, {
1295
1328
  default: d(() => [
1296
- I(p.$slots, "left", {}, void 0, !0)
1329
+ I(_.$slots, "left", {}, void 0, !0)
1297
1330
  ]),
1298
1331
  _: 3
1299
1332
  })
1300
- ], !0) : Q("", !0),
1301
- (i(!0), g(O, null, ee(e.menus, (_) => (i(), b(Ze, {
1302
- key: _.path,
1303
- menu: _,
1304
- index: String(_.path)
1333
+ ], !0) : $("", !0),
1334
+ (r(!0), f(R, null, O(e.menus, (x) => (r(), k(gt, {
1335
+ key: x.path,
1336
+ menu: x,
1337
+ index: String(x.path)
1305
1338
  }, null, 8, ["menu", "index"]))), 128)),
1306
- v.value ? I(p.$slots, "right-item", { key: 1 }, () => [
1307
- f(w, {
1339
+ p.value ? I(_.$slots, "right-item", { key: 1 }, () => [
1340
+ v(g, {
1308
1341
  index: "-right",
1309
1342
  style: { "margin-left": "auto" }
1310
1343
  }, {
1311
1344
  default: d(() => [
1312
- I(p.$slots, "right", {}, void 0, !0)
1345
+ I(_.$slots, "right", {}, void 0, !0)
1313
1346
  ]),
1314
1347
  _: 3
1315
1348
  })
1316
- ], !0) : Q("", !0)
1349
+ ], !0) : $("", !0)
1317
1350
  ]),
1318
1351
  _: 3
1319
1352
  }, 8, ["default-active"]);
1320
1353
  };
1321
1354
  }
1322
- }), ls = /* @__PURE__ */ U(ts, [["__scopeId", "data-v-6dfc7821"]]), ss = { class: "plugin-page-header" }, ns = { class: "plugin-page-header__user-container" }, as = { class: "plugin-page-header__user-container__info" }, os = ["src"], cs = ["src"], is = {
1355
+ }), Tl = /* @__PURE__ */ L(Hl, [["__scopeId", "data-v-6dfc7821"]]);
1356
+ new Lt();
1357
+ var Se = /* @__PURE__ */ new Map(), ft = async (e, l) => {
1358
+ const s = await window.toolkitApi.bili.createBiliClient({
1359
+ context: {
1360
+ userCookie: e.userCookie
1361
+ },
1362
+ ...l ?? {}
1363
+ });
1364
+ if (!s) throw new Error("内部错误,创建 BiliClient 失败");
1365
+ return Se.set(e.mid, s.id), s.id;
1366
+ }, Ll = async (e, l) => {
1367
+ if (!e || !e.mid) throw new Error("用户未登录");
1368
+ return Se.has(e.mid) ? Se.get(e.mid) : await ft(e, l);
1369
+ }, Rl = {
1370
+ reset: ft,
1371
+ get: Ll
1372
+ }, Fl = () => {
1373
+ }, Ul = /* @__PURE__ */ new Set(["then", "catch", "finally", "toJSON", "toString", "valueOf"]);
1374
+ function _t(e, l = []) {
1375
+ return new Proxy(Fl, {
1376
+ get(s, t) {
1377
+ if (typeof t != "symbol" && !(l.length === 0 && Ul.has(t)))
1378
+ return _t(e, l.concat(t));
1379
+ },
1380
+ async apply(s, t, i) {
1381
+ let n, o, c;
1382
+ if (i && i.length > 0)
1383
+ for (const u of i)
1384
+ typeof u == "object" && "signal" in u && u.signal instanceof AbortSignal && (n = u.signal, o = crypto.randomUUID(), u.signal = o, c = () => {
1385
+ window.toolkitApi.bili.abortBiliApi(o);
1386
+ }, n.addEventListener("abort", c));
1387
+ try {
1388
+ const u = await window.toolkitApi.bili.invokeBiliApi(
1389
+ {
1390
+ clientId: e
1391
+ },
1392
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1393
+ l.join("."),
1394
+ ...i
1395
+ );
1396
+ return Gt(u);
1397
+ } finally {
1398
+ c && n && n.removeEventListener("abort", c);
1399
+ }
1400
+ }
1401
+ });
1402
+ }
1403
+ async function ql(e, l) {
1404
+ return _t(await Rl.reset(e, l));
1405
+ }
1406
+ const Ol = { class: "plugin-page-header" }, jl = { class: "plugin-page-header__user-container" }, Nl = { class: "plugin-page-header__user-container__info" }, Zl = ["src"], Wl = ["src"], Gl = {
1323
1407
  key: 1,
1324
1408
  class: "plugin-page-header__user-container__info"
1325
- }, wn = /* @__PURE__ */ S({
1409
+ }, Ho = /* @__PURE__ */ B({
1326
1410
  __name: "PluginPageHeader",
1327
1411
  props: {
1328
1412
  menus: {},
1329
1413
  activeIndex: {}
1330
1414
  },
1331
1415
  emits: ["handleMenuSelect"],
1332
- setup(e, { emit: n }) {
1333
- const t = je(), { user: l } = it(t), a = k(() => l.value?.face || _e), s = k(() => new URL((/* @__PURE__ */ Object.assign({ "../../assets/images/user_level/level_1.svg": Fe, "../../assets/images/user_level/level_2.svg": Oe, "../../assets/images/user_level/level_3.svg": Ne, "../../assets/images/user_level/level_4.svg": We, "../../assets/images/user_level/level_5.svg": Ge, "../../assets/images/user_level/level_6.svg": Je }))[`../../assets/images/user_level/level_${l.value?.level ?? 0}.svg`], import.meta.url).href), o = async () => {
1334
- t.setUser(await R.user.switchUser(!0));
1335
- }, r = () => {
1336
- t.deleteUser();
1337
- }, u = n, v = (p) => {
1338
- p && u("handleMenuSelect", p);
1416
+ setup(e, { emit: l }) {
1417
+ const s = at(), { user: t } = Mt(s), i = C(() => t.value?.face || Be), n = C(() => new URL((/* @__PURE__ */ Object.assign({ "../../assets/images/user_level/level_1.svg": rt, "../../assets/images/user_level/level_2.svg": ut, "../../assets/images/user_level/level_3.svg": dt, "../../assets/images/user_level/level_4.svg": vt, "../../assets/images/user_level/level_5.svg": pt, "../../assets/images/user_level/level_6.svg": mt }))[`../../assets/images/user_level/level_${t.value?.level ?? 0}.svg`], import.meta.url).href), o = async () => {
1418
+ const _ = await H.user.switchUser(!0);
1419
+ s.setUser(_), await ql(_);
1420
+ }, c = () => {
1421
+ s.deleteUser();
1422
+ }, u = l, p = (_) => {
1423
+ _ && u("handleMenuSelect", _);
1339
1424
  };
1340
- return te(async () => {
1341
- if (l.value)
1425
+ return ne(async () => {
1426
+ if (t.value)
1342
1427
  try {
1343
- const p = await R.user.getMyInfoByCookie(l.value.userCookie);
1344
- t.setUser(p);
1428
+ const _ = await H.user.getMyInfoByCookie(t.value.userCookie);
1429
+ s.setUser(_);
1345
1430
  } catch {
1346
- X("当前用户 cookie 已失效"), t.deleteUser();
1431
+ ie("当前用户 cookie 已失效"), s.deleteUser();
1347
1432
  }
1348
- }), (p, h) => {
1349
- const w = ls, C = Be, _ = Gl, P = kt, m = It, E = zt, D = St;
1350
- return i(), g("div", ss, [
1351
- f(w, {
1433
+ }), (_, w) => {
1434
+ const g = Tl, b = ae, x = zl, M = as, E = cs, D = is, V = os;
1435
+ return r(), f("div", Ol, [
1436
+ v(g, {
1352
1437
  class: "plugin-page-header__menus",
1353
1438
  "active-index": e.activeIndex,
1354
1439
  menus: e.menus,
1355
- onHandleSelect: v
1440
+ onHandleSelect: p
1356
1441
  }, null, 8, ["active-index", "menus"]),
1357
- c("div", ns, [
1358
- B(l) ? (i(), b(P, {
1442
+ a("div", jl, [
1443
+ h(t) ? (r(), k(M, {
1359
1444
  key: 0,
1360
1445
  placement: "bottom-end",
1361
1446
  width: "auto",
1362
1447
  trigger: "hover"
1363
1448
  }, {
1364
1449
  reference: d(() => [
1365
- c("div", as, [
1366
- c("img", {
1450
+ a("div", Nl, [
1451
+ a("img", {
1367
1452
  class: "plugin-page-header__user-container__info__face",
1368
- src: a.value,
1453
+ src: i.value,
1369
1454
  alt: "face"
1370
- }, null, 8, os),
1371
- f(C, {
1455
+ }, null, 8, Zl),
1456
+ v(b, {
1372
1457
  class: "plugin-page-header__user-container__info__name",
1373
- content: B(l).name
1458
+ content: h(t).name
1374
1459
  }, null, 8, ["content"]),
1375
- c("img", {
1460
+ a("img", {
1376
1461
  class: "plugin-page-header__user-container__info__level",
1377
- src: s.value,
1462
+ src: n.value,
1378
1463
  alt: "level img"
1379
- }, null, 8, cs)
1464
+ }, null, 8, Wl)
1380
1465
  ])
1381
1466
  ]),
1382
1467
  default: d(() => [
1383
- f(_, { user: B(l) }, null, 8, ["user"])
1468
+ v(x, { user: h(t) }, null, 8, ["user"])
1384
1469
  ]),
1385
1470
  _: 1
1386
- })) : (i(), g("div", is, [...h[0] || (h[0] = [
1387
- c("img", {
1471
+ })) : (r(), f("div", Gl, [...w[0] || (w[0] = [
1472
+ a("img", {
1388
1473
  class: "plugin-page-header__user-container__info__face",
1389
1474
  alt: "",
1390
- src: _e
1475
+ src: Be
1391
1476
  }, null, -1),
1392
- c("span", { class: "plugin-page-header__user-container__info__name" }, "未登录", -1)
1477
+ a("span", { class: "plugin-page-header__user-container__info__name" }, "未登录", -1)
1393
1478
  ])])),
1394
- f(D, {
1479
+ v(V, {
1395
1480
  placement: "bottom-end",
1396
1481
  trigger: "click",
1397
1482
  size: "default"
1398
1483
  }, {
1399
1484
  dropdown: d(() => [
1400
- f(E, null, {
1485
+ v(D, null, {
1401
1486
  default: d(() => [
1402
- f(m, { onClick: o }, {
1403
- default: d(() => [...h[1] || (h[1] = [
1404
- M("选择用户", -1)
1487
+ v(E, { onClick: o }, {
1488
+ default: d(() => [...w[1] || (w[1] = [
1489
+ A("选择用户", -1)
1405
1490
  ])]),
1406
1491
  _: 1
1407
1492
  }),
1408
- B(l) ? (i(), b(m, {
1493
+ h(t) ? (r(), k(E, {
1409
1494
  key: 0,
1410
- onClick: r
1495
+ onClick: c
1411
1496
  }, {
1412
- default: d(() => [...h[2] || (h[2] = [
1413
- M("取消选择", -1)
1497
+ default: d(() => [...w[2] || (w[2] = [
1498
+ A("取消选择", -1)
1414
1499
  ])]),
1415
1500
  _: 1
1416
- })) : Q("", !0)
1501
+ })) : $("", !0)
1417
1502
  ]),
1418
1503
  _: 1
1419
1504
  })
1420
1505
  ]),
1421
1506
  default: d(() => [
1422
- h[3] || (h[3] = c("span", { class: "plugin-page-header__user-container__arrow" }, "▼", -1))
1507
+ w[3] || (w[3] = a("span", { class: "plugin-page-header__user-container__arrow" }, "▼", -1))
1423
1508
  ]),
1424
1509
  _: 1
1425
1510
  })
@@ -1427,13 +1512,13 @@ const gn = {
1427
1512
  ]);
1428
1513
  };
1429
1514
  }
1430
- }), rs = {}, us = { class: "plugin-page-container" };
1431
- function ds(e, n) {
1432
- return i(), g("div", us, [
1515
+ }), Jl = {}, Kl = { class: "plugin-page-container" };
1516
+ function Yl(e, l) {
1517
+ return r(), f("div", Kl, [
1433
1518
  I(e.$slots, "default", {}, void 0, !0)
1434
1519
  ]);
1435
1520
  }
1436
- const yn = /* @__PURE__ */ U(rs, [["render", ds], ["__scopeId", "data-v-ddcb3392"]]), vs = { class: "page-table__toolbar" }, ps = { class: "page-table__actions" }, gs = /* @__PURE__ */ S({
1521
+ const To = /* @__PURE__ */ L(Jl, [["render", Yl], ["__scopeId", "data-v-ddcb3392"]]), Xl = { class: "page-table__toolbar" }, en = { class: "page-table__actions" }, tn = /* @__PURE__ */ B({
1437
1522
  inheritAttrs: !1,
1438
1523
  __name: "PageTable",
1439
1524
  props: {
@@ -1449,176 +1534,1195 @@ const yn = /* @__PURE__ */ U(rs, [["render", ds], ["__scopeId", "data-v-ddcb3392
1449
1534
  tableLayout: { default: "auto" }
1450
1535
  },
1451
1536
  emits: ["reset", "search"],
1452
- setup(e, { expose: n, emit: t }) {
1453
- const l = ct(), a = k(() => ({
1454
- class: l.class,
1455
- style: l.style
1456
- })), s = k(() => {
1457
- const { class: N, style: q, ...ne } = l;
1458
- return ne;
1459
- }), o = e, r = y(!1), u = k(() => o.pageParams ? o.pageParams : {
1537
+ setup(e, { expose: l, emit: s }) {
1538
+ const t = Pt(), i = C(() => ({
1539
+ class: t.class,
1540
+ style: t.style
1541
+ })), n = C(() => {
1542
+ const { class: Q, style: j, ...de } = t;
1543
+ return de;
1544
+ }), o = e, c = z(!1), u = C(() => o.pageParams ? o.pageParams : {
1460
1545
  pageNum: 1,
1461
1546
  pageSize: o.pageSizes[0]
1462
- }), { pageData: v, tableData: p, loading: h, refresh: w, resetAndRefresh: C, handleSizeChange: _, handleCurrPageChange: P } = Tt({
1547
+ }), {
1548
+ pageData: p,
1549
+ tableData: _,
1550
+ loading: w,
1551
+ refresh: g,
1552
+ resetAndRefresh: b,
1553
+ resetPageAndRefresh: x,
1554
+ handleSizeChange: M,
1555
+ handleCurrPageChange: E
1556
+ } = ot({
1463
1557
  fetchPage: o.fetchPage,
1464
1558
  pageParams: () => u.value,
1465
1559
  queryParams: o.queryParams ? () => o.queryParams : void 0,
1466
1560
  autoLoad: o.autoLoad,
1467
1561
  onLoaded: () => {
1468
- r.value = !0, x.value?.setScrollTop(0);
1562
+ c.value = !0, S.value?.setScrollTop(0);
1469
1563
  }
1470
- }), m = t, E = () => {
1471
- m("search"), w();
1472
- }, D = async () => {
1473
- m("reset"), await He(), await C();
1474
- }, { elementRef: $, height: V } = Lt("tableWrapperRef"), x = le("tableRef"), H = k(() => o.tableHeight ? o.tableHeight : V.value), L = k(() => ({
1564
+ }), D = s, V = () => {
1565
+ D("search"), g();
1566
+ }, F = async () => {
1567
+ D("reset"), await we(), await b();
1568
+ }, { elementRef: P, height: y } = ys("tableWrapperRef"), S = K("tableRef"), U = C(() => o.tableHeight ? o.tableHeight : y.value), X = C(() => ({
1475
1569
  search: o.actions.includes("search"),
1476
1570
  resetQuery: o.actions.includes("resetQuery")
1477
- })), ve = k(() => o.pageSizes && o.pageSizes.length > 1 ? "total, sizes, prev, pager, next, jumper" : "total, prev, pager, next, jumper"), T = !!Ve().query;
1478
- return n({
1479
- loading: h,
1480
- tableRef: x,
1481
- tableData: p,
1482
- pageData: v,
1483
- refresh: w,
1484
- resetAndRefresh: C,
1485
- getSelectionRows: x.value?.getSelectionRows,
1486
- toggleRowSelection: x.value?.toggleRowSelection,
1487
- setCurrentRow: x.value?.setCurrentRow,
1488
- clearSelection: x.value?.clearSelection,
1489
- scrollTo: x.value?.scrollTo
1490
- }), (N, q) => {
1491
- const ne = se, Ke = Qt, Ye = Mt, Xe = Pt, et = Dt, tt = ye;
1492
- return F((i(), g("div", G({ class: "page-table" }, a.value), [
1493
- c("div", vs, [
1494
- c("div", {
1495
- class: W(["page-table__query", T ? "has-query" : ""])
1571
+ })), ee = C(() => o.pageSizes && o.pageSizes.length > 1 ? "total, sizes, prev, pager, next, jumper" : "total, prev, pager, next, jumper"), ue = !!Oe().query;
1572
+ return l({
1573
+ loading: w,
1574
+ tableRef: S,
1575
+ tableData: _,
1576
+ pageData: p,
1577
+ refresh: g,
1578
+ resetAndRefresh: b,
1579
+ resetPageAndRefresh: x,
1580
+ getSelectionRows: S.value?.getSelectionRows,
1581
+ toggleRowSelection: S.value?.toggleRowSelection,
1582
+ setCurrentRow: S.value?.setCurrentRow,
1583
+ clearSelection: S.value?.clearSelection,
1584
+ scrollTo: S.value?.scrollTo
1585
+ }), (Q, j) => {
1586
+ const de = Z, kt = us, bt = et, Ct = rs, xt = tt, Et = Pe;
1587
+ return W((r(), f("div", G({ class: "page-table" }, i.value), [
1588
+ a("div", Xl, [
1589
+ a("div", {
1590
+ class: se(["page-table__query", ue ? "has-query" : ""])
1496
1591
  }, [
1497
- I(N.$slots, "query", {}, void 0, !0),
1498
- c("div", ps, [
1499
- I(N.$slots, "actions", {}, void 0, !0),
1500
- L.value.search ? (i(), b(ne, {
1592
+ I(Q.$slots, "query", {}, void 0, !0),
1593
+ a("div", en, [
1594
+ I(Q.$slots, "actions", {}, void 0, !0),
1595
+ X.value.search ? (r(), k(de, {
1501
1596
  key: 0,
1502
1597
  type: "primary",
1503
- onClick: E
1598
+ onClick: V
1504
1599
  }, {
1505
1600
  default: d(() => [
1506
- M(A(e.searchActionLabel), 1)
1601
+ A(m(e.searchActionLabel), 1)
1507
1602
  ]),
1508
1603
  _: 1
1509
- })) : Q("", !0),
1510
- L.value.resetQuery ? (i(), b(ne, {
1604
+ })) : $("", !0),
1605
+ X.value.resetQuery ? (r(), k(de, {
1511
1606
  key: 1,
1512
- onClick: D
1607
+ onClick: F
1513
1608
  }, {
1514
- default: d(() => [...q[2] || (q[2] = [
1515
- M("重置", -1)
1609
+ default: d(() => [...j[2] || (j[2] = [
1610
+ A("重置", -1)
1516
1611
  ])]),
1517
1612
  _: 1
1518
- })) : Q("", !0)
1613
+ })) : $("", !0)
1519
1614
  ])
1520
1615
  ], 2)
1521
1616
  ]),
1522
- c("div", {
1617
+ a("div", {
1523
1618
  ref_key: "tableWrapperRef",
1524
- ref: $,
1619
+ ref: P,
1525
1620
  class: "page-table__table-wrapper"
1526
1621
  }, [
1527
- r.value ? (i(), b(Xe, G({
1622
+ c.value ? (r(), k(Ct, G({
1528
1623
  key: 0,
1529
1624
  ref_key: "tableRef",
1530
- ref: x
1531
- }, s.value, {
1625
+ ref: S
1626
+ }, n.value, {
1532
1627
  class: "page-table__table",
1533
- data: B(p),
1628
+ data: h(_),
1534
1629
  border: "",
1535
- height: H.value,
1630
+ height: U.value,
1536
1631
  "table-layout": e.tableLayout,
1537
1632
  "highlight-current-row": e.selectionMode === "single"
1538
1633
  }), {
1539
1634
  empty: d(() => [
1540
- I(N.$slots, "empty", {}, () => [
1541
- f(Ye, { description: "没有数据" })
1635
+ I(Q.$slots, "empty", {}, () => [
1636
+ v(bt, { description: "没有数据" })
1542
1637
  ], !0)
1543
1638
  ]),
1544
1639
  default: d(() => [
1545
- e.selectionMode === "multiple" ? (i(), b(Ke, {
1640
+ e.selectionMode === "multiple" ? (r(), k(kt, {
1546
1641
  key: 0,
1547
1642
  type: "selection",
1548
1643
  width: "55"
1549
- })) : Q("", !0),
1550
- I(N.$slots, "default", {}, void 0, !0)
1644
+ })) : $("", !0),
1645
+ I(Q.$slots, "default", {}, void 0, !0)
1551
1646
  ]),
1552
1647
  _: 3
1553
- }, 16, ["data", "height", "table-layout", "highlight-current-row"])) : Q("", !0)
1648
+ }, 16, ["data", "height", "table-layout", "highlight-current-row"])) : $("", !0)
1554
1649
  ], 512),
1555
- f(et, {
1650
+ v(xt, {
1556
1651
  class: "page-table__pagination",
1557
- "current-page": B(v).pageNum,
1558
- "onUpdate:currentPage": q[0] || (q[0] = (pe) => B(v).pageNum = pe),
1559
- "page-size": B(v).pageSize,
1560
- "onUpdate:pageSize": q[1] || (q[1] = (pe) => B(v).pageSize = pe),
1652
+ "current-page": h(p).pageNum,
1653
+ "onUpdate:currentPage": j[0] || (j[0] = (Ae) => h(p).pageNum = Ae),
1654
+ "page-size": h(p).pageSize,
1655
+ "onUpdate:pageSize": j[1] || (j[1] = (Ae) => h(p).pageSize = Ae),
1561
1656
  "page-sizes": e.pageSizes,
1562
- total: B(v).total,
1563
- layout: ve.value,
1564
- onCurrentChange: B(P),
1565
- onSizeChange: B(_)
1657
+ total: h(p).total,
1658
+ layout: ee.value,
1659
+ onCurrentChange: h(E),
1660
+ onSizeChange: h(M)
1566
1661
  }, null, 8, ["current-page", "page-size", "page-sizes", "total", "layout", "onCurrentChange", "onSizeChange"])
1567
1662
  ], 16)), [
1568
- [tt, B(h)]
1663
+ [Et, h(w)]
1664
+ ]);
1665
+ };
1666
+ }
1667
+ }), Lo = /* @__PURE__ */ L(tn, [["__scopeId", "data-v-293a15d1"]]), Ue = "delete-confirm-dialog:delete-source-file", sn = /* @__PURE__ */ B({
1668
+ __name: "DeleteConfirmDialog",
1669
+ props: {
1670
+ visible: { type: Boolean },
1671
+ title: { default: "提示" },
1672
+ message: {},
1673
+ confirmButtonText: { default: "删除" },
1674
+ cancelButtonText: { default: "取消" }
1675
+ },
1676
+ emits: ["confirm", "cancel"],
1677
+ setup(e, { emit: l }) {
1678
+ const s = l, t = z(localStorage.getItem(Ue) === "true");
1679
+ function i() {
1680
+ localStorage.setItem(Ue, String(t.value));
1681
+ }
1682
+ function n() {
1683
+ s("confirm", t.value);
1684
+ }
1685
+ function o() {
1686
+ s("cancel");
1687
+ }
1688
+ return (c, u) => {
1689
+ const p = ds, _ = Z, w = re;
1690
+ return r(), k(w, {
1691
+ "model-value": e.visible,
1692
+ title: e.title,
1693
+ width: "420px",
1694
+ "close-on-click-modal": !1,
1695
+ "close-on-press-escape": !1,
1696
+ onClose: o
1697
+ }, {
1698
+ footer: d(() => [
1699
+ v(_, { onClick: o }, {
1700
+ default: d(() => [
1701
+ A(m(e.cancelButtonText), 1)
1702
+ ]),
1703
+ _: 1
1704
+ }),
1705
+ v(_, {
1706
+ type: "danger",
1707
+ onClick: n
1708
+ }, {
1709
+ default: d(() => [
1710
+ A(m(e.confirmButtonText), 1)
1711
+ ]),
1712
+ _: 1
1713
+ })
1714
+ ]),
1715
+ default: d(() => [
1716
+ a("div", null, m(e.message), 1),
1717
+ v(p, {
1718
+ modelValue: t.value,
1719
+ "onUpdate:modelValue": u[0] || (u[0] = (g) => t.value = g),
1720
+ style: { "margin-top": "16px" },
1721
+ onChange: i
1722
+ }, {
1723
+ default: d(() => [...u[1] || (u[1] = [
1724
+ A(" 同时删除本地磁盘源文件 ", -1)
1725
+ ])]),
1726
+ _: 1
1727
+ }, 8, ["modelValue"])
1728
+ ]),
1729
+ _: 1
1730
+ }, 8, ["model-value", "title"]);
1731
+ };
1732
+ }
1733
+ }), ht = /* @__PURE__ */ B({
1734
+ __name: "DownloadStatus",
1735
+ props: {
1736
+ task: {}
1737
+ },
1738
+ setup(e) {
1739
+ const l = e, s = C(() => {
1740
+ switch (l.task.status) {
1741
+ case "pending":
1742
+ return "info";
1743
+ case "downloading":
1744
+ return "primary";
1745
+ case "paused":
1746
+ return "info";
1747
+ case "canceled":
1748
+ return "warning";
1749
+ case "merging":
1750
+ return "primary";
1751
+ case "failed":
1752
+ return "danger";
1753
+ case "completed":
1754
+ return "success";
1755
+ default:
1756
+ return "info";
1757
+ }
1758
+ }), t = C(() => Ge[l.task.status]);
1759
+ return (i, n) => {
1760
+ const o = st;
1761
+ return r(), k(o, {
1762
+ type: s.value,
1763
+ "disable-transitions": "",
1764
+ size: "small"
1765
+ }, {
1766
+ default: d(() => [
1767
+ A(m(t.value), 1)
1768
+ ]),
1769
+ _: 1
1770
+ }, 8, ["type"]);
1771
+ };
1772
+ }
1773
+ }), wt = /* @__PURE__ */ B({
1774
+ __name: "DownloadProgress",
1775
+ props: {
1776
+ task: {}
1777
+ },
1778
+ setup(e) {
1779
+ const l = e, s = C(() => {
1780
+ switch (l.task.status) {
1781
+ case "failed":
1782
+ return "exception";
1783
+ case "completed":
1784
+ return "success";
1785
+ default:
1786
+ return;
1787
+ }
1788
+ }), t = C(() => Jt(l.task.status, ["downloading", "merging"]));
1789
+ return (i, n) => {
1790
+ const o = Ke;
1791
+ return r(), k(o, {
1792
+ percentage: e.task.progress ? e.task.progress.percent : 0,
1793
+ "stroke-width": 8,
1794
+ "show-text": !0,
1795
+ status: s.value,
1796
+ striped: t.value,
1797
+ "striped-flow": t.value,
1798
+ duration: 20
1799
+ }, null, 8, ["percentage", "status", "striped", "striped-flow"]);
1800
+ };
1801
+ }
1802
+ }), $e = (e) => Kt(e / 1024), ln = (e) => e === 0 ? "0 KB/s" : e < 1024 ? e.toFixed(1) + " KB/s" : (e / 1024).toFixed(1) + " MB/s", qe = (e) => e <= 1e4 ? String(e) : (e / 1e4).toFixed(1) + "万", nn = { class: "detail-item" }, an = { class: "value" }, on = { class: "detail-item" }, cn = { class: "value" }, rn = { class: "detail-item" }, un = { class: "value" }, dn = /* @__PURE__ */ B({
1803
+ __name: "DownloadProgressDetails",
1804
+ props: {
1805
+ task: {},
1806
+ resourceCount: {},
1807
+ isCompact: { type: Boolean }
1808
+ },
1809
+ setup(e) {
1810
+ return (l, s) => (r(), f("div", {
1811
+ class: "download-progress-details",
1812
+ style: xe({ gap: e.isCompact ? "10px" : "20px" })
1813
+ }, [
1814
+ e.task.progress ? (r(), f(R, { key: 0 }, [
1815
+ a("div", nn, [
1816
+ s[0] || (s[0] = a("span", { class: "label" }, "速度:", -1)),
1817
+ a("span", an, m(h(ln)(e.task.progress.speedKBps)), 1)
1818
+ ]),
1819
+ a("div", on, [
1820
+ s[2] || (s[2] = a("span", { class: "label" }, "文件:", -1)),
1821
+ a("div", cn, [
1822
+ a("span", null, m(e.task.progress?.currentItem), 1),
1823
+ s[1] || (s[1] = a("span", null, " / ", -1)),
1824
+ a("span", null, m(e.resourceCount), 1)
1825
+ ])
1826
+ ]),
1827
+ a("div", rn, [
1828
+ s[4] || (s[4] = a("span", { class: "label" }, "已完成:", -1)),
1829
+ a("div", un, [
1830
+ a("span", null, m(h($e)(e.task.progress.completedBytes)), 1),
1831
+ s[3] || (s[3] = a("span", null, " / ", -1)),
1832
+ a("span", null, m(h($e)(e.task.progress.totalBytes)), 1)
1833
+ ])
1834
+ ])
1835
+ ], 64)) : $("", !0)
1836
+ ], 4));
1837
+ }
1838
+ }), yt = /* @__PURE__ */ L(dn, [["__scopeId", "data-v-1923a35f"]]), vn = { class: "download-result" }, pn = {
1839
+ key: 0,
1840
+ class: "detail-item"
1841
+ }, mn = { class: "detail-item" }, gn = { class: "detail-item" }, fn = /* @__PURE__ */ B({
1842
+ __name: "DownloadResult",
1843
+ props: {
1844
+ task: {},
1845
+ videoCount: {},
1846
+ resourceCount: {}
1847
+ },
1848
+ setup(e) {
1849
+ return (l, s) => {
1850
+ const t = N;
1851
+ return r(), f("div", vn, [
1852
+ s[0] || (s[0] = a("span", { class: "hint" }, "总共:", -1)),
1853
+ e.task.result ? (r(), f("span", pn, [
1854
+ a("span", null, m(h($e)(e.task.result.totalBytes)), 1)
1855
+ ])) : $("", !0),
1856
+ a("span", mn, [
1857
+ v(t, { icon: "video" }),
1858
+ a("span", null, m(e.videoCount) + " 个视频", 1)
1859
+ ]),
1860
+ a("span", gn, [
1861
+ v(t, { icon: "file" }),
1862
+ a("span", null, m(e.resourceCount) + " 个文件", 1)
1863
+ ])
1569
1864
  ]);
1570
1865
  };
1571
1866
  }
1572
- }), bn = /* @__PURE__ */ U(gs, [["__scopeId", "data-v-7f79e7fd"]]);
1867
+ }), At = /* @__PURE__ */ L(fn, [["__scopeId", "data-v-a28b3695"]]), _n = { class: "video-stats-info" }, hn = { class: "value" }, wn = /* @__PURE__ */ B({
1868
+ __name: "VideoStatsInfo",
1869
+ props: {
1870
+ stat: {},
1871
+ fields: { default: () => ["like", "coin", "favorite", "share", "reply"] }
1872
+ },
1873
+ setup(e) {
1874
+ const l = e, s = {
1875
+ like: "heart",
1876
+ coin: "money-cny-circle",
1877
+ favorite: "star",
1878
+ share: "share-forward",
1879
+ reply: "discuss"
1880
+ }, t = C(() => {
1881
+ const i = [];
1882
+ for (const n of l.fields)
1883
+ i.push({
1884
+ icon: s[n],
1885
+ value: l.stat[n]
1886
+ });
1887
+ return i;
1888
+ });
1889
+ return (i, n) => {
1890
+ const o = N;
1891
+ return r(), f("div", _n, [
1892
+ (r(!0), f(R, null, O(t.value, (c) => (r(), f("div", {
1893
+ class: "stat-item",
1894
+ key: c.icon
1895
+ }, [
1896
+ v(o, {
1897
+ icon: c.icon
1898
+ }, null, 8, ["icon"]),
1899
+ a("span", hn, m(c.value), 1)
1900
+ ]))), 128))
1901
+ ]);
1902
+ };
1903
+ }
1904
+ }), yn = /* @__PURE__ */ L(wn, [["__scopeId", "data-v-503952a4"]]), An = /* @__PURE__ */ B({
1905
+ __name: "DownloadResourceTag",
1906
+ props: {
1907
+ type: {}
1908
+ },
1909
+ setup(e) {
1910
+ const l = e, s = C(() => Xt[l.type]), t = {
1911
+ audio: "file-music",
1912
+ video: "file-video",
1913
+ dm: "keyboard",
1914
+ cover: "image",
1915
+ subtitle: "closed-captioning"
1916
+ };
1917
+ return (i, n) => {
1918
+ const o = st;
1919
+ return r(), k(o, {
1920
+ type: "primary",
1921
+ effect: "plain",
1922
+ "disable-transitions": "",
1923
+ size: "small"
1924
+ }, {
1925
+ default: d(() => [
1926
+ v(ct, {
1927
+ icon: t[e.type]
1928
+ }, {
1929
+ default: d(() => [
1930
+ A(m(s.value), 1)
1931
+ ]),
1932
+ _: 1
1933
+ }, 8, ["icon"])
1934
+ ]),
1935
+ _: 1
1936
+ });
1937
+ };
1938
+ }
1939
+ }), kn = { class: "download-video-part-card" }, bn = { class: "left-info" }, Cn = { class: "right-info" }, xn = /* @__PURE__ */ B({
1940
+ __name: "DownloadVideoPartCard",
1941
+ props: {
1942
+ part: {}
1943
+ },
1944
+ setup(e) {
1945
+ const l = e, s = C(() => l.part.resources.find((n) => n.type === "audio")?.source.audioQuality), t = C(() => l.part.resources.find((n) => n.type === "video")?.source.videoQuality), i = C(() => l.part.resources.find((n) => n.type === "video")?.source.videoCodec);
1946
+ return (n, o) => {
1947
+ const c = ae, u = vs;
1948
+ return r(), f("div", kn, [
1949
+ a("div", bn, [
1950
+ a("div", null, m(e.part.snapshot.page) + "P", 1),
1951
+ v(c, {
1952
+ content: e.part.snapshot.part
1953
+ }, {
1954
+ default: d(() => [
1955
+ A(m(e.part.snapshot.part), 1)
1956
+ ]),
1957
+ _: 1
1958
+ }, 8, ["content"])
1959
+ ]),
1960
+ a("div", Cn, [
1961
+ s.value ? (r(), k(u, {
1962
+ key: 0,
1963
+ type: "info",
1964
+ effect: "plain"
1965
+ }, {
1966
+ default: d(() => [
1967
+ A(m(h(Rt)[s.value]), 1)
1968
+ ]),
1969
+ _: 1
1970
+ })) : $("", !0),
1971
+ t.value ? (r(), k(u, {
1972
+ key: 1,
1973
+ type: "info",
1974
+ effect: "plain"
1975
+ }, {
1976
+ default: d(() => [
1977
+ A(m(h(Ft)[t.value]), 1)
1978
+ ]),
1979
+ _: 1
1980
+ })) : $("", !0),
1981
+ i.value ? (r(), k(u, {
1982
+ key: 2,
1983
+ type: "info",
1984
+ effect: "plain"
1985
+ }, {
1986
+ default: d(() => [
1987
+ A(m(h(Ut)[i.value]), 1)
1988
+ ]),
1989
+ _: 1
1990
+ })) : $("", !0),
1991
+ a("span", null, m(h(De)(e.part.snapshot.duration)), 1)
1992
+ ])
1993
+ ]);
1994
+ };
1995
+ }
1996
+ }), En = /* @__PURE__ */ L(xn, [["__scopeId", "data-v-84c28695"]]), Bn = (e) => {
1997
+ const l = qt(e.tid), s = Ot(e.tid_v2);
1998
+ return s ? s.subZoneName ? `${s.mainZoneName} > ${s.subZoneName}` : s.mainZoneName : l ? l.subZoneName ? `${l.mainZoneName} > ${l.subZoneName}` : l.mainZoneName : "";
1999
+ }, Sn = { class: "download-video-card" }, $n = { class: "info-row" }, zn = { class: "info-left" }, Dn = { class: "cover-image" }, Pn = { class: "cover-placeholder" }, In = { class: "download-cover-stats" }, Mn = { class: "download-cover-stats__duration" }, Vn = { class: "info-right" }, Qn = { class: "info-row" }, Hn = { class: "info-row" }, Tn = { class: "user-info" }, Ln = ["src"], Rn = { class: "user-name" }, Fn = { class: "zone" }, Un = { class: "pubdate" }, qn = { class: "info-row stats" }, On = { class: "bvid" }, jn = { class: "info-row" }, Nn = { class: "part-list" }, Zn = /* @__PURE__ */ B({
2000
+ __name: "DownloadVideoCard",
2001
+ props: {
2002
+ video: {}
2003
+ },
2004
+ emits: ["open-folder"],
2005
+ setup(e, { emit: l }) {
2006
+ const s = e, t = C(() => s.video.snapshot), i = C(() => {
2007
+ const c = s.video.parts;
2008
+ return c.length >= 1 ? c[0].resources.map((u) => u.type) : [];
2009
+ }), n = async () => {
2010
+ window.open(`https://www.bilibili.com/video/${t.value.bvid}`);
2011
+ }, o = l;
2012
+ return (c, u) => {
2013
+ const p = Ie, _ = lt, w = ct, g = ae;
2014
+ return r(), f("div", Sn, [
2015
+ a("div", $n, [
2016
+ a("div", zn, [
2017
+ a("div", {
2018
+ class: "cover",
2019
+ onClick: n
2020
+ }, [
2021
+ a("div", Dn, [
2022
+ v(_, {
2023
+ src: t.value.pic,
2024
+ fit: "cover"
2025
+ }, {
2026
+ error: d(() => [
2027
+ a("div", Pn, [
2028
+ v(p, null, {
2029
+ default: d(() => [
2030
+ v(h(it))
2031
+ ]),
2032
+ _: 1
2033
+ })
2034
+ ])
2035
+ ]),
2036
+ _: 1
2037
+ }, 8, ["src"]),
2038
+ a("div", In, [
2039
+ v(w, { icon: "video" }, {
2040
+ default: d(() => [
2041
+ A(m(h(qe)(t.value.stat.view)), 1)
2042
+ ]),
2043
+ _: 1
2044
+ }),
2045
+ v(w, { icon: "keyboard" }, {
2046
+ default: d(() => [
2047
+ A(m(h(qe)(t.value.stat.danmaku)), 1)
2048
+ ]),
2049
+ _: 1
2050
+ }),
2051
+ u[0] || (u[0] = a("span", null, null, -1)),
2052
+ u[1] || (u[1] = a("span", null, null, -1)),
2053
+ a("span", Mn, m(h(De)(t.value.duration)), 1)
2054
+ ])
2055
+ ])
2056
+ ])
2057
+ ]),
2058
+ a("div", Vn, [
2059
+ a("div", Qn, [
2060
+ v(g, {
2061
+ class: "title",
2062
+ content: t.value.title
2063
+ }, {
2064
+ default: d(() => [
2065
+ A(m(t.value.title), 1)
2066
+ ]),
2067
+ _: 1
2068
+ }, 8, ["content"])
2069
+ ]),
2070
+ a("div", Hn, [
2071
+ a("div", Tn, [
2072
+ a("img", {
2073
+ class: "user-face",
2074
+ src: t.value.owner.face,
2075
+ alt: "face"
2076
+ }, null, 8, Ln),
2077
+ a("div", Rn, m(t.value.owner.name), 1)
2078
+ ]),
2079
+ a("div", Fn, m(h(Bn)(t.value)), 1),
2080
+ a("div", Un, m(h(fe)(t.value.pubdate)), 1)
2081
+ ]),
2082
+ a("div", qn, [
2083
+ a("div", On, m(t.value.bvid), 1),
2084
+ v(yn, {
2085
+ stat: t.value.stat
2086
+ }, null, 8, ["stat"])
2087
+ ]),
2088
+ a("div", jn, [
2089
+ u[2] || (u[2] = a("div", null, "下载的资源:", -1)),
2090
+ (r(!0), f(R, null, O(i.value, (b) => (r(), k(An, {
2091
+ key: b,
2092
+ type: b
2093
+ }, null, 8, ["type"]))), 128))
2094
+ ])
2095
+ ])
2096
+ ]),
2097
+ a("div", Nn, [
2098
+ u[3] || (u[3] = a("div", { class: "header" }, "视频分P:", -1)),
2099
+ (r(!0), f(R, null, O(e.video.parts, (b, x) => (r(), k(En, {
2100
+ key: b.snapshot.cid,
2101
+ part: b,
2102
+ onClick: (M) => o("open-folder", x)
2103
+ }, null, 8, ["part", "onClick"]))), 128))
2104
+ ])
2105
+ ]);
2106
+ };
2107
+ }
2108
+ }), Wn = /* @__PURE__ */ L(Zn, [["__scopeId", "data-v-48f910dd"]]), Gn = { class: "task-modal" }, Jn = {
2109
+ key: 0,
2110
+ class: "dialog-content"
2111
+ }, Kn = { key: 1 }, Yn = { class: "video-list-container" }, Xn = { class: "header" }, ea = /* @__PURE__ */ B({
2112
+ __name: "DownloadDetailsDialog",
2113
+ props: /* @__PURE__ */ J({
2114
+ task: {}
2115
+ }, {
2116
+ modelValue: { required: !0, type: Boolean },
2117
+ modelModifiers: {}
2118
+ }),
2119
+ emits: ["update:modelValue"],
2120
+ setup(e) {
2121
+ const l = e, s = he(e, "modelValue"), t = C(() => l.task?.videos.reduce((c, u) => c + u.parts.length, 0) ?? 0), i = C(() => l.task?.videos.reduce((c, u) => c + u.parts.reduce((p, _) => p + _.resources.length, 0), 0) ?? 0), n = K("refVideoList");
2122
+ le(
2123
+ () => s.value,
2124
+ (c) => {
2125
+ c && n.value && we(() => {
2126
+ n.value?.scrollTo(0, 0);
2127
+ });
2128
+ }
2129
+ );
2130
+ const o = async (c, u) => {
2131
+ l.task && await H.download.openFolder(l.task.id, c, u);
2132
+ };
2133
+ return (c, u) => {
2134
+ const p = ms, _ = ps, w = re;
2135
+ return r(), f("div", Gn, [
2136
+ v(w, {
2137
+ title: "任务详情",
2138
+ modelValue: s.value,
2139
+ "onUpdate:modelValue": u[0] || (u[0] = (g) => s.value = g),
2140
+ width: "80%",
2141
+ style: { "max-height": "88vh" },
2142
+ "close-on-click-modal": !0,
2143
+ "close-on-press-escape": !0,
2144
+ "show-close": !0,
2145
+ "align-center": ""
2146
+ }, {
2147
+ footer: d(() => [...u[3] || (u[3] = [
2148
+ a("div", { class: "dialog-footer" }, null, -1)
2149
+ ])]),
2150
+ default: d(() => [
2151
+ e.task ? (r(), f("div", Jn, [
2152
+ v(_, {
2153
+ border: "",
2154
+ column: 2
2155
+ }, {
2156
+ default: d(() => [
2157
+ v(p, { label: "任务 ID" }, {
2158
+ default: d(() => [
2159
+ A(m(e.task.id), 1)
2160
+ ]),
2161
+ _: 1
2162
+ }),
2163
+ v(p, { label: "任务类型" }, {
2164
+ default: d(() => [
2165
+ A(m(e.task.title), 1)
2166
+ ]),
2167
+ _: 1
2168
+ }),
2169
+ v(p, { label: "创建时间" }, {
2170
+ default: d(() => [
2171
+ A(m(h(fe)(e.task.createdAt)), 1)
2172
+ ]),
2173
+ _: 1
2174
+ }),
2175
+ v(p, { label: "更新时间" }, {
2176
+ default: d(() => [
2177
+ A(m(e.task.updatedAt ? h(fe)(e.task.updatedAt) : "-"), 1)
2178
+ ]),
2179
+ _: 1
2180
+ }),
2181
+ v(p, { label: "任务状态" }, {
2182
+ default: d(() => [
2183
+ v(ht, { task: e.task }, null, 8, ["task"])
2184
+ ]),
2185
+ _: 1
2186
+ }),
2187
+ v(p, { label: "任务进度" }, {
2188
+ default: d(() => [
2189
+ e.task.progress ? (r(), k(wt, {
2190
+ key: 0,
2191
+ task: e.task
2192
+ }, null, 8, ["task"])) : (r(), f("span", Kn, "-"))
2193
+ ]),
2194
+ _: 1
2195
+ }),
2196
+ e.task.progress ? (r(), k(p, {
2197
+ key: 0,
2198
+ label: "进度详情",
2199
+ span: 2
2200
+ }, {
2201
+ default: d(() => [
2202
+ v(yt, {
2203
+ task: e.task,
2204
+ resourceCount: i.value
2205
+ }, null, 8, ["task", "resourceCount"])
2206
+ ]),
2207
+ _: 1
2208
+ })) : $("", !0),
2209
+ e.task.result ? (r(), k(p, {
2210
+ key: 1,
2211
+ label: "任务结果",
2212
+ span: 2
2213
+ }, {
2214
+ default: d(() => [
2215
+ v(At, {
2216
+ task: e.task,
2217
+ videoCount: t.value,
2218
+ resourceCount: i.value
2219
+ }, null, 8, ["task", "videoCount", "resourceCount"])
2220
+ ]),
2221
+ _: 1
2222
+ })) : $("", !0),
2223
+ e.task.error ? (r(), k(p, {
2224
+ key: 2,
2225
+ label: "错误信息",
2226
+ span: 2,
2227
+ style: { color: "var(--el-color-danger)" }
2228
+ }, {
2229
+ default: d(() => [
2230
+ A(m(e.task.error), 1)
2231
+ ]),
2232
+ _: 1
2233
+ })) : $("", !0),
2234
+ v(p, { label: "操作用户" }, {
2235
+ default: d(() => [
2236
+ u[1] || (u[1] = a("div", {
2237
+ class: "uid-icon",
2238
+ style: { display: "inline-block" }
2239
+ }, null, -1)),
2240
+ A(" " + m(e.task.userCookie.uid), 1)
2241
+ ]),
2242
+ _: 1
2243
+ }),
2244
+ I(c.$slots, "default", {}, void 0, !0)
2245
+ ]),
2246
+ _: 3
2247
+ }),
2248
+ a("div", Yn, [
2249
+ u[2] || (u[2] = a("div", { class: "header" }, "视频列表:", -1)),
2250
+ a("div", {
2251
+ class: "video-list",
2252
+ ref_key: "refVideoList",
2253
+ ref: n
2254
+ }, [
2255
+ (r(!0), f(R, null, O(e.task.videos, (g, b) => (r(), f("div", {
2256
+ class: "video-item",
2257
+ key: g.snapshot.aid
2258
+ }, [
2259
+ a("div", Xn, [
2260
+ a("span", null, "#" + m(b + 1), 1)
2261
+ ]),
2262
+ v(Wn, {
2263
+ video: g,
2264
+ onOpenFolder: (x) => o(b, x)
2265
+ }, null, 8, ["video", "onOpenFolder"])
2266
+ ]))), 128))
2267
+ ], 512)
2268
+ ])
2269
+ ])) : $("", !0)
2270
+ ]),
2271
+ _: 3
2272
+ }, 8, ["modelValue"])
2273
+ ]);
2274
+ };
2275
+ }
2276
+ }), ta = /* @__PURE__ */ L(ea, [["__scopeId", "data-v-61e2a51e"]]), sa = { class: "download-task-card" }, la = { class: "cover" }, na = { class: "cover-image" }, aa = { class: "cover-placeholder" }, oa = { class: "download-cover-stats" }, ia = { class: "download-stats__duration" }, ca = { class: "time" }, ra = { class: "content" }, ua = { class: "header" }, da = { class: "actions" }, va = /* @__PURE__ */ B({
2277
+ __name: "DownloadItem",
2278
+ props: {
2279
+ task: {}
2280
+ },
2281
+ emits: ["action"],
2282
+ setup(e) {
2283
+ const l = e, s = C(() => l.task.videos[0].snapshot.pic), t = C(() => l.task.videos.reduce((o, c) => o + c.parts.length, 0)), i = C(
2284
+ () => l.task.videos.reduce((o, c) => o + c.parts.reduce((u, p) => u + p.resources.length, 0), 0)
2285
+ ), n = C(
2286
+ () => l.task.videos.reduce((o, c) => o + c.parts.reduce((u, p) => u + p.snapshot.duration, 0), 0)
2287
+ );
2288
+ return (o, c) => {
2289
+ const u = Ie, p = lt, _ = ae, w = Z;
2290
+ return r(), f("div", sa, [
2291
+ a("div", la, [
2292
+ a("div", na, [
2293
+ v(p, {
2294
+ src: s.value,
2295
+ fit: "cover"
2296
+ }, {
2297
+ error: d(() => [
2298
+ a("div", aa, [
2299
+ v(u, null, {
2300
+ default: d(() => [
2301
+ v(h(it))
2302
+ ]),
2303
+ _: 1
2304
+ })
2305
+ ])
2306
+ ]),
2307
+ _: 1
2308
+ }, 8, ["src"]),
2309
+ a("div", oa, [
2310
+ c[6] || (c[6] = a("span", null, null, -1)),
2311
+ a("span", ia, m(h(De)(n.value)), 1)
2312
+ ])
2313
+ ]),
2314
+ a("span", ca, m(h(fe)(e.task.createdAt)), 1)
2315
+ ]),
2316
+ a("div", ra, [
2317
+ a("div", ua, [
2318
+ v(_, {
2319
+ class: "title",
2320
+ content: e.task.title
2321
+ }, {
2322
+ default: d(() => [
2323
+ A(m(e.task.title), 1)
2324
+ ]),
2325
+ _: 1
2326
+ }, 8, ["content"]),
2327
+ v(ht, { task: e.task }, null, 8, ["task"]),
2328
+ I(o.$slots, "titleExtra", { task: e.task }, void 0, !0)
2329
+ ]),
2330
+ v(wt, { task: e.task }, null, 8, ["task"]),
2331
+ v(yt, {
2332
+ task: e.task,
2333
+ resourceCount: i.value
2334
+ }, null, 8, ["task", "resourceCount"]),
2335
+ v(At, {
2336
+ task: e.task,
2337
+ videoCount: t.value,
2338
+ resourceCount: i.value
2339
+ }, null, 8, ["task", "videoCount", "resourceCount"]),
2340
+ e.task.error ? (r(), k(_, {
2341
+ key: 0,
2342
+ class: "error",
2343
+ content: e.task.error
2344
+ }, {
2345
+ default: d(() => [
2346
+ A(m(e.task.error), 1)
2347
+ ]),
2348
+ _: 1
2349
+ }, 8, ["content"])) : $("", !0),
2350
+ a("div", da, [
2351
+ v(w, {
2352
+ size: "small",
2353
+ onClick: c[0] || (c[0] = (g) => o.$emit("action", "show-details", e.task))
2354
+ }, {
2355
+ default: d(() => [...c[7] || (c[7] = [
2356
+ A(" 详情 ", -1)
2357
+ ])]),
2358
+ _: 1
2359
+ }),
2360
+ v(w, {
2361
+ size: "small",
2362
+ onClick: c[1] || (c[1] = (g) => o.$emit("action", "open-folder", e.task))
2363
+ }, {
2364
+ default: d(() => [...c[8] || (c[8] = [
2365
+ A(" 打开文件夹 ", -1)
2366
+ ])]),
2367
+ _: 1
2368
+ }),
2369
+ e.task.status === "downloading" ? (r(), k(w, {
2370
+ key: 0,
2371
+ size: "small",
2372
+ onClick: c[2] || (c[2] = (g) => o.$emit("action", "pause", e.task))
2373
+ }, {
2374
+ default: d(() => [...c[9] || (c[9] = [
2375
+ A(" 暂停 ", -1)
2376
+ ])]),
2377
+ _: 1
2378
+ })) : $("", !0),
2379
+ e.task.status === "paused" || e.task.status === "pending" ? (r(), k(w, {
2380
+ key: 1,
2381
+ size: "small",
2382
+ onClick: c[3] || (c[3] = (g) => o.$emit("action", "cancel", e.task))
2383
+ }, {
2384
+ default: d(() => [...c[10] || (c[10] = [
2385
+ A(" 取消 ", -1)
2386
+ ])]),
2387
+ _: 1
2388
+ })) : $("", !0),
2389
+ e.task.status === "paused" ? (r(), k(w, {
2390
+ key: 2,
2391
+ size: "small",
2392
+ onClick: c[4] || (c[4] = (g) => o.$emit("action", "resume", e.task))
2393
+ }, {
2394
+ default: d(() => [...c[11] || (c[11] = [
2395
+ A(" 继续 ", -1)
2396
+ ])]),
2397
+ _: 1
2398
+ })) : $("", !0),
2399
+ v(w, {
2400
+ size: "small",
2401
+ onClick: c[5] || (c[5] = (g) => o.$emit("action", "delete", e.task))
2402
+ }, {
2403
+ default: d(() => [...c[12] || (c[12] = [
2404
+ A(" 删除 ", -1)
2405
+ ])]),
2406
+ _: 1
2407
+ })
2408
+ ])
2409
+ ])
2410
+ ]);
2411
+ };
2412
+ }
2413
+ }), pa = /* @__PURE__ */ L(va, [["__scopeId", "data-v-71192ed6"]]);
2414
+ function ma(e) {
2415
+ return new Promise((l, s) => {
2416
+ const t = z(!0), i = document.createElement("div");
2417
+ document.body.appendChild(i);
2418
+ let n = null;
2419
+ function o() {
2420
+ setTimeout(() => {
2421
+ n?.unmount(), i.remove();
2422
+ });
2423
+ }
2424
+ n = ze({
2425
+ render() {
2426
+ return It(sn, {
2427
+ ...e,
2428
+ visible: t.value,
2429
+ onConfirm(c) {
2430
+ t.value = !1, l({
2431
+ deleteSourceFile: c
2432
+ }), o();
2433
+ },
2434
+ onCancel() {
2435
+ t.value = !1, s(We()), o();
2436
+ }
2437
+ });
2438
+ }
2439
+ }), n?.mount(i);
2440
+ });
2441
+ }
2442
+ const ga = async (e) => {
2443
+ await H.download.openFolder(e.id, 0, 0);
2444
+ }, fa = async (e) => {
2445
+ await H.download.pause(e.id), Y("暂停任务成功");
2446
+ }, _a = async (e) => {
2447
+ await H.download.resume(e.id), Y("正在继续下载");
2448
+ }, ha = async (e) => {
2449
+ await H.download.cancel(e.id), Y("取消任务成功");
2450
+ }, wa = async (e) => {
2451
+ const { deleteSourceFile: l } = await ma({
2452
+ message: "确定删除该下载任务吗?"
2453
+ });
2454
+ await H.download.remove(e.id, {
2455
+ deleteFiles: l
2456
+ });
2457
+ }, ya = { class: "header" }, Aa = { class: "query-list" }, ka = { class: "actions" }, ba = { class: "download-list-container" }, Ca = /* @__PURE__ */ B({
2458
+ __name: "DownloadManagePage",
2459
+ props: {
2460
+ showDefaultActions: { type: Boolean, default: !0 },
2461
+ pageSizes: { default: () => [20, 40, 100] }
2462
+ },
2463
+ setup(e, { expose: l }) {
2464
+ const s = e, t = K("refList"), i = z({
2465
+ pageNum: 1,
2466
+ pageSize: s.pageSizes[0]
2467
+ }), n = z("all"), o = z({
2468
+ status: void 0,
2469
+ title: ""
2470
+ }), c = () => {
2471
+ n.value === "all" ? o.value.status = void 0 : o.value.status = n.value, g();
2472
+ }, {
2473
+ pageData: u,
2474
+ tableData: p,
2475
+ loading: _,
2476
+ refresh: w,
2477
+ resetAndRefresh: g,
2478
+ resetPageAndRefresh: b,
2479
+ handleSizeChange: x,
2480
+ handleCurrPageChange: M
2481
+ } = ot({
2482
+ fetchPage: H.download.fetchPage,
2483
+ pageParams: () => i.value,
2484
+ queryParams: () => o.value,
2485
+ autoLoad: !0,
2486
+ onLoaded: () => {
2487
+ we(() => t.value?.scrollTo(0, 0));
2488
+ }
2489
+ }), E = z({
2490
+ visible: !1
2491
+ }), D = async (P, y) => {
2492
+ switch (P) {
2493
+ case "show-details":
2494
+ E.value.task = y, E.value.visible = !0;
2495
+ break;
2496
+ case "open-folder":
2497
+ await ga(y);
2498
+ break;
2499
+ case "pause":
2500
+ await fa(y);
2501
+ break;
2502
+ case "resume":
2503
+ await _a(y);
2504
+ break;
2505
+ case "cancel":
2506
+ await ha(y);
2507
+ break;
2508
+ case "delete":
2509
+ await wa(y);
2510
+ const S = p.value.findIndex((U) => U.id === y.id);
2511
+ S > -1 && p.value.splice(S, 1), p.value.length < 1 && await b(), Y("删除任务成功");
2512
+ break;
2513
+ }
2514
+ };
2515
+ let V = null;
2516
+ ne(async () => {
2517
+ V = await H.download.onUpdated((P) => {
2518
+ for (let y = 0; y < p.value.length; y++) {
2519
+ const S = p.value[y];
2520
+ if (S.id === P.id) {
2521
+ n.value === "all" || S.status === P.status ? Object.assign(S, P) : p.value.splice(y, 1);
2522
+ return;
2523
+ }
2524
+ }
2525
+ });
2526
+ }), ce(() => {
2527
+ V?.();
2528
+ });
2529
+ const F = C(() => o.value.status ? `暂无${Ge[o.value.status]}的任务` : "暂无下载任务");
2530
+ return l({
2531
+ refresh: w,
2532
+ resetAndRefresh: g
2533
+ }), (P, y) => {
2534
+ const S = fs, U = gs, X = Je, ee = Z, q = et, ue = tt;
2535
+ return r(), f(R, null, [
2536
+ a("div", ya, [
2537
+ a("div", Aa, [
2538
+ I(P.$slots, "queryList", {}, () => [
2539
+ v(U, {
2540
+ modelValue: n.value,
2541
+ "onUpdate:modelValue": y[0] || (y[0] = (Q) => n.value = Q),
2542
+ size: "small",
2543
+ onChange: c
2544
+ }, {
2545
+ default: d(() => [
2546
+ v(S, {
2547
+ label: "全部",
2548
+ value: "all"
2549
+ }),
2550
+ v(S, {
2551
+ label: "已完成",
2552
+ value: "completed"
2553
+ }),
2554
+ v(S, {
2555
+ label: "下载中",
2556
+ value: "downloading"
2557
+ }),
2558
+ v(S, {
2559
+ label: "暂停中",
2560
+ value: "paused"
2561
+ }),
2562
+ v(S, {
2563
+ label: "已失败",
2564
+ value: "failed"
2565
+ })
2566
+ ]),
2567
+ _: 1
2568
+ }, 8, ["modelValue"]),
2569
+ v(X, {
2570
+ modelValue: o.value.title,
2571
+ "onUpdate:modelValue": y[1] || (y[1] = (Q) => o.value.title = Q),
2572
+ onChange: h(b),
2573
+ size: "small",
2574
+ placeholder: "标题",
2575
+ clearable: "",
2576
+ style: { width: "80px" }
2577
+ }, null, 8, ["modelValue", "onChange"])
2578
+ ], !0)
2579
+ ]),
2580
+ a("div", ka, [
2581
+ I(P.$slots, "actions", {}, void 0, !0),
2582
+ e.showDefaultActions ? (r(), f(R, { key: 0 }, [
2583
+ v(ee, {
2584
+ size: "small",
2585
+ onClick: y[2] || (y[2] = (Q) => h(H).download.pauseAll())
2586
+ }, {
2587
+ default: d(() => [...y[7] || (y[7] = [
2588
+ A("暂停所有任务", -1)
2589
+ ])]),
2590
+ _: 1
2591
+ }),
2592
+ v(ee, {
2593
+ size: "small",
2594
+ onClick: y[3] || (y[3] = (Q) => h(H).download.resumeAll())
2595
+ }, {
2596
+ default: d(() => [...y[8] || (y[8] = [
2597
+ A("继续所有任务", -1)
2598
+ ])]),
2599
+ _: 1
2600
+ })
2601
+ ], 64)) : $("", !0)
2602
+ ])
2603
+ ]),
2604
+ a("div", ba, [
2605
+ a("div", {
2606
+ ref_key: "refList",
2607
+ ref: t,
2608
+ class: "download-list"
2609
+ }, [
2610
+ (r(!0), f(R, null, O(h(p), (Q) => (r(), k(pa, {
2611
+ task: Q,
2612
+ key: Q.id,
2613
+ onAction: D
2614
+ }, {
2615
+ titleExtra: d((j) => [
2616
+ I(P.$slots, "itemTitleExtra", G({ ref_for: !0 }, j), void 0, !0)
2617
+ ]),
2618
+ _: 3
2619
+ }, 8, ["task"]))), 128)),
2620
+ h(p).length ? $("", !0) : (r(), k(q, {
2621
+ key: 0,
2622
+ description: F.value
2623
+ }, null, 8, ["description"]))
2624
+ ], 512)
2625
+ ]),
2626
+ v(ue, {
2627
+ class: "pagination",
2628
+ "current-page": h(u).pageNum,
2629
+ "onUpdate:currentPage": y[4] || (y[4] = (Q) => h(u).pageNum = Q),
2630
+ "page-size": h(u).pageSize,
2631
+ "onUpdate:pageSize": y[5] || (y[5] = (Q) => h(u).pageSize = Q),
2632
+ "page-sizes": e.pageSizes,
2633
+ total: h(u).total,
2634
+ layout: "total, sizes, prev, pager, next, jumper",
2635
+ onCurrentChange: h(M),
2636
+ onSizeChange: h(x)
2637
+ }, null, 8, ["current-page", "page-size", "page-sizes", "total", "onCurrentChange", "onSizeChange"]),
2638
+ v(ta, {
2639
+ modelValue: E.value.visible,
2640
+ "onUpdate:modelValue": y[6] || (y[6] = (Q) => E.value.visible = Q),
2641
+ task: E.value.task
2642
+ }, {
2643
+ default: d(() => [
2644
+ E.value.task ? I(P.$slots, "detailsDialog", {
2645
+ key: 0,
2646
+ task: E.value.task
2647
+ }, void 0, !0) : $("", !0)
2648
+ ]),
2649
+ _: 3
2650
+ }, 8, ["modelValue", "task"])
2651
+ ], 64);
2652
+ };
2653
+ }
2654
+ }), Ro = /* @__PURE__ */ L(Ca, [["__scopeId", "data-v-19b20db4"]]);
1573
2655
  export {
1574
- j as AppIcon,
1575
- Be as AppTooltip,
1576
- Gl as BiliUserCard,
1577
- An as BiliUserInfo,
1578
- un as CountdownDialog,
1579
- hn as ExternalLink,
1580
- mn as IconButton,
1581
- fn as IconLabel,
1582
- fl as LoadingDialog,
1583
- _n as LogPrint,
1584
- ul as PageRangeDialog,
1585
- bn as PageTable,
1586
- Ze as PluginMenuItem,
1587
- ls as PluginMenus,
1588
- yn as PluginPageContent,
1589
- wn as PluginPageHeader,
1590
- kl as ProcessDialog,
1591
- sl as SelectDialog,
1592
- cn as SettingGroup,
1593
- rn as SettingItem,
1594
- be as baseUpdateThemeColor,
1595
- Qe as blackColor,
1596
- ln as handleError,
1597
- Ks as initAppTheme,
1598
- tn as initBilitoolkitUi,
1599
- ge as initTransparentColors,
1600
- xe as isDarkTheme,
1601
- pn as loadingDialog,
1602
- gn as processDialog,
1603
- $t as showConfirm,
1604
- nn as showConfirmSequence,
1605
- X as showError,
1606
- vn as showPageRangeDialog,
1607
- dn as showSelectDialog,
1608
- Ce as showToast,
1609
- sn as showWarning,
1610
- Ys as switchDefaultTheme,
1611
- Xs as switchThemeMode,
1612
- R as toolkitApi,
1613
- re as updateAppTheme,
1614
- en as updatePrimaryColor,
1615
- de as useAppThemeStore,
1616
- an as useAutoRefreshData,
1617
- Jt as useCountdown,
1618
- Lt as useElementHeight,
1619
- Ee as useLoadingData,
1620
- Tt as usePageTable,
1621
- on as useSelectData,
1622
- je as useSelectedUserStore,
1623
- Pe as whiteColor
2656
+ N as AppIcon,
2657
+ ae as AppTooltip,
2658
+ zl as BiliUserCard,
2659
+ Qo as BiliUserInfo,
2660
+ So as CountdownDialog,
2661
+ sn as DeleteConfirmDialog,
2662
+ ta as DownloadDetailsDialog,
2663
+ pa as DownloadItem,
2664
+ Ro as DownloadManagePage,
2665
+ wt as DownloadProgress,
2666
+ yt as DownloadProgressDetails,
2667
+ An as DownloadResourceTag,
2668
+ At as DownloadResult,
2669
+ ht as DownloadStatus,
2670
+ Wn as DownloadVideoCard,
2671
+ En as DownloadVideoPartCard,
2672
+ Mo as ExternalLink,
2673
+ Io as IconButton,
2674
+ ct as IconLabel,
2675
+ Ks as LoadingDialog,
2676
+ Vo as LogPrint,
2677
+ js as PageRangeDialog,
2678
+ Lo as PageTable,
2679
+ gt as PluginMenuItem,
2680
+ Tl as PluginMenus,
2681
+ To as PluginPageContent,
2682
+ Ho as PluginPageHeader,
2683
+ rl as ProcessDialog,
2684
+ Ts as SelectDialog,
2685
+ Eo as SettingGroup,
2686
+ Bo as SettingItem,
2687
+ yn as VideoStatsInfo,
2688
+ Me as baseUpdateThemeColor,
2689
+ Re as blackColor,
2690
+ $e as formatBytes,
2691
+ ln as formatSpeed,
2692
+ qe as formatStatCount,
2693
+ ha as handleCancel,
2694
+ wa as handleDelete,
2695
+ Ao as handleError,
2696
+ ga as handleOpenFolder,
2697
+ fa as handlePause,
2698
+ _a as handleResume,
2699
+ fo as initAppTheme,
2700
+ yo as initBilitoolkitUi,
2701
+ ke as initTransparentColors,
2702
+ Ve as isDarkTheme,
2703
+ Do as loadingDialog,
2704
+ Bn as parseVideoZoneLabel,
2705
+ Po as processDialog,
2706
+ ws as showConfirm,
2707
+ bo as showConfirmSequence,
2708
+ ma as showDeleteConfirmDialog,
2709
+ ie as showError,
2710
+ zo as showPageRangeDialog,
2711
+ $o as showSelectDialog,
2712
+ Y as showToast,
2713
+ ko as showWarning,
2714
+ _o as switchDefaultTheme,
2715
+ ho as switchThemeMode,
2716
+ H as toolkitApi,
2717
+ _e as updateAppTheme,
2718
+ wo as updatePrimaryColor,
2719
+ ye as useAppThemeStore,
2720
+ Co as useAutoRefreshData,
2721
+ zs as useCountdown,
2722
+ ys as useElementHeight,
2723
+ Qe as useLoadingData,
2724
+ ot as usePageTable,
2725
+ xo as useSelectData,
2726
+ at as useSelectedUserStore,
2727
+ Le as whiteColor
1624
2728
  };