halo-fe 1.0.21 → 1.0.22

Sign up to get free protection for your applications and to get access to all the features.
package/dist/main.js CHANGED
@@ -1,8 +1,8 @@
1
1
  var vt = Object.defineProperty;
2
2
  var wt = (u, t, e) => t in u ? vt(u, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : u[t] = e;
3
3
  var n = (u, t, e) => wt(u, typeof t != "symbol" ? t + "" : t, e);
4
- import { _ as Re } from "./assets/underscore-B0BCaBxV.js";
5
- import { defineAsyncComponent as bt, reactive as Ge, defineComponent as Q, toRefs as te, openBlock as O, createElementBlock as B, createElementVNode as D, toDisplayString as he, unref as y, renderSlot as pe, createCommentVNode as Ze, watch as J, ref as I, onMounted as we, onUnmounted as be, normalizeStyle as fe, normalizeClass as Le, createTextVNode as xt, createBlock as He, withCtx as qe, mergeModels as Ke, useModel as et, nextTick as We, withDirectives as kt, vShow as St, createVNode as Ce, createStaticVNode as Ct, isRef as je, Fragment as Et, renderList as Tt, computed as Ee } from "vue";
4
+ import { _ as Ie } from "./assets/underscore-B0BCaBxV.js";
5
+ import { defineAsyncComponent as bt, reactive as Ye, defineComponent as Q, toRefs as se, openBlock as I, createElementBlock as B, createElementVNode as D, toDisplayString as de, unref as y, renderSlot as he, createCommentVNode as Ge, watch as J, ref as R, onMounted as ve, onUnmounted as we, normalizeStyle as pe, normalizeClass as $e, createTextVNode as xt, createBlock as Ze, withCtx as Fe, mergeModels as Ve, useModel as He, nextTick as ze, withDirectives as kt, vShow as St, createVNode as Se, createStaticVNode as Ct, isRef as Oe, Fragment as Et, renderList as Tt, computed as Ce } from "vue";
6
6
  import { _ as $t } from "./assets/underscore.string-oDfap0sE.js";
7
7
  import { a as Lt } from "./assets/clone-DtpAsLoe.js";
8
8
  import { F as At } from "./assets/file-saver-Cnua3zoa.js";
@@ -29,7 +29,7 @@ n(F, "isNumber", (t) => {
29
29
  * 判断输入类型是否是isBoolean类型
30
30
  */
31
31
  n(F, "isBoolean", (t) => Object.prototype.toString.call(t) == "[object Boolean]");
32
- const M = class M {
32
+ const q = class q {
33
33
  /**
34
34
  * 获取最大值
35
35
  */
@@ -69,64 +69,64 @@ const M = class M {
69
69
  /**
70
70
  * 过滤某一页数据
71
71
  */
72
- n(M, "filterPage", (t, e, s) => {
72
+ n(q, "filterPage", (t, e, s) => {
73
73
  let l = (e - 1) * s, r = e * s;
74
74
  return t.filter((a, o) => o >= l && o < r);
75
75
  }), /**
76
76
  * 总页数
77
77
  */
78
- n(M, "pageCount", (t, e) => Math.ceil(t / e)), //#endregion
78
+ n(q, "pageCount", (t, e) => Math.ceil(t / e)), //#endregion
79
79
  //#region 求值
80
80
  /**
81
81
  * 四舍五入
82
82
  */
83
- n(M, "round", (t, e) => t.toFixed(e)), /**
83
+ n(q, "round", (t, e) => t.toFixed(e)), /**
84
84
  * 天花板函数
85
85
  */
86
- n(M, "ceil", (t) => Math.ceil(t)), //#endregion
86
+ n(q, "ceil", (t) => Math.ceil(t)), //#endregion
87
87
  //#region 进度
88
88
  /**
89
89
  * 获取百分比
90
90
  */
91
- n(M, "getPercentage", (t, e) => {
91
+ n(q, "getPercentage", (t, e) => {
92
92
  if (!t || !e)
93
93
  return 0;
94
- let s = t / e * 100, l = M.round(s, 2);
94
+ let s = t / e * 100, l = q.round(s, 2);
95
95
  return parseFloat(l);
96
96
  }), /**
97
97
  * 获取进度文本
98
98
  */
99
- n(M, "getProgressText", (t, e) => `${t ?? "-"}/${e ?? "-"}`), /**
99
+ n(q, "getProgressText", (t, e) => `${t ?? "-"}/${e ?? "-"}`), /**
100
100
  * 获取百分比,保留2位小数
101
101
  */
102
- n(M, "getPercentageText", (t, e) => M.getPercentage(t, e).toFixed(2)), //#endregion
102
+ n(q, "getPercentageText", (t, e) => q.getPercentage(t, e).toFixed(2)), //#endregion
103
103
  /**
104
104
  * 获取大小
105
105
  */
106
- n(M, "size", (t) => {
106
+ n(q, "size", (t) => {
107
107
  if (!t)
108
108
  return "OKB";
109
109
  let e = 1024, s = e * 1024;
110
110
  if (t < s)
111
- return M.round(t / e, 2) + "KB";
111
+ return q.round(t / e, 2) + "KB";
112
112
  let l = s * 1024;
113
113
  if (t < l)
114
- return M.round(t / s, 2) + "MB";
114
+ return q.round(t / s, 2) + "MB";
115
115
  let r = l * 1024;
116
116
  if (t < r)
117
- return M.round(t / l, 2) + "GB";
117
+ return q.round(t / l, 2) + "GB";
118
118
  let i = r * 1024;
119
119
  if (t < i)
120
- return M.round(t / r, 2) + "TB";
120
+ return q.round(t / r, 2) + "TB";
121
121
  throw new Error("暂未支持比TB更大的大小");
122
122
  });
123
- let re = M;
123
+ let Z = q;
124
124
  const S = class S {
125
125
  /**
126
126
  * 获取分成指定片数量后的集合
127
127
  */
128
128
  static getChunksByCount(t, e) {
129
- let s = [], l = re.ceil(t.length / e);
129
+ let s = [], l = Z.ceil(t.length / e);
130
130
  for (let r = 0; r < t.length; r += l) {
131
131
  let i = this.getRange(t, r, l);
132
132
  s.push(i);
@@ -214,10 +214,10 @@ n(S, "except", (t, e, s = null) => {
214
214
  /**
215
215
  * 求最大值,数据类型的比较函数要自己转换为数值类型
216
216
  */
217
- n(S, "max", (t, e) => Re.max(t, e)), /**
217
+ n(S, "max", (t, e) => Ie.max(t, e)), /**
218
218
  * 求最小值,数据类型的比较函数要自己转换为数值类型
219
219
  */
220
- n(S, "min", (t, e) => Re.min(t, e)), /**
220
+ n(S, "min", (t, e) => Ie.min(t, e)), /**
221
221
  * 求平均值
222
222
  */
223
223
  n(S, "avg", (t, e, s = null) => {
@@ -301,7 +301,7 @@ n(S, "split", (t, e, s = null) => {
301
301
  * 合并多个数组中的每一项到新的二维数组中,没值的元素被有值的元素代替
302
302
  */
303
303
  n(S, "combine", (...t) => {
304
- let e = [], s = Re.max(t, (l) => l.length);
304
+ let e = [], s = Ie.max(t, (l) => l.length);
305
305
  for (let l = 0; l < s.length; l++) {
306
306
  let r = [], i;
307
307
  for (let a = 0; a < t.length; a++) {
@@ -399,13 +399,7 @@ n(S, "groupByArray", (t, e) => {
399
399
  }), s;
400
400
  });
401
401
  let oe = S;
402
- const x = class x {
403
- /**
404
- * 根据字符串或数组,自动返回数组
405
- */
406
- static getArray(t) {
407
- return t == null ? [] : typeof t == "string" ? [t.toString()] : t instanceof Array ? t : [];
408
- }
402
+ const b = class b {
409
403
  /**
410
404
  * 忽略大小写比较
411
405
  */
@@ -413,11 +407,19 @@ const x = class x {
413
407
  let s = t.toUpperCase(), l = e.toUpperCase();
414
408
  return s == l;
415
409
  }
410
+ /**
411
+ * 根据字符串或数组,自动返回数组
412
+ */
413
+ static getArray(t) {
414
+ return t == null ? [] : typeof t == "string" ? [t.toString()] : t instanceof Array ? t : [];
415
+ }
416
+ //#endregion
416
417
  };
418
+ //#region 生成
417
419
  /**
418
420
  * 生成唯一字符串
419
421
  */
420
- n(x, "getUniqueId", (t = 32) => {
422
+ n(b, "getUniqueId", (t = 32) => {
421
423
  let e = "";
422
424
  for (let s = 0; s < t; s++)
423
425
  e += Math.random().toString(36).charAt(2);
@@ -425,10 +427,14 @@ n(x, "getUniqueId", (t = 32) => {
425
427
  }), /**
426
428
  * 填充字符串到指定长度,使用pad填充
427
429
  */
428
- n(x, "padLeft", (t, e, s) => $t.pad(t, e, s)), /**
430
+ n(b, "padLeft", (t, e, s) => $t.pad(t, e, s)), /**
431
+ * 填充字符串到指定长度,使用pad填充
432
+ */
433
+ n(b, "padStart", (t, e, s) => t.padStart(e, s)), //#endregion
434
+ /**
429
435
  * 去掉头部字符串
430
436
  */
431
- n(x, "trimStart", (t, e) => {
437
+ n(b, "trimStart", (t, e) => {
432
438
  if (e == null)
433
439
  return t;
434
440
  let s = t.indexOf(e);
@@ -436,7 +442,7 @@ n(x, "trimStart", (t, e) => {
436
442
  }), /**
437
443
  * 去掉尾部字符串
438
444
  */
439
- n(x, "trimEnd", (t, e) => {
445
+ n(b, "trimEnd", (t, e) => {
440
446
  if (e == null)
441
447
  return t;
442
448
  let s = t.lastIndexOf(e);
@@ -444,13 +450,13 @@ n(x, "trimEnd", (t, e) => {
444
450
  }), /**
445
451
  * 去掉头尾字符串
446
452
  */
447
- n(x, "trim", (t, e, s) => {
448
- let l = x.trimStart(t, e);
449
- return x.trimEnd(l, s);
453
+ n(b, "trim", (t, e, s) => {
454
+ let l = b.trimStart(t, e);
455
+ return b.trimEnd(l, s);
450
456
  }), /**
451
457
  * 获取中划线命名法
452
458
  */
453
- n(x, "getDashName", (t) => {
459
+ n(b, "getDashName", (t) => {
454
460
  if (!t)
455
461
  return null;
456
462
  let e = "";
@@ -459,31 +465,26 @@ n(x, "getDashName", (t) => {
459
465
  l == "/" ? e += "-" : l >= "A" && l <= "Z" ? (s > 0 && t[s - 1] != "/" && (e += "-"), e += l.toLowerCase()) : e += l;
460
466
  }
461
467
  return e;
462
- }), /**
463
- * 忽略大小写包含判断,支持从数组中搜索关键词
468
+ }), //#region 判断
469
+ /**
470
+ * 判断字符串是否为空或空串
464
471
  */
465
- n(x, "containsIgnoreCase", (t, e) => {
466
- if (!t)
467
- return !0;
468
- let s = e instanceof Array ? e : [e];
469
- for (let l = 0; l < s.length; l++) {
470
- let r = s[l];
471
- if (!r)
472
- return !1;
473
- if (r.toString().toUpperCase().includes(t.toUpperCase()))
474
- return !0;
475
- }
476
- return !1;
477
- }), /**
472
+ n(b, "isNullOrEmpty", (t) => t == null || b.isEmpty(t)), /**
473
+ * 判断字符串是否为空或空串
474
+ */
475
+ n(b, "isEmpty", (t) => t == ""), /**
476
+ * 判断是否符合密码要求
477
+ */
478
+ n(b, "isPassword", (t) => !0), /**
478
479
  * 判断是否是数字类型,这样支持0
479
480
  */
480
- n(x, "isNumber", (t) => t != null && !isNaN(t)), /**
481
+ n(b, "isNumber", (t) => t != null && !isNaN(t)), /**
481
482
  * 验证是否是邮箱格式
482
483
  */
483
- n(x, "isEmail", (t) => /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(t)), /**
484
+ n(b, "isEmail", (t) => /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(t)), /**
484
485
  * 判断是否是json
485
486
  */
486
- n(x, "isJson", (t) => {
487
+ n(b, "isJson", (t) => {
487
488
  try {
488
489
  if (!t)
489
490
  return !1;
@@ -495,15 +496,15 @@ n(x, "isJson", (t) => {
495
496
  }), /**
496
497
  * 判断是否是isJsonp
497
498
  */
498
- n(x, "isJsonp", (t) => {
499
+ n(b, "isJsonp", (t) => {
499
500
  if (!t)
500
501
  return !1;
501
502
  let e = t.indexOf("("), s = t.lastIndexOf(")"), l = t.substring(e + 1, s);
502
- return !!x.isJson(l);
503
+ return !!b.isJson(l);
503
504
  }), /**
504
505
  * 判断是否是html
505
506
  */
506
- n(x, "isHtml", (t) => {
507
+ n(b, "isHtml", (t) => {
507
508
  if (!t)
508
509
  return !1;
509
510
  let e = document.createElement("div");
@@ -513,41 +514,67 @@ n(x, "isHtml", (t) => {
513
514
  return !0;
514
515
  return !1;
515
516
  }), /**
516
- * 获取内容类型
517
- */
518
- n(x, "getContentType", (t) => x.isJson(t) || x.isJsonp(t) ? "json" : x.isHtml(t) ? "html" : "text"), /**
519
- * 判断字符串是否为空或空串
517
+ * 是否以字符串开头
520
518
  */
521
- n(x, "isNullOrEmpty", (t) => t == null || x.isEmpty(t)), /**
522
- * 判断字符串是否为空或空串
519
+ n(b, "startWith", (t, e) => t == null ? !1 : t.startsWith(e)), //#endregion
520
+ //#region 包含
521
+ /**
522
+ * 忽略大小写包含判断,支持从数组中搜索关键词
523
523
  */
524
- n(x, "isEmpty", (t) => t == ""), /**
525
- * 判断是否符合密码要求
524
+ n(b, "containsIgnoreCase", (t, e) => {
525
+ if (!t)
526
+ return !0;
527
+ let s = e instanceof Array ? e : [e];
528
+ for (let l = 0; l < s.length; l++) {
529
+ let r = s[l];
530
+ if (!r)
531
+ return !1;
532
+ if (r.toString().toUpperCase().includes(t.toUpperCase()))
533
+ return !0;
534
+ }
535
+ return !1;
536
+ }), //#endregion
537
+ /**
538
+ * 获取内容类型
526
539
  */
527
- n(x, "isPassword", (t) => !0), /**
540
+ n(b, "getContentType", (t) => b.isJson(t) || b.isJsonp(t) ? "json" : b.isHtml(t) ? "html" : "text"), //#region 获取值
541
+ /**
528
542
  * 获取数据值或者空
529
543
  */
530
- n(x, "getNumberOrNull", (t) => t == null || isNaN(t) ? 0 : parseFloat(t)), /**
531
- * 格式化成留指定位数的小数
532
- */
533
- n(x, "format", (t, e) => {
534
- let s = parseFloat(t), l;
535
- return e ? l = s.toFixed(e).replace(/(\d)(?=(\d{3})+\.)/g, "$1,") : l = s.toLocaleString(), l;
536
- }), /**
544
+ n(b, "getNumberOrNull", (t) => t == null || isNaN(t) ? 0 : parseFloat(t)), /**
537
545
  * 获取两个字符串之间的字符串
538
546
  */
539
- n(x, "getBetween", (t, e, s) => {
547
+ n(b, "getBetween", (t, e, s) => {
540
548
  let l = t.indexOf(e);
541
549
  if (l == -1)
542
550
  return null;
543
551
  let r = l + e.length, i = t.substring(r), a = i.indexOf(s);
544
552
  return a == -1 ? null : i.substring(0, a);
553
+ }), //#endregion
554
+ //#region 格式化
555
+ /**
556
+ * 按占位符格式化成字符串
557
+ */
558
+ n(b, "format", (t, e) => {
559
+ if (t == null)
560
+ return t;
561
+ let s = [];
562
+ typeof e == "string" ? s.push(e) : s.push(...e);
563
+ let l = t;
564
+ for (let r = 0; r < s.length; r++) {
565
+ let i = s[r];
566
+ l = l.replace(`{${r}}`, i);
567
+ }
568
+ return l;
545
569
  }), /**
546
- * 填充字符串到指定长度,使用pad填充
570
+ * 格式化成留指定位数的小数
547
571
  */
548
- n(x, "padStart", (t, e, s) => t.padStart(e, s));
549
- let W = x;
550
- const Te = class Te {
572
+ n(b, "formatDigits", (t, e) => {
573
+ let s = parseFloat(t), l;
574
+ return e ? l = s.toFixed(e).replace(/(\d)(?=(\d{3})+\.)/g, "$1,") : l = s.toLocaleString(), l;
575
+ });
576
+ let M = b;
577
+ const Ee = class Ee {
551
578
  //#region 净化
552
579
  /**
553
580
  * 净化对象,返回不带默认属性的对象
@@ -619,7 +646,7 @@ const Te = class Te {
619
646
  static mergeTo(t, e) {
620
647
  return t == null ? e : e == null ? t : F.isArray(e) ? e.slice() : (Object.keys(e).forEach((l) => {
621
648
  let r = e[l];
622
- typeof r == "object" ? t[l] = Te.mergeTo(t[l], r) : t[l] = r;
649
+ typeof r == "object" ? t[l] = Ee.mergeTo(t[l], r) : t[l] = r;
623
650
  }), t);
624
651
  }
625
652
  //#endregion
@@ -645,7 +672,7 @@ const Te = class Te {
645
672
  /**
646
673
  * 手动复制,并对字段执行指定自定义处理
647
674
  */
648
- n(Te, "copy", (t, e = null) => {
675
+ n(Ee, "copy", (t, e = null) => {
649
676
  let s = [];
650
677
  F.isObject(t) && s.push(t);
651
678
  let l = [];
@@ -662,15 +689,15 @@ n(Te, "copy", (t, e = null) => {
662
689
  /**
663
690
  * 给对象添加多层属性,并赋值
664
691
  */
665
- n(Te, "addProperties", (t, e, s) => {
692
+ n(Ee, "addProperties", (t, e, s) => {
666
693
  let l = t;
667
694
  for (let r = 0; r < e.length; r++) {
668
695
  let i = e[r];
669
696
  r == e.length - 1 ? l[i] = s : (l[i] || (l[i] = {}), l = l[i]);
670
697
  }
671
698
  });
672
- let X = Te;
673
- class Be {
699
+ let X = Ee;
700
+ class _e {
674
701
  //#region 取值
675
702
  /**
676
703
  * 从指定字典中提取忽略大小写的key的值
@@ -731,7 +758,7 @@ class Be {
731
758
  }
732
759
  //#endregion
733
760
  }
734
- const z = class z {
761
+ const K = class K {
735
762
  /**
736
763
  * 获取指定地址路由对象
737
764
  */
@@ -860,7 +887,7 @@ const z = class z {
860
887
  */
861
888
  static serialize(t, e = !0) {
862
889
  let s = (r) => e ? encodeURIComponent(r) : r;
863
- return Be.join(t, s, "=", "&");
890
+ return _e.join(t, s, "=", "&");
864
891
  }
865
892
  //endregion
866
893
  //region 编码和解码
@@ -881,7 +908,7 @@ const z = class z {
881
908
  /**
882
909
  * 处理键值对的值
883
910
  */
884
- n(z, "handleQueryValue", (t, e) => {
911
+ n(K, "handleQueryValue", (t, e) => {
885
912
  let s = "";
886
913
  if (t == null)
887
914
  return s;
@@ -889,13 +916,13 @@ n(z, "handleQueryValue", (t, e) => {
889
916
  if (t.length > 0)
890
917
  for (let l = 0; l < t.length; l++) {
891
918
  let r = X.clone(e);
892
- r.push(""), s += z.handleQueryValue(t[l], r);
919
+ r.push(""), s += K.handleQueryValue(t[l], r);
893
920
  }
894
921
  } else if (t instanceof Object) {
895
922
  let l = Object.keys(t);
896
923
  for (let r of l) {
897
924
  let i = X.clone(e);
898
- i.push(r), s += z.handleQueryValue(t[r], i);
925
+ i.push(r), s += K.handleQueryValue(t[r], i);
899
926
  }
900
927
  } else {
901
928
  let l = "";
@@ -908,27 +935,27 @@ n(z, "handleQueryValue", (t, e) => {
908
935
  }), /**
909
936
  * 自动根据后面路径,决定是否要合并Url
910
937
  */
911
- n(z, "concatUrl", (t, e) => z.httpOrHttps(e) ? e : t + e), /**
938
+ n(K, "concatUrl", (t, e) => K.httpOrHttps(e) ? e : t + e), /**
912
939
  * 合并路径和查询对象(自动编码,并支持覆盖现有参数),得到完整URL地址,并会省略默认值
913
940
  * ? 对url参数不编码,只对 queryObj 参数编码,防止用户的参数被改成编码形式
914
941
  * ? 目前,对Url参数对象和目标对象都编码,因为源对象属性是经过解码的
915
942
  */
916
- n(z, "getUrl", (t, e = null) => {
943
+ n(K, "getUrl", (t, e = null) => {
917
944
  if (t == null)
918
945
  return null;
919
946
  if (e == null)
920
947
  return t;
921
- let s = z.deserialize(t), l = X.mergeTo(s, e);
922
- return z.getPath(t) + "?" + z.getQuery(l);
948
+ let s = K.deserialize(t), l = X.mergeTo(s, e);
949
+ return K.getPath(t) + "?" + K.getQuery(l);
923
950
  }), /**
924
951
  * 获取超链接配置对象
925
952
  */
926
- n(z, "getAnchor", (t, e = null) => {
953
+ n(K, "getAnchor", (t, e = null) => {
927
954
  let s = { href: null, target: null };
928
- return z.httpOrHttps(t) ? (s.href = t, s.target = "_blank", s) : (s.href = z.getUrl(t, e), s);
955
+ return K.httpOrHttps(t) ? (s.href = t, s.target = "_blank", s) : (s.href = K.getUrl(t, e), s);
929
956
  });
930
- let K = z;
931
- class It {
957
+ let W = K;
958
+ class Rt {
932
959
  /**
933
960
  * 根据动态加载的组件对象,得到组件集合
934
961
  */
@@ -938,7 +965,7 @@ class It {
938
965
  return l;
939
966
  for (let i = 0; i < r.length; i++) {
940
967
  const a = r[i];
941
- let o = W.trim(a, e, ".vue"), h = (s ? s + "-" : "") + W.getDashName(o), d = t[a];
968
+ let o = M.trim(a, e, ".vue"), h = (s ? s + "-" : "") + M.getDashName(o), d = t[a];
942
969
  if (d.default)
943
970
  l[h] = d.default;
944
971
  else {
@@ -960,10 +987,10 @@ class It {
960
987
  /**
961
988
  * 获取部分自定义组件名称
962
989
  */
963
- n(It, "getName", (t, e) => {
990
+ n(Rt, "getName", (t, e) => {
964
991
  if (!t)
965
992
  return null;
966
- let s = K.getPath(t);
993
+ let s = W.getPath(t);
967
994
  return s ? s == "/" ? e : e + s.replace(/\//g, "-").toLowerCase() : null;
968
995
  });
969
996
  const ae = class ae {
@@ -996,7 +1023,7 @@ n(ae, "isImage", (t) => {
996
1023
  let e = ae.getExtension(t);
997
1024
  return [".png", ".jpg", ".jpeg", ".bmp", ".gif"].indexOf(e) > -1;
998
1025
  });
999
- let De = ae;
1026
+ let Ae = ae;
1000
1027
  const Y = class Y {
1001
1028
  //#region 颜色
1002
1029
  /**
@@ -1030,7 +1057,7 @@ const Y = class Y {
1030
1057
  let e = "";
1031
1058
  for (let s = 0; s < t.length; s++) {
1032
1059
  let l = t[s];
1033
- W.isNullOrEmpty(l) || (e += l, s != t.length - 1 && (e += " "));
1060
+ M.isNullOrEmpty(l) || (e += l, s != t.length - 1 && (e += " "));
1034
1061
  }
1035
1062
  return e;
1036
1063
  }
@@ -1153,8 +1180,8 @@ const Y = class Y {
1153
1180
  let a = {}, o = t.getBoundingClientRect(), c = l.getBoundingClientRect(), d = t.querySelector(e).getBoundingClientRect(), p = i.getBoundingClientRect(), g = c.height - d.top;
1154
1181
  if (r == "right") {
1155
1182
  a.left = `${o.left + o.width}px`;
1156
- let b;
1157
- p.height > c.height ? b = c.height : b = p.height, a.height = `${b}px`, b + d.top > c.height ? (a.top = "initial", a.bottom = "0px") : a.top = `${o.top}px`;
1183
+ let x;
1184
+ p.height > c.height ? x = c.height : x = p.height, a.height = `${x}px`, x + d.top > c.height ? (a.top = "initial", a.bottom = "0px") : a.top = `${o.top}px`;
1158
1185
  } else if (r == "bottom")
1159
1186
  g -= d.height, a.left = `${o.left}px`, a.top = `${o.top + o.height}px`, g < p.height ? a.height = `${g}px` : a.height = `${p.height}px`;
1160
1187
  else
@@ -1214,13 +1241,13 @@ const Y = class Y {
1214
1241
  * 获取行内标签,如: style(非link)
1215
1242
  */
1216
1243
  static getInlineTagByUrl(t) {
1217
- return De.getExtension(t) == ".css" ? "style" : "script";
1244
+ return Ae.getExtension(t) == ".css" ? "style" : "script";
1218
1245
  }
1219
1246
  /**
1220
1247
  * 获取资源标签,如: link
1221
1248
  */
1222
1249
  static getTagByUrl(t) {
1223
- return De.getExtension(t) == ".css" ? "link" : "script";
1250
+ return Ae.getExtension(t) == ".css" ? "link" : "script";
1224
1251
  }
1225
1252
  //#endregion
1226
1253
  //#region 文本
@@ -1351,15 +1378,15 @@ n(ie, "scroll", (t, e) => {
1351
1378
  n(ie, "unscroll", (t, e) => {
1352
1379
  t && t.removeEventListener("scroll", e, !0);
1353
1380
  });
1354
- class Qe {
1381
+ class Ke {
1355
1382
  }
1356
1383
  /**
1357
1384
  * 获取Html内容
1358
1385
  */
1359
- n(Qe, "getHtml", (t) => F.isNumber(t) ? t : t && t.replace(/\n/g, "<br/>")), /**
1386
+ n(Ke, "getHtml", (t) => F.isNumber(t) ? t : t && t.replace(/\n/g, "<br/>")), /**
1360
1387
  * 获取Html中的文字
1361
1388
  */
1362
- n(Qe, "getText", (t) => {
1389
+ n(Ke, "getText", (t) => {
1363
1390
  if (!t)
1364
1391
  return null;
1365
1392
  if (!F.isString(t))
@@ -1367,46 +1394,46 @@ n(Qe, "getText", (t) => {
1367
1394
  let e = new RegExp("<[^<>]+>", "g");
1368
1395
  return t.replace(e, "");
1369
1396
  });
1370
- class Ot {
1397
+ class It {
1371
1398
  }
1372
1399
  /**
1373
1400
  * 获取base64图片地址
1374
1401
  */
1375
- n(Ot, "base64", (t) => "data:image/png;base64," + t);
1376
- class Rt {
1402
+ n(It, "base64", (t) => "data:image/png;base64," + t);
1403
+ class Ot {
1377
1404
  }
1378
1405
  /**
1379
1406
  * 加载乾坤子应用
1380
1407
  */
1381
- n(Rt, "load", function(t, e, s, l) {
1408
+ n(Ot, "load", function(t, e, s, l) {
1382
1409
  });
1383
- const $e = class $e {
1410
+ const Te = class Te {
1384
1411
  };
1385
1412
  /**
1386
1413
  * 激发主框架事件
1387
1414
  */
1388
- n($e, "emit", (t, e) => {
1389
- $e.emits({ [t]: e });
1415
+ n(Te, "emit", (t, e) => {
1416
+ Te.emits({ [t]: e });
1390
1417
  }), /**
1391
1418
  * 批量激发主框架事件
1392
1419
  */
1393
- n($e, "emits", (t) => {
1420
+ n(Te, "emits", (t) => {
1394
1421
  var s, l;
1395
1422
  let e = (l = (s = window.parent) == null ? void 0 : s.window) == null ? void 0 : l.emit;
1396
1423
  e && Object.keys(t).forEach((r) => {
1397
1424
  e(r, t[r]);
1398
1425
  });
1399
1426
  });
1400
- let ve = $e;
1401
- class Se {
1427
+ let ye = Te;
1428
+ class ke {
1402
1429
  }
1403
1430
  /**
1404
1431
  * 延时指定ms后执行指定任务
1405
1432
  */
1406
- n(Se, "delay", (t, e) => setTimeout(t, e)), /**
1433
+ n(ke, "delay", (t, e) => setTimeout(t, e)), /**
1407
1434
  * 在执行指定延时后,每隔指定ms执行指定任务
1408
1435
  */
1409
- n(Se, "execute", (t, e, s) => {
1436
+ n(ke, "execute", (t, e, s) => {
1410
1437
  if (!s) {
1411
1438
  let l = setInterval(t, e);
1412
1439
  return Promise.resolve(l);
@@ -1420,12 +1447,12 @@ n(Se, "execute", (t, e, s) => {
1420
1447
  }), /**
1421
1448
  * 清空定时器
1422
1449
  */
1423
- n(Se, "clearInterval", (t) => {
1450
+ n(ke, "clearInterval", (t) => {
1424
1451
  clearInterval(t);
1425
1452
  }), /**
1426
1453
  * 防抖(指定时间内只触发一次)
1427
1454
  */
1428
- n(Se, "debounce", (t, e) => {
1455
+ n(ke, "debounce", (t, e) => {
1429
1456
  let s = null;
1430
1457
  return (l) => {
1431
1458
  s && clearTimeout(s), s = setTimeout(t, e, l);
@@ -1433,7 +1460,7 @@ n(Se, "debounce", (t, e) => {
1433
1460
  }), /**
1434
1461
  * 节流:https://segmentfault.com/a/1190000018428170
1435
1462
  */
1436
- n(Se, "throttle", (t, e) => {
1463
+ n(ke, "throttle", (t, e) => {
1437
1464
  let s = !0;
1438
1465
  return (l) => {
1439
1466
  if (!s)
@@ -1506,7 +1533,7 @@ n(A, "localeTime", (t) => {
1506
1533
  let s = (/* @__PURE__ */ new Date()).getTimezoneOffset() + 480;
1507
1534
  return H(t).add(s, "minutes").toDate();
1508
1535
  });
1509
- let ee = A;
1536
+ let te = A;
1510
1537
  const k = class k {
1511
1538
  };
1512
1539
  /**
@@ -1568,19 +1595,19 @@ n(k, "getParentById", (t, e, s, l) => {
1568
1595
  */
1569
1596
  n(k, "getParentsById", (t, e, s, l, r = !1) => {
1570
1597
  let i = [];
1571
- return s == null || tt(t, e, s, l, i, r), i;
1598
+ return s == null || et(t, e, s, l, i, r), i;
1572
1599
  }), /**
1573
1600
  * 获取当前节点的所有孩子节点的集合
1574
1601
  */
1575
1602
  n(k, "getChildrenById", (t, e, s, l, r = !1) => {
1576
1603
  let i = k.getById(t, e, s, l), a = [];
1577
- return r && a.push(i), Pe(i, l, a), a;
1604
+ return r && a.push(i), Be(i, l, a), a;
1578
1605
  }), /**
1579
1606
  * 获取当前节点的所有孩子节点的集合
1580
1607
  */
1581
1608
  n(k, "getChildren", (t, e, s = !1) => {
1582
1609
  let l = [];
1583
- return s && l.push(t), Pe(t, e, l), l;
1610
+ return s && l.push(t), Be(t, e, l), l;
1584
1611
  }), /**
1585
1612
  * 搜索指定文本的树结构
1586
1613
  */
@@ -1648,40 +1675,40 @@ n(k, "map", (t, e, s, l) => {
1648
1675
  }
1649
1676
  return r;
1650
1677
  });
1651
- let Ie = k;
1652
- function tt(u, t, e, s, l, r) {
1678
+ let De = k;
1679
+ function et(u, t, e, s, l, r) {
1653
1680
  for (let i = 0; i < e.length; i++) {
1654
1681
  let a = e[i];
1655
1682
  if (a[t] == u) {
1656
1683
  r && l.push(a);
1657
1684
  break;
1658
1685
  } else
1659
- Ie.getById(u, t, a[s], s) != null && (l.push(a), tt(u, t, a[s], s, l, r));
1686
+ De.getById(u, t, a[s], s) != null && (l.push(a), et(u, t, a[s], s, l, r));
1660
1687
  }
1661
1688
  return l;
1662
1689
  }
1663
- function Pe(u, t, e) {
1690
+ function Be(u, t, e) {
1664
1691
  let s = u[t];
1665
1692
  if (!s || s.length == 0)
1666
1693
  return e;
1667
1694
  for (let l = 0; l < s.length; l++) {
1668
1695
  let r = s[l];
1669
- e.push(r), Pe(r, t, e);
1696
+ e.push(r), Be(r, t, e);
1670
1697
  }
1671
1698
  return e;
1672
1699
  }
1673
- class Je {
1700
+ class We {
1674
1701
  }
1675
1702
  /**
1676
1703
  * 判断指定元素滚动条位置,是否到了页面底部
1677
1704
  */
1678
- n(Je, "isBottom", (t) => {
1705
+ n(We, "isBottom", (t) => {
1679
1706
  let e = document.querySelector(t);
1680
1707
  return e ? e.scrollTop + e.clientHeight == e.scrollHeight : !1;
1681
1708
  }), /**
1682
1709
  * 滚动指定元素的滚动条到页面底部
1683
1710
  */
1684
- n(Je, "scrollToBottom", (t) => {
1711
+ n(We, "scrollToBottom", (t) => {
1685
1712
  let e = document.querySelector(t);
1686
1713
  if (!e)
1687
1714
  return;
@@ -1774,7 +1801,7 @@ class _ {
1774
1801
  * 把json字符串合并到目标对象上
1775
1802
  */
1776
1803
  static mergeTo(t, e) {
1777
- if (W.isNullOrEmpty(e) || t == null)
1804
+ if (M.isNullOrEmpty(e) || t == null)
1778
1805
  return;
1779
1806
  let s = JSON.parse(e), l = Object.keys(s);
1780
1807
  for (let r of l)
@@ -1800,7 +1827,7 @@ class _ {
1800
1827
  let a = t[i], o = l(a);
1801
1828
  o.type == "array" ? (o.remark && (r += this.fillSpace(2 * s) + "//" + o.remark + `
1802
1829
  `), r += this.fillKey(2 * s, o.key) + "[", r += this.buildObjectLevel(a[e], e, s + 1, l), r += "]", i != t.length - 1 && (r += ",")) : o.type == "object" ? (o.remark && (r += this.fillSpace(2 * s) + "//" + o.remark + `
1803
- `), r += this.fillKey(2 * s, o.key), r += this.buildObjectLevel(a[e], e, s + 1, l), i != t.length - 1 && (r += ",")) : (r += this.fillKey(2 * s, o.key), o.type == "string" ? r += '""' : o.type == "date" ? r += `"${ee.getDateTimeString()}"` : o.type == "int" || o.type == "number" ? r += "0" : o.type == "boolean" ? r += "false" : r += null, i != t.length - 1 && (r += ","), o.remark && (r += " //" + o.remark)), r += `
1830
+ `), r += this.fillKey(2 * s, o.key), r += this.buildObjectLevel(a[e], e, s + 1, l), i != t.length - 1 && (r += ",")) : (r += this.fillKey(2 * s, o.key), o.type == "string" ? r += '""' : o.type == "date" ? r += `"${te.getDateTimeString()}"` : o.type == "int" || o.type == "number" ? r += "0" : o.type == "boolean" ? r += "false" : r += null, i != t.length - 1 && (r += ","), o.remark && (r += " //" + o.remark)), r += `
1804
1831
  `;
1805
1832
  }
1806
1833
  return r += this.fillSpace(2 * (s - 1)), r += "}", r;
@@ -1823,7 +1850,7 @@ class _ {
1823
1850
  }
1824
1851
  //#endregion
1825
1852
  }
1826
- class st {
1853
+ class tt {
1827
1854
  /**
1828
1855
  * 获取浏览器默认语言
1829
1856
  */
@@ -1844,7 +1871,7 @@ class Bt {
1844
1871
  * 签名字典
1845
1872
  */
1846
1873
  static signDictionary(t, e = !0) {
1847
- return this.clean(t), K.serialize(t, e);
1874
+ return this.clean(t), W.serialize(t, e);
1848
1875
  }
1849
1876
  }
1850
1877
  class P {
@@ -1924,12 +1951,12 @@ class P {
1924
1951
  }
1925
1952
  //#endregion
1926
1953
  }
1927
- class Oe {
1954
+ class Re {
1928
1955
  constructor() {
1929
1956
  n(this, "type");
1930
1957
  }
1931
1958
  }
1932
- class Pt extends Oe {
1959
+ class Pt extends Re {
1933
1960
  constructor() {
1934
1961
  super(...arguments);
1935
1962
  n(this, "type", "Json");
@@ -1941,7 +1968,7 @@ class Pt extends Oe {
1941
1968
  return _.serialize(e.rows, !0);
1942
1969
  }
1943
1970
  }
1944
- class Ut extends Oe {
1971
+ class Ut extends Re {
1945
1972
  constructor() {
1946
1973
  super(...arguments);
1947
1974
  n(this, "type", "Mongo");
@@ -1965,12 +1992,12 @@ class Ut extends Oe {
1965
1992
  return i;
1966
1993
  }
1967
1994
  }
1968
- class Ne {
1995
+ class Me {
1969
1996
  constructor() {
1970
1997
  n(this, "type");
1971
1998
  }
1972
1999
  }
1973
- const de = class de extends Ne {
2000
+ const ce = class ce extends Me {
1974
2001
  constructor() {
1975
2002
  super(...arguments);
1976
2003
  //#region 属性
@@ -1989,7 +2016,7 @@ const de = class de extends Ne {
1989
2016
  let r = indexedDB.open(e);
1990
2017
  r.onsuccess = (i) => {
1991
2018
  let a = i.target.result;
1992
- de.version = a.version, this.objectStoreNames = a.objectStoreNames, s(de.version);
2019
+ ce.version = a.version, this.objectStoreNames = a.objectStoreNames, s(ce.version);
1993
2020
  }, r.onerror = (i) => {
1994
2021
  l(i.target);
1995
2022
  };
@@ -2000,7 +2027,7 @@ const de = class de extends Ne {
2000
2027
  */
2001
2028
  async createAsync(e) {
2002
2029
  return this.store = e, this.objectStoreNames.contains(e) ? Promise.resolve(!0) : new Promise((s, l) => {
2003
- let r = indexedDB.open(this.database, ++de.version);
2030
+ let r = indexedDB.open(this.database, ++ce.version);
2004
2031
  r.onupgradeneeded = (i) => {
2005
2032
  let a = i.target.result;
2006
2033
  a.objectStoreNames.contains(this.store) || a.createObjectStore(this.store);
@@ -2016,7 +2043,7 @@ const de = class de extends Ne {
2016
2043
  */
2017
2044
  async openDbAsync() {
2018
2045
  return new Promise((e, s) => {
2019
- let l = indexedDB.open(this.database, de.version);
2046
+ let l = indexedDB.open(this.database, ce.version);
2020
2047
  l.onsuccess = (r) => {
2021
2048
  let i = r.target.result;
2022
2049
  e(i);
@@ -2158,9 +2185,9 @@ const de = class de extends Ne {
2158
2185
  /**
2159
2186
  * 静态版本,保证所有数据库实例拿到最新版本信息
2160
2187
  */
2161
- n(de, "version", null);
2162
- let Ue = de;
2163
- class Ft extends Ne {
2188
+ n(ce, "version", null);
2189
+ let Pe = ce;
2190
+ class Ft extends Me {
2164
2191
  constructor() {
2165
2192
  super(...arguments);
2166
2193
  //#region 属性
@@ -2231,7 +2258,7 @@ class Ft extends Ne {
2231
2258
  }
2232
2259
  //#endregion
2233
2260
  }
2234
- class Mt extends Ne {
2261
+ class Mt extends Me {
2235
2262
  constructor() {
2236
2263
  super(...arguments);
2237
2264
  n(this, "type", "Cookie");
@@ -2274,7 +2301,7 @@ class qt extends P {
2274
2301
  n(this, "_default");
2275
2302
  }
2276
2303
  get instances() {
2277
- return [new Ue(), new Ft(), new Mt()];
2304
+ return [new Pe(), new Ft(), new Mt()];
2278
2305
  }
2279
2306
  /**
2280
2307
  * 获取指定类型的提供程序
@@ -2296,7 +2323,7 @@ class qt extends P {
2296
2323
  return this.create("Storage");
2297
2324
  }
2298
2325
  }
2299
- class Xe {
2326
+ class Qe {
2300
2327
  /**
2301
2328
  * 获取实际SQL字段名称
2302
2329
  */
@@ -2313,13 +2340,13 @@ class Xe {
2313
2340
  return e == "number" || e == "boolean" ? t : e == "object" || e == "string" ? `'${(e == "object" ? _.serialize(t) : t).replace(/'/g, "''")}'` : t;
2314
2341
  }
2315
2342
  }
2316
- class Fe extends Oe {
2343
+ class Ue extends Re {
2317
2344
  constructor() {
2318
2345
  super(...arguments);
2319
2346
  n(this, "type", "Sql");
2320
2347
  }
2321
2348
  insert(e) {
2322
- let { name: s, columns: l, rows: r } = e, i = e.getIdentity(), a = "", h = l.filter((d) => !d.identity).map((d) => Xe.getSqlName(d.name)).join(", ");
2349
+ let { name: s, columns: l, rows: r } = e, i = e.getIdentity(), a = "", h = l.filter((d) => !d.identity).map((d) => Qe.getSqlName(d.name)).join(", ");
2323
2350
  for (let d = 0; d < r.length; d++) {
2324
2351
  let p = r[d];
2325
2352
  a += `INSERT INTO ${s}\r
@@ -2327,12 +2354,12 @@ class Fe extends Oe {
2327
2354
  `, a += `VALUES\r
2328
2355
  `, a += "(";
2329
2356
  let g = Object.keys(p);
2330
- for (let b = 0; b < g.length; b++) {
2331
- let q = g[b];
2332
- if (i != null && i.name == q)
2357
+ for (let x = 0; x < g.length; x++) {
2358
+ let N = g[x];
2359
+ if (i != null && i.name == N)
2333
2360
  continue;
2334
- let N = p[q];
2335
- a += `${Xe.getValue(N)}`, b != g.length - 1 && (a += ", ");
2361
+ let V = p[N];
2362
+ a += `${Qe.getValue(V)}`, x != g.length - 1 && (a += ", ");
2336
2363
  }
2337
2364
  a += ")", d != r.length - 1 && (a += `\r
2338
2365
  \r
@@ -2344,24 +2371,24 @@ class Fe extends Oe {
2344
2371
  return "";
2345
2372
  }
2346
2373
  }
2347
- class Nt extends Oe {
2374
+ class Nt extends Re {
2348
2375
  constructor() {
2349
2376
  super(...arguments);
2350
2377
  n(this, "type", "MySql");
2351
2378
  }
2352
2379
  insert(e) {
2353
- return new Fe().insert(e);
2380
+ return new Ue().insert(e);
2354
2381
  }
2355
2382
  update(e) {
2356
- return new Fe().update(e);
2383
+ return new Ue().update(e);
2357
2384
  }
2358
2385
  }
2359
2386
  class Vt extends P {
2360
2387
  open() {
2361
- super.open(), super.instances = [new Pt(), new Ut(), new Nt(), new Fe()];
2388
+ super.open(), super.instances = [new Pt(), new Ut(), new Nt(), new Ue()];
2362
2389
  }
2363
2390
  }
2364
- class er {
2391
+ class Hl {
2365
2392
  constructor() {
2366
2393
  /**
2367
2394
  * 表名
@@ -2383,7 +2410,7 @@ class er {
2383
2410
  return this.columns == null || this.columns.length == 0 ? null : this.columns.find((e) => e.identity);
2384
2411
  }
2385
2412
  }
2386
- class lt {
2413
+ class st {
2387
2414
  constructor() {
2388
2415
  /**
2389
2416
  * 任务实例,用于控制并发
@@ -2415,7 +2442,7 @@ class lt {
2415
2442
  * 通过注入DOM标签异步加载脚本或样式表,已防重
2416
2443
  */
2417
2444
  n(this, "loadResourceAsync", async (t) => {
2418
- let e = W.getArray(t), s = [];
2445
+ let e = M.getArray(t), s = [];
2419
2446
  for (let r of e) {
2420
2447
  let i = new Promise((a, o) => {
2421
2448
  let c = j.getByUrl(r);
@@ -2437,6 +2464,13 @@ class lt {
2437
2464
  async open(t) {
2438
2465
  this.task = await C.task.create("Memory"), this.task.taskLimit = 1;
2439
2466
  }
2467
+ async getECharts(t) {
2468
+ let e = window.echarts;
2469
+ if (e)
2470
+ return e;
2471
+ let s = ["/dist/echarts.min.js"];
2472
+ return await this.loadFilesAsync(t, s), e = window.echarts, e;
2473
+ }
2440
2474
  async getMonaco(t = null) {
2441
2475
  let e = window.monaco;
2442
2476
  if (e)
@@ -2475,12 +2509,12 @@ class lt {
2475
2509
  await this.loadResourceAsync(s);
2476
2510
  }
2477
2511
  async loadAsync(t) {
2478
- let e = W.getArray(t);
2512
+ let e = M.getArray(t);
2479
2513
  return await this.loadResourceAsync(e);
2480
2514
  }
2481
2515
  //#endregion
2482
2516
  }
2483
- class zt extends lt {
2517
+ class zt extends st {
2484
2518
  constructor() {
2485
2519
  super(...arguments);
2486
2520
  //#region 属性
@@ -2492,8 +2526,7 @@ class zt extends lt {
2492
2526
  return await super.loadFilesAsync("/assets/crypto-js@4.2.0", e), window.CryptoJS;
2493
2527
  }
2494
2528
  async getECharts() {
2495
- let e = ["/dist/echarts.min.js"];
2496
- return await super.loadFilesAsync("/assets/echarts@5.5.1", e), window.echarts;
2529
+ return await super.getECharts("/assets/echarts@5.5.1");
2497
2530
  }
2498
2531
  async getElementPlus() {
2499
2532
  let e = ["/dist/index.css", "/theme-chalk/dark/css-vars.css"];
@@ -2517,7 +2550,7 @@ class zt extends lt {
2517
2550
  return await super.loadFilesAsync("/assets/xlsx-js-style@1.2.0", e), window.XLSX;
2518
2551
  }
2519
2552
  }
2520
- class Kt extends lt {
2553
+ class Kt extends st {
2521
2554
  constructor() {
2522
2555
  super(...arguments);
2523
2556
  //#region 属性
@@ -2531,8 +2564,7 @@ class Kt extends lt {
2531
2564
  return await super.loadFilesAsync(`${this.jdCdn}/crypto-js@4.2.0`, e), window.CryptoJS;
2532
2565
  }
2533
2566
  async getECharts() {
2534
- let e = ["/dist/echarts.min.js"];
2535
- return await super.loadFilesAsync(`${this.jdCdn}/echarts@5.5.1`, e), window.echarts;
2567
+ return await super.getECharts(`${this.jdCdn}/echarts@5.5.1`);
2536
2568
  }
2537
2569
  async getElementPlus() {
2538
2570
  let e = [
@@ -2600,7 +2632,7 @@ class Jt extends Qt {
2600
2632
  //#endregion
2601
2633
  //#region 开启
2602
2634
  async open(e) {
2603
- this.crypto = await ge.getCrypto();
2635
+ this.crypto = await fe.getCrypto();
2604
2636
  }
2605
2637
  //#endregion
2606
2638
  encodeString(e) {
@@ -2645,7 +2677,7 @@ class Gt extends Yt {
2645
2677
  //#endregion
2646
2678
  //#region 开启
2647
2679
  async open(e) {
2648
- this.xlsx = await ge.getXlsx();
2680
+ this.xlsx = await fe.getXlsx();
2649
2681
  }
2650
2682
  //#endregion
2651
2683
  export(e, s) {
@@ -2660,8 +2692,8 @@ class Gt extends Yt {
2660
2692
  }), r.push(i), e.length > 0)
2661
2693
  for (let d = 0; d < e.length; d++) {
2662
2694
  let p = e[d], g = [];
2663
- Object.keys(p).forEach((b) => {
2664
- g.push(p[b]);
2695
+ Object.keys(p).forEach((x) => {
2696
+ g.push(p[x]);
2665
2697
  }), r.push(g);
2666
2698
  }
2667
2699
  let a = this.xlsx.utils.book_new(), o = this.xlsx.utils.json_to_sheet(r, { skipHeader: !0 });
@@ -2769,12 +2801,12 @@ class ns extends P {
2769
2801
  return s.open(null), s;
2770
2802
  }
2771
2803
  }
2772
- class rt {
2804
+ class lt {
2773
2805
  constructor() {
2774
2806
  n(this, "type");
2775
2807
  }
2776
2808
  }
2777
- class is extends rt {
2809
+ class is extends lt {
2778
2810
  constructor() {
2779
2811
  super(...arguments);
2780
2812
  //#region 属性
@@ -2790,7 +2822,7 @@ class is extends rt {
2790
2822
  return Array.from(new Uint8Array(r)).map((o) => o.toString(16).padStart(2, "0")).join("");
2791
2823
  }
2792
2824
  }
2793
- class as extends rt {
2825
+ class as extends lt {
2794
2826
  constructor() {
2795
2827
  super(...arguments);
2796
2828
  //#region 属性
@@ -2800,7 +2832,7 @@ class as extends rt {
2800
2832
  //#endregion
2801
2833
  //#region 开启
2802
2834
  async open(e) {
2803
- this.crypto = await ge.getCrypto();
2835
+ this.crypto = await fe.getCrypto();
2804
2836
  }
2805
2837
  //#endregion
2806
2838
  compute(e) {
@@ -2823,7 +2855,7 @@ class os extends P {
2823
2855
  return await this.createIfAbsent("Md5");
2824
2856
  }
2825
2857
  }
2826
- class nt {
2858
+ class rt {
2827
2859
  constructor() {
2828
2860
  /**
2829
2861
  * 请求唯一标识
@@ -2881,11 +2913,11 @@ class nt {
2881
2913
  * 不能放在getRequest中处理,因为外部会直接调用当前send方法,而不走getRequest
2882
2914
  */
2883
2915
  prepare() {
2884
- this.time = /* @__PURE__ */ new Date(), this.body == null && this.data != null && this.contentType == "application/json" && (this.body = _.serializeWithoutString(this.data)), this.data == null && this.body != null && this.contentType == "application/json" && (this.data = _.deserialize(this.body)), this.contentType != null && this.addHeader("content-type", this.contentType);
2916
+ this.time = /* @__PURE__ */ new Date(), this.body == null && this.data != null && M.startWith(this.contentType, "application/json") && (this.body = _.serializeWithoutString(this.data)), this.data == null && this.body != null && M.startWith(this.contentType, "application/json") && (this.data = _.deserialize(this.body)), this.contentType != null && this.addHeader("content-type", this.contentType);
2885
2917
  }
2886
2918
  //#endregion
2887
2919
  }
2888
- class it extends nt {
2920
+ class nt extends rt {
2889
2921
  constructor() {
2890
2922
  super();
2891
2923
  /**
@@ -2900,10 +2932,10 @@ class it extends nt {
2900
2932
  * 实际请求地址
2901
2933
  */
2902
2934
  n(this, "url");
2903
- this.id = W.getUniqueId(8);
2935
+ this.id = M.getUniqueId(8);
2904
2936
  }
2905
2937
  }
2906
- class Ve {
2938
+ class qe {
2907
2939
  constructor() {
2908
2940
  //#region 属性
2909
2941
  n(this, "type");
@@ -2914,7 +2946,7 @@ class Ve {
2914
2946
  //#endregion
2915
2947
  n(this, "get", async (t, e) => (await this.sendGet(t, e)).data);
2916
2948
  n(this, "sendGet", async (t, e) => {
2917
- let s = K.getUrl(t, e), l = this.getRequest("GET", "application/json", s);
2949
+ let s = W.getUrl(t, e), l = this.getRequest("GET", "application/json", s);
2918
2950
  return await this.send(l);
2919
2951
  });
2920
2952
  n(this, "post", async (t, e) => (await this.sendPost(t, e)).data);
@@ -2931,7 +2963,7 @@ class Ve {
2931
2963
  * 获取请求消息
2932
2964
  */
2933
2965
  n(this, "getRequest", (t, e, s, l = null) => {
2934
- let r = new it();
2966
+ let r = new nt();
2935
2967
  return r.method = t, r.contentType = e, r.path = s, r.body = _.serializeWithoutString(l), r;
2936
2968
  });
2937
2969
  }
@@ -2953,7 +2985,7 @@ class Ve {
2953
2985
  this.http != null && (this.http.onResponse = t);
2954
2986
  }
2955
2987
  }
2956
- class Ye extends nt {
2988
+ class Je extends rt {
2957
2989
  constructor() {
2958
2990
  super(...arguments);
2959
2991
  /**
@@ -2978,7 +3010,7 @@ class Ye extends nt {
2978
3010
  n(this, "request");
2979
3011
  }
2980
3012
  }
2981
- class us extends Ve {
3013
+ class us extends qe {
2982
3014
  constructor() {
2983
3015
  super(...arguments);
2984
3016
  //#region 属性
@@ -3003,7 +3035,7 @@ class us extends Ve {
3003
3035
  }
3004
3036
  //#endregion
3005
3037
  async send(e) {
3006
- W.isNullOrEmpty(e.url) && (e.url = this.baseUrl + e.path), e.prepare();
3038
+ M.isNullOrEmpty(e.url) && (e.url = this.baseUrl + e.path), e.prepare();
3007
3039
  let s;
3008
3040
  return typeof XMLHttpRequest > "u" ? (s = await this.sendWithFetch(e), s) : (s = await this.sendWithXmlHttpRequest(e), s);
3009
3041
  }
@@ -3011,7 +3043,7 @@ class us extends Ve {
3011
3043
  * 使用Fetch发送请求,谷歌插件场景专用
3012
3044
  */
3013
3045
  async sendWithFetch(e) {
3014
- let s = (/* @__PURE__ */ new Date()).getTime(), l = new Ye();
3046
+ let s = (/* @__PURE__ */ new Date()).getTime(), l = new Je();
3015
3047
  l.request = e, l.id = e.id;
3016
3048
  let r = {
3017
3049
  method: e.method,
@@ -3030,7 +3062,7 @@ class us extends Ve {
3030
3062
  * 使用XmlHttpRequest发送请求
3031
3063
  */
3032
3064
  sendWithXmlHttpRequest(e) {
3033
- let s = new Ye();
3065
+ let s = new Je();
3034
3066
  return s.request = e, s.id = e.id, new Promise(async (l, r) => {
3035
3067
  var a;
3036
3068
  await ((a = this.onRequest) == null ? void 0 : a.call(this, e));
@@ -3059,7 +3091,7 @@ class us extends Ve {
3059
3091
  });
3060
3092
  }
3061
3093
  }
3062
- class cs extends Ve {
3094
+ class cs extends qe {
3063
3095
  constructor() {
3064
3096
  super(...arguments);
3065
3097
  //#region 属性
@@ -3081,37 +3113,37 @@ class cs extends Ve {
3081
3113
  */
3082
3114
  n(this, "hasher");
3083
3115
  //#endregion
3116
+ //#region 开启
3117
+ /**
3118
+ * 危险操作,会暴露敏感信息
3119
+ */
3120
+ n(this, "open", async (e) => {
3121
+ await super.open(e), this.http = await C.http.getDefault(), this.hasher = await C.hasher.create("Sha256");
3122
+ });
3123
+ //#endregion
3084
3124
  /**
3085
3125
  * 危险操作,会暴露敏感信息
3086
3126
  */
3087
3127
  n(this, "send", async (e) => {
3088
- let s = ee.getTimestamp(), l = {
3128
+ let s = te.getTimestamp(), l = {
3089
3129
  app_id: this.appId,
3090
3130
  hash_type: "sha256",
3091
3131
  timestamp: parseInt((s / 1e3).toString())
3092
3132
  };
3093
- W.isNullOrEmpty(e.body) || (l.jsonBody = e.body);
3094
- let r = K.deserialize(e.path);
3133
+ M.isNullOrEmpty(e.body) || (l.jsonBody = e.body);
3134
+ let r = W.deserialize(e.path);
3095
3135
  for (let p in r)
3096
3136
  l[p] = r[p];
3097
- let i = K.getPath(e.path);
3098
- l = Be.sort(l);
3137
+ let i = W.getPath(e.path);
3138
+ l = _e.sort(l);
3099
3139
  let a = Bt.signDictionary(l, !1), o = `POST${i}?${a}${this.appSecret}`, c = await this.hasher.compute(o);
3100
- l.sign = c.toLowerCase(), delete l.jsonBody, l = Be.sort(l);
3101
- let h = K.serialize(l);
3102
- return e.url = K.concatUrl(this.baseUrl, i + "?" + h), await this.http.send(e);
3140
+ l.sign = c.toLowerCase(), delete l.jsonBody, l = _e.sort(l);
3141
+ let h = W.serialize(l);
3142
+ return e.url = W.concatUrl(this.baseUrl, i + "?" + h), await this.http.send(e);
3103
3143
  });
3104
3144
  }
3105
- //#endregion
3106
- //#region 开启
3107
- /**
3108
- * 危险操作,会暴露敏感信息
3109
- */
3110
- async open(e) {
3111
- await super.open(e), this.http = await C.http.getDefault(), this.hasher = await C.hasher.create("Sha256");
3112
- }
3113
3145
  }
3114
- class ds extends Ve {
3146
+ class ds extends qe {
3115
3147
  constructor() {
3116
3148
  super(...arguments);
3117
3149
  //#region 属性
@@ -3145,11 +3177,16 @@ class ds extends Ve {
3145
3177
  */
3146
3178
  n(this, "signer");
3147
3179
  //#endregion
3180
+ //#region 开启
3181
+ n(this, "open", async (e) => {
3182
+ await super.open(e), this.http = await C.http.getDefault(), this.user != null && (this.sso = await C.sso.create(this.user.type)), this.signer = await C.signer.createIfAbsent("default"), this.onRequest == null && (this.onRequest = this.beforeRequest);
3183
+ });
3184
+ //#endregion
3148
3185
  /**
3149
3186
  * 发送请求
3150
3187
  */
3151
3188
  n(this, "send", async (e) => {
3152
- e.url = K.concatUrl(this.baseUrl, e.path), await this.onRequest(e);
3189
+ e.url = W.concatUrl(this.baseUrl, e.path), await this.onRequest(e);
3153
3190
  let s = await this.http.send(e);
3154
3191
  if (s.status != 200) {
3155
3192
  let r;
@@ -3159,22 +3196,22 @@ class ds extends Ve {
3159
3196
  let i = s.status ? `(${s.status})` : "";
3160
3197
  r = `接口加载异常: ${e.method}${i} ${e.url}`;
3161
3198
  }
3162
- return ye.warning(r), Promise.reject(r);
3199
+ return me.warning(r), Promise.reject(r);
3163
3200
  }
3164
3201
  let l = s.data;
3165
- return l.code != "Ok" ? (ye.error(l.message), Promise.reject(l)) : s;
3202
+ return l.code == null || l.code == "Ok" ? s : (me.error(l.message), Promise.reject(l));
3166
3203
  });
3167
3204
  /**
3168
3205
  * 请求预处理
3169
3206
  */
3170
3207
  n(this, "beforeRequest", async (e) => {
3171
- if (K.httpOrHttps(e.path))
3208
+ if (W.httpOrHttps(e.path))
3172
3209
  return Promise.resolve();
3173
3210
  let s;
3174
3211
  if (this.user == null)
3175
3212
  s = this.platform;
3176
3213
  else {
3177
- let r = ee.getTimestamp(), i = await this.signer.getSign(this.user.userId, e.url, e.body, r, this.user.secret);
3214
+ let r = te.getTimestamp(), i = await this.signer.getSign(this.user.userId, e.url, e.body, r, this.user.secret);
3178
3215
  s = this.sso.getAuth(this.user.identity.token, r, i, this.platform, this.env);
3179
3216
  }
3180
3217
  let l = {};
@@ -3186,20 +3223,12 @@ class ds extends Ve {
3186
3223
  n(this, "handleError", (e) => {
3187
3224
  if (e instanceof Object) {
3188
3225
  let s = e.message;
3189
- e.message == "Network Error" && (K.httpOrHttps(e.config.url) ? s = "接口网络错误: " + e.config.url : s = "接口网络错误: " + e.config.baseURL + e.config.url), ye.error(s);
3226
+ e.message == "Network Error" && (W.httpOrHttps(e.config.url) ? s = "接口网络错误: " + e.config.url : s = "接口网络错误: " + e.config.baseURL + e.config.url), me.error(s);
3190
3227
  } else
3191
- ye.error(e.message);
3228
+ me.error(e.message);
3192
3229
  return Promise.reject(e);
3193
3230
  });
3194
3231
  }
3195
- //#endregion
3196
- //#region 开启
3197
- /**
3198
- * 开启
3199
- */
3200
- async open(e) {
3201
- await super.open(e), this.http = await C.http.getDefault(), this.user != null && (this.sso = await C.sso.create(this.user.type)), this.signer = await C.signer.createIfAbsent("default"), this.onRequest == null && (this.onRequest = this.beforeRequest);
3202
- }
3203
3232
  }
3204
3233
  class hs extends P {
3205
3234
  get instances() {
@@ -3233,7 +3262,12 @@ class ps {
3233
3262
  n(this, "type");
3234
3263
  n(this, "lang");
3235
3264
  n(this, "messages", {});
3265
+ /**
3266
+ * 已加载的语言集合
3267
+ */
3268
+ n(this, "loaded", []);
3236
3269
  //#endregion
3270
+ //#region 翻译
3237
3271
  n(this, "t", (t, e) => {
3238
3272
  if (!t)
3239
3273
  return null;
@@ -3263,6 +3297,7 @@ class ps {
3263
3297
  n(this, "t_field_choose_placeholder", (t, e) => this.t("common.please_choose") + this.t(`_business.Ctl_Table_Field.Label.${t}.${e}`));
3264
3298
  n(this, "t_sys", (t) => this.t(`sys.${t}`));
3265
3299
  n(this, "t_title", () => this.t("sys.title"));
3300
+ //#endregion
3266
3301
  //#region 设置标题
3267
3302
  /**
3268
3303
  * 根据key设置多语言标题
@@ -3278,6 +3313,7 @@ class ps {
3278
3313
  let s = this.t_title(), l;
3279
3314
  s ? t ? e ? l = `${t}(${e}) - ${s}` : l = `${t} - ${s}` : l = s : e ? l = `${t}(${e})` : l = t, document.title = l;
3280
3315
  });
3316
+ //#endregion
3281
3317
  //#region 加载
3282
3318
  n(this, "addMessages", (t) => {
3283
3319
  let e = Object.keys(t);
@@ -3285,11 +3321,12 @@ class ps {
3285
3321
  this.messages[s] = t[s];
3286
3322
  this.setTitle(this.t("common.loading") + "...");
3287
3323
  });
3288
- /**
3289
- * 切换语言,自动加载菜单
3290
- */
3291
- n(this, "switchI18n", async (t) => {
3292
- Object.keys(this.messages).indexOf(t) == -1 && await this.loadI18n(t), this.lang = t;
3324
+ n(this, "switch", async (t) => {
3325
+ if (this.loaded.includes(t)) {
3326
+ this.lang = t;
3327
+ return;
3328
+ }
3329
+ await this.load(t), this.lang = t, this.loaded.push(t);
3293
3330
  });
3294
3331
  }
3295
3332
  //#endregion
@@ -3305,8 +3342,8 @@ class fs extends ps {
3305
3342
  n(this, "type", "Default");
3306
3343
  //#endregion
3307
3344
  n(this, "translate", (e, s) => {
3308
- let l = this.messages[this.lang], r = e.split(".");
3309
- return _.getValue(l, r);
3345
+ let l = this.messages[this.lang], r = e.split("."), i = _.getValue(l, r);
3346
+ return s == null ? i : M.format(i, s);
3310
3347
  });
3311
3348
  n(this, "t_exists", (e) => {
3312
3349
  if (!e)
@@ -3314,23 +3351,25 @@ class fs extends ps {
3314
3351
  let s = this.messages[this.lang], l = e.split(".");
3315
3352
  return _.hasKey(s, l);
3316
3353
  });
3317
- n(this, "loadI18n", async (e) => {
3354
+ n(this, "load", async (e) => {
3318
3355
  e == null && (e = this.lang);
3319
3356
  let s = new Promise(async (r) => {
3320
3357
  let i = { conditions: [{ name: "lang", value: e }] };
3321
3358
  return T.post("/i18n", i).then(({ data: a }) => {
3322
- a.forEach((o) => {
3323
- let c = `${e}.${o.Module}.${o.Key}`.split(".");
3359
+ for (let o of a) {
3360
+ let c = `${e}.${o.Kind}.${o.Key}`.split(".");
3324
3361
  X.addProperties(this.messages, c, o.Value);
3325
- }), r(a);
3362
+ }
3363
+ r(a);
3326
3364
  });
3327
3365
  }), l = new Promise((r) => {
3328
3366
  let i = { conditions: [{ name: "lang", value: e }] };
3329
3367
  T.post("/i18n_business", i).then(({ data: a }) => {
3330
- a.forEach((o) => {
3368
+ for (let o of a) {
3331
3369
  let c = `${e}._business.${o.Table}.${o.Field}.${o.Key}`.split(".");
3332
3370
  X.addProperties(this.messages, c, o.Value);
3333
- }), r(a);
3371
+ }
3372
+ r(a);
3334
3373
  });
3335
3374
  });
3336
3375
  await Promise.all([s, l]);
@@ -3493,7 +3532,7 @@ class Ss {
3493
3532
  await this.provider.deleteAsync("user"), await this.provider.deleteAsync("sso");
3494
3533
  }
3495
3534
  }
3496
- class at {
3535
+ class it {
3497
3536
  constructor() {
3498
3537
  /**
3499
3538
  * 用户标识
@@ -3525,7 +3564,7 @@ class Cs {
3525
3564
  return "";
3526
3565
  }
3527
3566
  async getUser() {
3528
- let t = new at();
3567
+ let t = new it();
3529
3568
  return t.userId = "", t;
3530
3569
  }
3531
3570
  getAuth(t, e, s, l) {
@@ -3562,10 +3601,10 @@ class Ts extends Es {
3562
3601
  async getUser() {
3563
3602
  let e = await this.provider.getAsync("anonymous");
3564
3603
  if (!e) {
3565
- let l = W.getUniqueId();
3604
+ let l = M.getUniqueId();
3566
3605
  await this.provider.saveAsync("anonymous", l), e = l;
3567
3606
  }
3568
- let s = new at();
3607
+ let s = new it();
3569
3608
  return s.identity = { token: e }, s;
3570
3609
  }
3571
3610
  getAuth(e, s, l, r) {
@@ -3643,9 +3682,9 @@ class As {
3643
3682
  n(this, "app", new Ls());
3644
3683
  }
3645
3684
  }
3646
- class ot {
3685
+ class at {
3647
3686
  }
3648
- class ut extends ot {
3687
+ class ot extends at {
3649
3688
  constructor() {
3650
3689
  super(...arguments);
3651
3690
  //#region 属性
@@ -3671,23 +3710,26 @@ class ut extends ot {
3671
3710
  */
3672
3711
  completions: {}
3673
3712
  });
3674
- }
3675
- //#endregion
3676
- //#region 开启
3677
- open() {
3678
- let e = this.sys.app;
3679
- e.background = ce.background, e.theme = ce.theme, e.layout = ce.layout, e.language = ce.language, e.font = ce.font;
3680
- }
3681
- /**
3682
- * 初始化配置值(不一定跟登录用户相关,这也是单独分离的好处)
3683
- */
3684
- async bind(e) {
3685
- for (let r of e) {
3686
- let a = await this.get(r.kind, r.type) ?? r.content;
3687
- X.addProperties(this, [r.kind, r.type], a);
3688
- }
3689
- let s = this.sys.app, l = document.documentElement;
3690
- j.removeClass(l, ce.theme), j.addClass(l, s.theme), ve.emit("theme", s.theme), j.addClass(l, s.layout), this.setBackground(s.background), j.addStyle(l, "font-family", s.font);
3713
+ //#endregion
3714
+ //#region 开启
3715
+ /**
3716
+ * 初始化绑定基础配置信息
3717
+ */
3718
+ n(this, "open", (e) => {
3719
+ let s = this.sys.app;
3720
+ s.background = e.background, s.theme = e.theme, s.layout = e.layout, s.language = e.language, s.font = e.font;
3721
+ });
3722
+ /**
3723
+ * 初始化配置值(不一定跟登录用户相关,这也是单独分离的好处)
3724
+ */
3725
+ n(this, "bind", async (e) => {
3726
+ for (let r of e) {
3727
+ let a = await this.get(r.kind, r.type) ?? r.content;
3728
+ X.addProperties(this, [r.kind, r.type], a);
3729
+ }
3730
+ let s = this.sys.app, l = document.documentElement;
3731
+ j.removeClass(l, ct.theme), j.addClass(l, s.theme), ye.emit("theme", s.theme), j.addClass(l, s.layout), this.setBackground(s.background), j.addStyle(l, "font-family", s.font);
3732
+ });
3691
3733
  }
3692
3734
  /**
3693
3735
  * 尝试添加架构
@@ -3728,9 +3770,9 @@ class ut extends ot {
3728
3770
  let s = this.sys.app, l = document.documentElement, r = e.layout;
3729
3771
  l.classList.remove(s.layout), l.classList.add(r), s.layout = r;
3730
3772
  let i = e.theme;
3731
- j.removeClass(l, s.theme), j.addClass(l, i), s.theme = i, ve.emit("theme", i);
3773
+ j.removeClass(l, s.theme), j.addClass(l, i), s.theme = i, ye.emit("theme", i);
3732
3774
  let a = e.background;
3733
- this.setBackground(a), ve.emit("background", a);
3775
+ this.setBackground(a), ye.emit("background", a);
3734
3776
  let o = e.font;
3735
3777
  s.font = o, j.addStyle(l, "font-family", o);
3736
3778
  }
@@ -3766,7 +3808,7 @@ class ut extends ot {
3766
3808
  * 获取当前语言
3767
3809
  */
3768
3810
  getLanguage() {
3769
- let e = st.getLanguage();
3811
+ let e = tt.getLanguage();
3770
3812
  return this.sys.app.language || e || "zh-cn";
3771
3813
  }
3772
3814
  }
@@ -3781,10 +3823,10 @@ class Ds {
3781
3823
  * 使用环境变量
3782
3824
  */
3783
3825
  useEnv(t) {
3784
- this.env = t, this.env.base = W.trimEnd(t.VITE_ROOT, "/");
3826
+ this.env = t, this.env.base = M.trimEnd(t.VITE_ROOT, "/");
3785
3827
  }
3786
3828
  }
3787
- class Is {
3829
+ class Rs {
3788
3830
  constructor() {
3789
3831
  /**
3790
3832
  * 日志集合
@@ -3795,7 +3837,7 @@ class Is {
3795
3837
  * 手动添加日志
3796
3838
  */
3797
3839
  add(t, e, s, l = null) {
3798
- let r = ee.getTimeString();
3840
+ let r = te.getTimeString();
3799
3841
  this.logs.unshift({ time: r, code: t, message: e, stack: s, elapsed: l });
3800
3842
  }
3801
3843
  /**
@@ -3811,7 +3853,7 @@ class Is {
3811
3853
  this.logs = [];
3812
3854
  }
3813
3855
  }
3814
- class Os {
3856
+ class Is {
3815
3857
  constructor() {
3816
3858
  /**
3817
3859
  * 获取侧边栏宽度
@@ -3824,8 +3866,8 @@ class Os {
3824
3866
  this[e] = t[e];
3825
3867
  }
3826
3868
  }
3827
- let Ae = new Os();
3828
- class Rs {
3869
+ let Le = new Is();
3870
+ class Os {
3829
3871
  constructor() {
3830
3872
  //#region 属性
3831
3873
  n(this, "loaded", !1);
@@ -3896,10 +3938,14 @@ class Rs {
3896
3938
  * 加载设置
3897
3939
  */
3898
3940
  async load() {
3899
- return T.get("/app/setting").then(({ data: t }) => (Object.keys(t).forEach((e) => {
3900
- let s = t[e];
3901
- s && (this[e] = s);
3902
- }), j.addClass(document.documentElement, this.theme, Ae.web.theme), ve.emits({ theme: this.theme }), Promise.resolve(t))).catch((t) => Promise.reject(t));
3941
+ return T.get("/app/setting").then(({ data: t }) => {
3942
+ let e = Object.keys(t);
3943
+ for (let s of e) {
3944
+ let l = t[s];
3945
+ l && (this[s] = l);
3946
+ }
3947
+ return j.addClass(document.documentElement, this.theme, Le.web.theme), ye.emits({ theme: this.theme }), Promise.resolve(t);
3948
+ }).catch((t) => Promise.reject(t));
3903
3949
  }
3904
3950
  }
3905
3951
  class js {
@@ -3927,12 +3973,12 @@ class js {
3927
3973
  * 登录后,连接Socket
3928
3974
  */
3929
3975
  async connect() {
3930
- if (!Ae.api.ws)
3976
+ if (!Le.api.ws)
3931
3977
  return;
3932
3978
  if (this.socket == null || this.reconnect) {
3933
- let e = Ae.api.ws, s = new it();
3979
+ let e = Le.api.ws, s = new nt();
3934
3980
  s.path = e, s.method = "GET", await T.onRequest(s);
3935
- let l = s.getHeader("Authorization"), r = K.encode(l), i = `${e}?authorization=${r}`;
3981
+ let l = s.getHeader("Authorization"), r = W.encode(l), i = `${e}?authorization=${r}`;
3936
3982
  this.socket = new WebSocket(i);
3937
3983
  }
3938
3984
  let t;
@@ -3941,7 +3987,7 @@ class js {
3941
3987
  }, this.socket.onmessage = (e) => {
3942
3988
  this.handler && this.handler(e);
3943
3989
  }, this.socket.onerror = (e) => {
3944
- this.reconnect = !0, console.warn(`Socket连接失败:${Ae.api.ws}`);
3990
+ this.reconnect = !0, console.warn(`Socket连接失败:${Le.api.ws}`);
3945
3991
  }, this.socket.onclose = (e) => {
3946
3992
  this.connected = !1, this.reconnect && (t = setTimeout(async () => await this.connect(), 1e3));
3947
3993
  };
@@ -4000,26 +4046,26 @@ class _s {
4000
4046
  * 登录后,获取用户信息
4001
4047
  */
4002
4048
  async loadInfo() {
4003
- return T.get("/user/info").then(async ({ data: t }) => (await Z.bind(t.configs), this.user = t, this.debugger = t.debugger, Promise.resolve(t)));
4049
+ return T.get("/user/info").then(async ({ data: t }) => (await ee.bind(t.configs), this.user = t, this.debugger = t.debugger, Promise.resolve(t)));
4004
4050
  }
4005
4051
  /**
4006
4052
  * 未登录,获取匿名登录信息
4007
4053
  */
4008
4054
  async getAnonymous() {
4009
- await Z.bind([]);
4055
+ await ee.bind([]);
4010
4056
  }
4011
4057
  /**
4012
4058
  * 根据路径获取路由
4013
4059
  */
4014
4060
  getMenuByUrl(t) {
4015
- let e = K.getPath(t);
4061
+ let e = W.getPath(t);
4016
4062
  return this.menusFlat.find((l) => l.url.split("?")[0] == e);
4017
4063
  }
4018
4064
  /**
4019
4065
  * 加载服务端路由
4020
4066
  */
4021
4067
  async loadMenus() {
4022
- return T.get("/user/menu").then(({ data: t }) => (this.menus = t, this.menusFlat = Ie.getFlat(t, "children"), Promise.resolve(t)));
4068
+ return T.get("/user/menu").then(({ data: t }) => (this.menus = t, this.menusFlat = De.getFlat(t, "children"), Promise.resolve(t)));
4023
4069
  }
4024
4070
  /**
4025
4071
  * 退出登录
@@ -4032,7 +4078,7 @@ class _s {
4032
4078
  });
4033
4079
  }
4034
4080
  }
4035
- class ct extends ot {
4081
+ class ut extends at {
4036
4082
  constructor() {
4037
4083
  super(...arguments);
4038
4084
  //#region 属性
@@ -4087,8 +4133,8 @@ class ct extends ot {
4087
4133
  class Bs extends P {
4088
4134
  open() {
4089
4135
  super.open(), super.instances = [
4090
- new ut(),
4091
- new ct()
4136
+ new ot(),
4137
+ new ut()
4092
4138
  ];
4093
4139
  }
4094
4140
  static() {
@@ -4101,10 +4147,8 @@ class Bs extends P {
4101
4147
  return await super.createIfAbsent("Config");
4102
4148
  }
4103
4149
  }
4104
- let Z = new ut(), tr = Ge(new ct()), sr = new Ds(), Ps = new Is(), ce = Ge(new Rs()), Us = new js(), Fs = new _s(), Ms = async (u) => {
4105
- Z.open();
4106
- };
4107
- class qs extends P {
4150
+ let ct = Ye(new Os()), ee = new ot(), er = Ye(new ut()), tr = new Ds(), Ps = new Rs(), Us = new js(), Fs = new _s();
4151
+ class Ms extends P {
4108
4152
  /**
4109
4153
  * 获取实例
4110
4154
  */
@@ -4115,17 +4159,17 @@ class qs extends P {
4115
4159
  * 获取指定SSO实例
4116
4160
  */
4117
4161
  async create(t, e) {
4118
- let s = ce.ssos.find((i) => i.type.toUpperCase() == t.toUpperCase()), l = { url: s == null ? void 0 : s.url, app_id: s == null ? void 0 : s.appId }, r = await super.create(t);
4162
+ let s = ct.ssos.find((i) => i.type.toUpperCase() == t.toUpperCase()), l = { url: s == null ? void 0 : s.url, app_id: s == null ? void 0 : s.appId }, r = await super.create(t);
4119
4163
  return await r.open(l), r;
4120
4164
  }
4121
4165
  }
4122
- class Ns {
4166
+ class qs {
4123
4167
  constructor() {
4124
4168
  n(this, "type");
4125
4169
  n(this, "taskLimit");
4126
4170
  }
4127
4171
  }
4128
- class Vs extends Ns {
4172
+ class Ns extends qs {
4129
4173
  constructor() {
4130
4174
  super(...arguments);
4131
4175
  //#region 属性
@@ -4179,17 +4223,17 @@ class Vs extends Ns {
4179
4223
  clearInterval(this.intervalTimeout);
4180
4224
  }
4181
4225
  }
4182
- class zs extends P {
4226
+ class Vs extends P {
4183
4227
  get instances() {
4184
- return [new Vs()];
4228
+ return [new Ns()];
4185
4229
  }
4186
4230
  }
4187
- class Ks {
4231
+ class zs {
4188
4232
  constructor() {
4189
4233
  n(this, "type");
4190
4234
  }
4191
4235
  }
4192
- class Ws extends Ks {
4236
+ class Ks extends zs {
4193
4237
  constructor() {
4194
4238
  super(...arguments);
4195
4239
  n(this, "type", "Liquid");
@@ -4199,12 +4243,12 @@ class Ws extends Ks {
4199
4243
  return await l.render(r, s);
4200
4244
  }
4201
4245
  }
4202
- class Qs extends P {
4246
+ class Ws extends P {
4203
4247
  get instances() {
4204
- return [new Ws()];
4248
+ return [new Ks()];
4205
4249
  }
4206
4250
  }
4207
- class lr extends P {
4251
+ class sr extends P {
4208
4252
  get instances() {
4209
4253
  return [];
4210
4254
  }
@@ -4214,7 +4258,7 @@ class dt {
4214
4258
  n(this, "type");
4215
4259
  }
4216
4260
  }
4217
- class Js extends dt {
4261
+ class Qs extends dt {
4218
4262
  constructor() {
4219
4263
  super(...arguments);
4220
4264
  n(this, "type", "Tencent");
@@ -4235,7 +4279,7 @@ class Js extends dt {
4235
4279
  startRecord() {
4236
4280
  }
4237
4281
  }
4238
- class Xs extends dt {
4282
+ class Js extends dt {
4239
4283
  constructor() {
4240
4284
  super(...arguments);
4241
4285
  n(this, "type", "Default");
@@ -4249,9 +4293,9 @@ class Xs extends dt {
4249
4293
  return "";
4250
4294
  }
4251
4295
  }
4252
- class rr extends P {
4296
+ class lr extends P {
4253
4297
  get instances() {
4254
- return [new Xs(), new Js()];
4298
+ return [new Js(), new Qs()];
4255
4299
  }
4256
4300
  }
4257
4301
  class ht {
@@ -4332,19 +4376,19 @@ class ht {
4332
4376
  * SSO工厂
4333
4377
  */
4334
4378
  static get sso() {
4335
- return this.create(qs);
4379
+ return this.create(Ms);
4336
4380
  }
4337
4381
  /**
4338
4382
  * Task工厂
4339
4383
  */
4340
4384
  static get task() {
4341
- return this.create(zs);
4385
+ return this.create(Vs);
4342
4386
  }
4343
4387
  /**
4344
4388
  * 模板工厂
4345
4389
  */
4346
4390
  static get template() {
4347
- return this.create(Qs);
4391
+ return this.create(Ws);
4348
4392
  }
4349
4393
  //#endregion
4350
4394
  //#region 服务工厂
@@ -4370,14 +4414,14 @@ class ht {
4370
4414
  */
4371
4415
  n(ht, "mappings", {});
4372
4416
  const C = ht;
4373
- let Ys = {}, ge = {}, T = {}, Me = {}, pt = {}, Gs = {}, ye = {}, Zs = async (u) => {
4417
+ let Xs = {}, fe = {}, T = {}, Xe = {}, pt = {}, Ys = {}, me = {}, Gs = async (u) => {
4374
4418
  let e = await (await C.provider.getDefault("sys")).getAsync("app");
4375
- (e == null ? void 0 : e.cdn) != null && (u.cdn = e.cdn), ge = await C.cdn.createIfAbsent("Default", u.cdn), Ys = await C.encoder.getBase64(), T = await C.http.getHalo(), Me = await C.i18n.createIfAbsent("Default", "Default", async (s) => {
4376
- let l = (e == null ? void 0 : e.language) ?? st.getLanguage(), r = _.serialize({ lang: l });
4377
- await s.open(r), Hs = s.t, el = s.t_exists, tl = s.t_sys, sl = s.t_enum, ll = s.t_field, rl = s.t_field_choose_placeholder, nl = s.t_field_placeholder, il = s.t_table, al = s.t_module, ol = s.t_menu;
4378
- }), Me.addMessages(u.lang), pt = await C.hasher.getMd5(), Gs = await C.template.create("Liquid"), u.messenger == null ? ye = await C.messenger.getConsole() : ye = u.messenger;
4379
- }, Hs = {}, el = {}, tl = {}, sl = {}, ll = {}, rl = {}, nl = {}, il = {}, al = {}, ol = {};
4380
- class ul {
4419
+ (e == null ? void 0 : e.cdn) != null && (u.cdn = e.cdn), fe = await C.cdn.createIfAbsent("Default", u.cdn), Xs = await C.encoder.getBase64(), T = await C.http.getHalo(), Xe = await C.i18n.createIfAbsent("Default", "Default", async (s) => {
4420
+ let l = (e == null ? void 0 : e.language) ?? tt.getLanguage(), r = _.serialize({ lang: l });
4421
+ await s.open(r), Zs = s.t, Hs = s.t_exists, el = s.t_sys, tl = s.t_enum, sl = s.t_field, ll = s.t_field_choose_placeholder, rl = s.t_field_placeholder, nl = s.t_table, il = s.t_module, al = s.t_menu;
4422
+ }), Xe.addMessages(u.lang), pt = await C.hasher.getMd5(), Ys = await C.template.create("Liquid"), u.messenger == null ? me = await C.messenger.getConsole() : me = u.messenger;
4423
+ }, Zs = {}, Hs = {}, el = {}, tl = {}, sl = {}, ll = {}, rl = {}, nl = {}, il = {}, al = {};
4424
+ class ol {
4381
4425
  constructor() {
4382
4426
  /**
4383
4427
  * 消息发送对象
@@ -4397,22 +4441,22 @@ class ul {
4397
4441
  n(this, "cdn", "Local");
4398
4442
  }
4399
4443
  }
4400
- const cl = { class: "ha-empty" }, dl = { class: "empty-message" }, hl = {
4444
+ const ul = { class: "ha-empty" }, cl = { class: "empty-message" }, dl = {
4401
4445
  key: 0,
4402
4446
  class: "empty-content"
4403
- }, nr = /* @__PURE__ */ Q({
4447
+ }, rr = /* @__PURE__ */ Q({
4404
4448
  __name: "Empty",
4405
4449
  props: {
4406
4450
  message: { type: String, default: "暂无数据" },
4407
4451
  hasData: Boolean
4408
4452
  },
4409
4453
  setup(u) {
4410
- let t = u, { message: e, hasData: s } = te(t);
4411
- return (l, r) => (O(), B("div", cl, [
4412
- D("div", dl, he(y(e)), 1),
4413
- y(s) ? (O(), B("div", hl, [
4414
- pe(l.$slots, "default")
4415
- ])) : Ze("", !0)
4454
+ let t = u, { message: e, hasData: s } = se(t);
4455
+ return (l, r) => (I(), B("div", ul, [
4456
+ D("div", cl, de(y(e)), 1),
4457
+ y(s) ? (I(), B("div", dl, [
4458
+ he(l.$slots, "default")
4459
+ ])) : Ge("", !0)
4416
4460
  ]));
4417
4461
  }
4418
4462
  });
@@ -4429,7 +4473,7 @@ class ft {
4429
4473
  this.x = t, this.y = e;
4430
4474
  }
4431
4475
  }
4432
- class pl extends ft {
4476
+ class hl extends ft {
4433
4477
  constructor() {
4434
4478
  super(...arguments);
4435
4479
  /**
@@ -4438,7 +4482,7 @@ class pl extends ft {
4438
4482
  n(this, "affix");
4439
4483
  }
4440
4484
  }
4441
- class ir extends ft {
4485
+ class nr extends ft {
4442
4486
  constructor(e, s, l, r) {
4443
4487
  super(e, s);
4444
4488
  n(this, "width");
@@ -4493,8 +4537,8 @@ class gt {
4493
4537
  * 事件防抖: time ms没重复触发才执行指定操作
4494
4538
  */
4495
4539
  n(this, "debounce", (t, e, s = null) => {
4496
- this.lastDebounceTime == null && (this.lastDebounceTime = ee.getTimestamp());
4497
- let l = ee.getTimestamp();
4540
+ this.lastDebounceTime == null && (this.lastDebounceTime = te.getTimestamp());
4541
+ let l = te.getTimestamp();
4498
4542
  this.lastDebounceTimeout != null && clearTimeout(this.lastDebounceTimeout), this.lastDebounceTimeout = setTimeout(t, e, s), this.lastDebounceTime = l;
4499
4543
  });
4500
4544
  //#endregion
@@ -4535,7 +4579,7 @@ class gt {
4535
4579
  return;
4536
4580
  this.dragElement = t;
4537
4581
  let s = !1, l = (a) => (s = !0, a.preventDefault(), e.init(a)), r = (a) => {
4538
- let o = new pl(), c = e.range;
4582
+ let o = new hl(), c = e.range;
4539
4583
  if (c == null)
4540
4584
  o.x = a.clientX, o.y = a.clientY;
4541
4585
  else {
@@ -4598,7 +4642,7 @@ class gt {
4598
4642
  }
4599
4643
  //#endregion
4600
4644
  }
4601
- class ar {
4645
+ class ir {
4602
4646
  constructor() {
4603
4647
  n(this, "events", {});
4604
4648
  /**
@@ -4720,14 +4764,14 @@ class ar {
4720
4764
  clearTimeout(this.timer);
4721
4765
  }
4722
4766
  }
4723
- class or {
4767
+ class ar {
4724
4768
  /**
4725
4769
  * 对比数据变动
4726
4770
  */
4727
4771
  delta(t, e, s, l) {
4728
4772
  }
4729
4773
  }
4730
- class ur {
4774
+ class or {
4731
4775
  /**
4732
4776
  * 初始化,并绑定自动关闭上下文菜单事件
4733
4777
  */
@@ -4766,6 +4810,63 @@ class ur {
4766
4810
  }
4767
4811
  }
4768
4812
  }
4813
+ class ur {
4814
+ constructor() {
4815
+ //#region 属性
4816
+ /**
4817
+ * 随机数总长度
4818
+ */
4819
+ n(this, "length");
4820
+ /**
4821
+ * 当前显示元素之前的数组
4822
+ */
4823
+ n(this, "history", []);
4824
+ /**
4825
+ * 即将要显示的数组(未空表示用户还没看过,可随机生成)
4826
+ */
4827
+ n(this, "future", []);
4828
+ /**
4829
+ * 当前元素指针,索引值,用于指示当前显示的数在所有数组中的位置
4830
+ */
4831
+ n(this, "current", null);
4832
+ }
4833
+ //#endregion
4834
+ /**
4835
+ * 是否有上一个数
4836
+ */
4837
+ get hasPrev() {
4838
+ return this.history.length > 0;
4839
+ }
4840
+ /**
4841
+ * 是否有下一个数
4842
+ */
4843
+ get hasNext() {
4844
+ return this.history.length + 1 < this.length;
4845
+ }
4846
+ /**
4847
+ * 获取轨迹中的上一个数的索引,箭头函数可能会导致数据更新,但是UI不更新
4848
+ */
4849
+ prev() {
4850
+ this.current--;
4851
+ let t = this.history.pop();
4852
+ return this.future.splice(0, 0, t), t;
4853
+ }
4854
+ /**
4855
+ * 获取下一个数
4856
+ * 优先从轨迹获取,轨迹没有则取随机数
4857
+ */
4858
+ next() {
4859
+ if (this.future.length > 0) {
4860
+ this.current++;
4861
+ let e = this.future.shift();
4862
+ return this.history.push(e), e;
4863
+ }
4864
+ let t = Z.random(0, this.length);
4865
+ for (; this.history.includes(t); )
4866
+ t = Z.random(0, this.length);
4867
+ return this.current != null && this.history.push(t), this.current = this.history.length, t;
4868
+ }
4869
+ }
4769
4870
  class cr {
4770
4871
  /**
4771
4872
  * 开启表单监控
@@ -4782,11 +4883,11 @@ class cr {
4782
4883
  dispose() {
4783
4884
  }
4784
4885
  }
4785
- const fl = /* @__PURE__ */ Q({
4886
+ const pl = /* @__PURE__ */ Q({
4786
4887
  __name: "Fill",
4787
4888
  emits: ["resize"],
4788
4889
  setup(u, { emit: t }) {
4789
- let e = t, s = I(), l = I(), r = I(), i = new gt(), a = () => {
4890
+ let e = t, s = R(), l = R(), r = R(), i = new gt(), a = () => {
4790
4891
  let h = j.siblings(s.value);
4791
4892
  r.value = j.getHeight(h);
4792
4893
  }, o = () => {
@@ -4794,110 +4895,110 @@ const fl = /* @__PURE__ */ Q({
4794
4895
  }, c = () => {
4795
4896
  o();
4796
4897
  };
4797
- return we(() => {
4898
+ return ve(() => {
4798
4899
  a(), o(), i.resize(s.value, c);
4799
- }), be(() => {
4900
+ }), we(() => {
4800
4901
  i.dispose();
4801
- }), (h, d) => (O(), B("div", {
4902
+ }), (h, d) => (I(), B("div", {
4802
4903
  class: "ha-fill",
4803
4904
  ref_key: "fillRef",
4804
4905
  ref: s,
4805
- style: fe({ height: `calc(100% - ${y(r)}px)` })
4906
+ style: pe({ height: `calc(100% - ${y(r)}px)` })
4806
4907
  }, [
4807
- pe(h.$slots, "default")
4908
+ he(h.$slots, "default")
4808
4909
  ], 4));
4809
4910
  }
4810
- }), gl = /* @__PURE__ */ Q({
4911
+ }), fl = /* @__PURE__ */ Q({
4811
4912
  __name: "Scroller",
4812
4913
  props: {
4813
4914
  options: {}
4814
4915
  },
4815
4916
  emits: ["scroll"],
4816
4917
  setup(u, { expose: t, emit: e }) {
4817
- let s = e, l = u, { options: r } = te(l), i = I(), a = I(), o = I(), c = I(), h = I(!1), d = null, p = null, g = new gt(), b = I({ top: null, height: null }), q = (v) => {
4918
+ let s = e, l = u, { options: r } = se(l), i = R(), a = R(), o = R(), c = R(), h = R(!1), d = null, p = null, g = new gt(), x = R({ top: null, height: null }), N = (v) => {
4818
4919
  if (p == 0)
4819
4920
  return 0;
4820
4921
  let w = p - d;
4821
4922
  return v / w;
4822
- }, N = (v) => {
4823
- let w = d - b.value.height;
4923
+ }, V = (v) => {
4924
+ let w = d - x.value.height;
4824
4925
  return v / w;
4825
4926
  }, ue = (v) => {
4826
- let w = v.target, R = q(w.scrollTop);
4827
- L(R), s("scroll", w);
4828
- }, se = () => {
4927
+ let w = v.target, O = N(w.scrollTop);
4928
+ L(O), s("scroll", w);
4929
+ }, le = () => {
4829
4930
  if (p == 0)
4830
4931
  return 80;
4831
4932
  let v = d / p;
4832
4933
  if (v == 1)
4833
4934
  return 0;
4834
4935
  let w = d * v;
4835
- return re.between(w, 80, 500);
4936
+ return Z.between(w, 80, 500);
4836
4937
  }, f = (v, w) => {
4837
- let R = q(v), V = (d - w) * R;
4838
- return re.between(V, 0, d - w);
4938
+ let O = N(v), z = (d - w) * O;
4939
+ return Z.between(z, 0, d - w);
4839
4940
  }, E = (v) => {
4840
- let w = se();
4941
+ let w = le();
4841
4942
  return { top: f(v, w), height: w };
4842
4943
  }, m = (v) => {
4843
4944
  }, $ = (v) => {
4844
- let w = q(v);
4945
+ let w = N(v);
4845
4946
  L(w);
4846
4947
  }, L = (v) => {
4847
- let w = re.between(v, 0, 1), R = d - b.value.height;
4848
- b.value.top = R * w;
4849
- let me = (p - d) * w;
4850
- r.value.scrollTop = me, a.value.scrollTop != me && (a.value.scrollTop = me);
4948
+ let w = Z.between(v, 0, 1), O = d - x.value.height;
4949
+ x.value.top = O * w;
4950
+ let ge = (p - d) * w;
4951
+ r.value.scrollTop = ge, a.value.scrollTop != ge && (a.value.scrollTop = ge);
4851
4952
  }, U = () => {
4852
4953
  let v = r.value.scrollTop;
4853
- b.value = E(v), $(v);
4954
+ x.value = E(v), $(v);
4854
4955
  }, G = (v) => {
4855
4956
  d = j.getHeight(a.value), p = a.value.scrollHeight;
4856
- let w = se();
4857
- b.value.height = w, b.value.top = f(r.value.scrollTop, w);
4957
+ let w = le();
4958
+ x.value.height = w, x.value.top = f(r.value.scrollTop, w);
4858
4959
  }, ne = (v) => {
4859
4960
  let w = v.target;
4860
4961
  return parseInt(w.style.top);
4861
- }, le = (v, w, R, V) => {
4862
- let me = v.y - w.y, mt = R + me, yt = N(mt);
4962
+ }, re = (v, w, O, z) => {
4963
+ let ge = v.y - w.y, mt = O + ge, yt = V(mt);
4863
4964
  L(yt);
4864
- }, xe = (v) => {
4965
+ }, be = (v) => {
4865
4966
  h.value = !0;
4866
- }, ke = (v) => {
4967
+ }, xe = (v) => {
4867
4968
  h.value = !1;
4868
4969
  };
4869
- return we(() => {
4870
- U(), g.scroll(a.value, ue), g.drag(c.value, { init: ne, handler: le }), g.observe(a.value, G), g.mouseDown(c.value, xe, ke);
4871
- }), be(() => {
4970
+ return ve(() => {
4971
+ U(), g.scroll(a.value, ue), g.drag(c.value, { init: ne, handler: re }), g.observe(a.value, G), g.mouseDown(c.value, be, xe);
4972
+ }), we(() => {
4872
4973
  g.dispose();
4873
4974
  }), J(() => r.value.scrollTop, (v, w) => {
4874
- let R = q(v);
4875
- L(R);
4876
- }), t({ scrollTo: $, update: U }), (v, w) => (O(), B("div", {
4975
+ let O = N(v);
4976
+ L(O);
4977
+ }), t({ scrollTo: $, update: U }), (v, w) => (I(), B("div", {
4877
4978
  ref_key: "scrollerRef",
4878
4979
  ref: i,
4879
- class: Le(["ha-scroller", { hover: y(h) }])
4980
+ class: $e(["ha-scroller", { hover: y(h) }])
4880
4981
  }, [
4881
4982
  D("div", {
4882
4983
  ref_key: "containerRef",
4883
4984
  ref: a,
4884
4985
  class: "scroller-container"
4885
4986
  }, [
4886
- pe(v.$slots, "default")
4987
+ he(v.$slots, "default")
4887
4988
  ], 512),
4888
4989
  D("div", {
4889
4990
  ref_key: "trackRef",
4890
4991
  ref: o,
4891
4992
  class: "scroller-track",
4892
4993
  onClick: w[0] || (w[0] = //@ts-ignore
4893
- (...R) => y(m) && y(m)(...R))
4994
+ (...O) => y(m) && y(m)(...O))
4894
4995
  }, [
4895
4996
  D("div", {
4896
4997
  ref_key: "thumbRef",
4897
4998
  ref: c,
4898
4999
  class: "scroller-thumb",
4899
- style: fe({ top: `${y(b).top}px`, height: `${y(b).height}px` })
4900
- }, he(y(r).scrollTop), 5)
5000
+ style: pe({ top: `${y(x).top}px`, height: `${y(x).height}px` })
5001
+ }, de(y(r).scrollTop), 5)
4901
5002
  ], 512)
4902
5003
  ], 2));
4903
5004
  }
@@ -4905,7 +5006,7 @@ const fl = /* @__PURE__ */ Q({
4905
5006
  __name: "Timer",
4906
5007
  emits: ["change"],
4907
5008
  setup(u, { expose: t, emit: e }) {
4908
- let s = e, l = -8 * 60 * 60 * 1e3, r = I(l), i = null, a = 5, o = () => {
5009
+ let s = e, l = -8 * 60 * 60 * 1e3, r = R(l), i = null, a = 5, o = () => {
4909
5010
  i == null && (i = setInterval(() => {
4910
5011
  r.value += a, s("change", r.value);
4911
5012
  }, a));
@@ -4916,11 +5017,11 @@ const fl = /* @__PURE__ */ Q({
4916
5017
  }, d = () => {
4917
5018
  clearInterval(i), r.value = l;
4918
5019
  };
4919
- return be(() => {
5020
+ return we(() => {
4920
5021
  clearInterval(i);
4921
- }), t({ restart: c, start: o, stop: h, reset: d }), (p, g) => (O(), B("span", null, [
4922
- pe(p.$slots, "default"),
4923
- xt(he(y(ee).format(y(r), "HH:mm:ss SSS")), 1)
5022
+ }), t({ restart: c, start: o, stop: h, reset: d }), (p, g) => (I(), B("span", null, [
5023
+ he(p.$slots, "default"),
5024
+ xt(de(y(te).format(y(r), "HH:mm:ss SSS")), 1)
4924
5025
  ]));
4925
5026
  }
4926
5027
  }), hr = /* @__PURE__ */ Q({
@@ -4932,17 +5033,17 @@ const fl = /* @__PURE__ */ Q({
4932
5033
  },
4933
5034
  emits: ["mounted", "change", "scroll", "update:modelValue"],
4934
5035
  setup(u, { expose: t, emit: e }) {
4935
- let s = e, l = u, { config: r, border: i, modelValue: a } = te(l), o = null, c = null, h = null, d = I(), { app: p } = Z.sys, g = (f) => f == "default" ? null : "vs-dark", b = (f) => {
4936
- if (Z.editor.completions[f])
5036
+ let s = e, l = u, { config: r, border: i, modelValue: a } = se(l), o = null, c = null, h = null, d = R(), { app: p } = ee.sys, g = (f) => f == "default" ? null : "vs-dark", x = (f) => {
5037
+ if (ee.editor.completions[f])
4937
5038
  return;
4938
5039
  let E = o.languages.getLanguages().find(($) => $.id == f);
4939
5040
  if (!E)
4940
5041
  return;
4941
5042
  let m = E.loader;
4942
5043
  m && m().then(($) => {
4943
- Z.editor.completions[f] || (q($, f), Z.editor.completions[f] = !0);
5044
+ ee.editor.completions[f] || (N($, f), ee.editor.completions[f] = !0);
4944
5045
  });
4945
- }, q = (f, E) => o.languages.registerCompletionItemProvider(E, {
5046
+ }, N = (f, E) => o.languages.registerCompletionItemProvider(E, {
4946
5047
  provideCompletionItems: ($, L) => {
4947
5048
  let U = $.getWordUntilPosition(L), G = {
4948
5049
  startLineNumber: L.lineNumber,
@@ -4950,36 +5051,36 @@ const fl = /* @__PURE__ */ Q({
4950
5051
  startColumn: U.startColumn,
4951
5052
  endColumn: U.endColumn
4952
5053
  }, ne = [];
4953
- const le = ["builtinFunctions", "keywords", "operators"];
4954
- for (let xe = 0; xe < le.length; xe++) {
4955
- const ke = le[xe];
4956
- let v = f.language[ke];
5054
+ const re = ["builtinFunctions", "keywords", "operators"];
5055
+ for (let be = 0; be < re.length; be++) {
5056
+ const xe = re[be];
5057
+ let v = f.language[xe];
4957
5058
  v && v.forEach((w) => {
4958
- let R = w.toLowerCase(), V = {
4959
- label: R,
5059
+ let O = w.toLowerCase(), z = {
5060
+ label: O,
4960
5061
  kind: null,
4961
- insertText: R,
5062
+ insertText: O,
4962
5063
  range: G,
4963
5064
  documentation: w
4964
5065
  };
4965
- ke == "keywords" ? (V.kind = o.languages.CompletionItemKind.Keyword, V.detail = "关键词") : ke == "operators" ? (V.kind = o.languages.CompletionItemKind.Operator, V.insertText += " ", V.detail = "操作符") : (V.kind = o.languages.CompletionItemKind.Function, V.insertText += "()", V.detail = "函数"), ne.push(V);
5066
+ xe == "keywords" ? (z.kind = o.languages.CompletionItemKind.Keyword, z.detail = "关键词") : xe == "operators" ? (z.kind = o.languages.CompletionItemKind.Operator, z.insertText += " ", z.detail = "操作符") : (z.kind = o.languages.CompletionItemKind.Function, z.insertText += "()", z.detail = "函数"), ne.push(z);
4966
5067
  });
4967
5068
  }
4968
5069
  return { suggestions: ne };
4969
5070
  }
4970
- }), N = () => {
5071
+ }), V = () => {
4971
5072
  let f = null;
4972
- r.value.schema && (f = r.value.category + "/" + W.getUniqueId(), Z.tryAddSchema(f, r.value.category, r.value.schema));
5073
+ r.value.schema && (f = r.value.category + "/" + M.getUniqueId(), ee.tryAddSchema(f, r.value.category, r.value.schema));
4973
5074
  let E = {
4974
5075
  validate: !0,
4975
5076
  allowComments: !0,
4976
5077
  //允许配置注释
4977
5078
  //保证架构配置在当前控件生效,所以需要绑定匹配哪个文件时使用架构
4978
- schemas: X.clone(Z.editor.schemas),
5079
+ schemas: X.clone(ee.editor.schemas),
4979
5080
  trailingCommas: "ignore"
4980
5081
  //允许末尾逗号
4981
5082
  };
4982
- o.languages.json.jsonDefaults.setDiagnosticsOptions(E), b(r.value.language);
5083
+ o.languages.json.jsonDefaults.setDiagnosticsOptions(E), x(r.value.language);
4983
5084
  let m = f ? o.Uri.parse(f) : null;
4984
5085
  h = o.editor.createModel(a.value, r.value.language, m);
4985
5086
  let $ = {
@@ -5016,13 +5117,13 @@ const fl = /* @__PURE__ */ Q({
5016
5117
  s("update:modelValue", G), s("change", G);
5017
5118
  });
5018
5119
  };
5019
- we(async () => {
5020
- o = await ge.getMonaco(), d.value && (N(), s("mounted", o, c));
5120
+ ve(async () => {
5121
+ o = await fe.getMonaco(), d.value && (V(), s("mounted", o, c));
5021
5122
  });
5022
5123
  let ue = () => {
5023
5124
  c == null || c.layout();
5024
- }, se = () => c;
5025
- return be(() => {
5125
+ }, le = () => c;
5126
+ return we(() => {
5026
5127
  h == null || h.dispose(), c == null || c.dispose();
5027
5128
  }), J(() => p.theme, (f, E) => {
5028
5129
  let m = g(f);
@@ -5037,13 +5138,13 @@ const fl = /* @__PURE__ */ Q({
5037
5138
  if (!c)
5038
5139
  return;
5039
5140
  let m = c.getModel();
5040
- o.editor.setModelLanguage(m, f), b(f);
5041
- }), t({ layout: ue, getEditor: se }), (f, E) => (O(), He(fl, null, {
5042
- default: qe(() => [
5141
+ o.editor.setModelLanguage(m, f), x(f);
5142
+ }), t({ layout: ue, getEditor: le }), (f, E) => (I(), Ze(pl, null, {
5143
+ default: Fe(() => [
5043
5144
  D("div", {
5044
5145
  ref_key: "monacoEditorRef",
5045
5146
  ref: d,
5046
- class: Le(["ha-code", { border: y(i) }])
5147
+ class: $e(["ha-code", { border: y(i) }])
5047
5148
  }, null, 2)
5048
5149
  ]),
5049
5150
  _: 1
@@ -5059,13 +5160,13 @@ const fl = /* @__PURE__ */ Q({
5059
5160
  },
5060
5161
  emits: ["update:modelValue", "update:original", "change"],
5061
5162
  setup(u, { emit: t }) {
5062
- let e = t, s = u, { inline: l, language: r, original: i, modelValue: a } = te(s), o = null, c = null, h = null, d = null, p = null, g = null, b = I(), q = I(), { app: N } = Z.sys, ue = (f) => {
5063
- c = f.editor.createModel(i.value, r.value), h = f.editor.createModel(a.value, r.value), o = f.editor.createDiffEditor(b.value, {
5163
+ let e = t, s = u, { inline: l, language: r, original: i, modelValue: a } = se(s), o = null, c = null, h = null, d = null, p = null, g = null, x = R(), N = R(), { app: V } = ee.sys, ue = (f) => {
5164
+ c = f.editor.createModel(i.value, r.value), h = f.editor.createModel(a.value, r.value), o = f.editor.createDiffEditor(x.value, {
5064
5165
  originalEditable: !0,
5065
5166
  automaticLayout: !0,
5066
5167
  renderSideBySide: !l.value,
5067
5168
  //是否启用行内模式
5068
- theme: se(N.theme)
5169
+ theme: le(V.theme)
5069
5170
  }), o.setModel({ original: c, modified: h }), d = o.getOriginalEditor(), d.onDidChangeModelContent((E) => {
5070
5171
  let m = d.getValue();
5071
5172
  e("update:original", m), e("change", m);
@@ -5073,11 +5174,11 @@ const fl = /* @__PURE__ */ Q({
5073
5174
  let m = p.getValue();
5074
5175
  e("update:modelValue", m);
5075
5176
  });
5076
- }, se = (f) => f == "default" ? null : "vs-dark";
5077
- return we(async () => {
5078
- g = await ge.getMonaco(), ue(g);
5079
- }), J(() => N.theme, (f, E) => {
5080
- let m = se(f);
5177
+ }, le = (f) => f == "default" ? null : "vs-dark";
5178
+ return ve(async () => {
5179
+ g = await fe.getMonaco(), ue(g);
5180
+ }), J(() => V.theme, (f, E) => {
5181
+ let m = le(f);
5081
5182
  g.editor.setTheme(m);
5082
5183
  }), J(() => r.value, (f, E) => {
5083
5184
  c && g.editor.setModelLanguage(c, f), h && g.editor.setModelLanguage(h, f);
@@ -5091,52 +5192,52 @@ const fl = /* @__PURE__ */ Q({
5091
5192
  return;
5092
5193
  let m = h.getValue();
5093
5194
  f != m && h.setValue(f ?? "");
5094
- }), (f, E) => (O(), B("div", {
5195
+ }), (f, E) => (I(), B("div", {
5095
5196
  ref_key: "compareRef",
5096
- ref: b,
5197
+ ref: x,
5097
5198
  class: "ha-compare",
5098
- style: fe(y(q))
5199
+ style: pe(y(N))
5099
5200
  }, null, 4));
5100
5201
  }
5101
- }), ze = (u, t) => {
5202
+ }), Ne = (u, t) => {
5102
5203
  const e = u.__vccOpts || u;
5103
5204
  for (const [s, l] of t)
5104
5205
  e[s] = l;
5105
5206
  return e;
5106
- }, ml = {}, yl = { class: "ha-option" };
5107
- function vl(u, t) {
5108
- return O(), B("div", yl, "选项");
5207
+ }, gl = {}, ml = { class: "ha-option" };
5208
+ function yl(u, t) {
5209
+ return I(), B("div", ml, "选项");
5109
5210
  }
5110
- const wl = /* @__PURE__ */ ze(ml, [["render", vl]]), bl = { class: "ha-rich-text" }, xl = /* @__PURE__ */ Ct('<div class="ql-formats"><button class="ql-bold" data-toggle="tooltip" data-placement="bottom" title="Bold"></button><button class="ql-italic" data-toggle="tooltip" data-placement="bottom" title="Italic &lt;ctrl+i&gt;"></button><button class="ql-date" data-toggle="tooltip" data-placement="bottom" title="Date"></button><button class="ql-underline" data-toggle="tooltip" data-placement="bottom" title="Underline"></button><button class="ql-strike" data-toggle="tooltip" data-placement="bottom" title="Strike"></button></div><div class="ql-formats"><button class="ql-list" data-toggle="tooltip" data-placement="bottom" value="ordered"></button><button class="ql-list" data-toggle="tooltip" data-placement="bottom" value="bullet"></button><select class="ql-color"><option selected></option><option value="#e60000"></option><option value="#ff9900"></option><option value="#ffff00"></option><option value="#008a00"></option><option value="#0066cc"></option><option value="#9933ff"></option><option value="#ffffff"></option><option value="#facccc"></option><option value="#ffebcc"></option><option value="#ffffcc"></option><option value="#cce8cc"></option><option value="#cce0f5"></option><option value="#ebd6ff"></option><option value="#bbbbbb"></option><option value="#f06666"></option><option value="#ffc266"></option><option value="#ffff66"></option><option value="#66b966"></option><option value="#66a3e0"></option><option value="#c285ff"></option><option value="#888888"></option><option value="#a10000"></option><option value="#b26b00"></option><option value="#b2b200"></option><option value="#006100"></option><option value="#0047b2"></option><option value="#6b24b2"></option><option value="#444444"></option><option value="#5c0000"></option><option value="#663d00"></option><option value="#666600"></option><option value="#003700"></option><option value="#002966"></option><option value="#3d1466"></option></select><select class="ql-background"><option selected></option><option value="#e60000"></option><option value="#ff9900"></option><option value="#ffff00"></option><option value="#008a00"></option><option value="#0066cc"></option><option value="#9933ff"></option><option value="#ffffff"></option><option value="#facccc"></option><option value="#ffebcc"></option><option value="#ffffcc"></option><option value="#cce8cc"></option><option value="#cce0f5"></option><option value="#ebd6ff"></option><option value="#bbbbbb"></option><option value="#f06666"></option><option value="#ffc266"></option><option value="#ffff66"></option><option value="#66b966"></option><option value="#66a3e0"></option><option value="#c285ff"></option><option value="#888888"></option><option value="#a10000"></option><option value="#b26b00"></option><option value="#b2b200"></option><option value="#006100"></option><option value="#0047b2"></option><option value="#6b24b2"></option><option value="#444444"></option><option value="#5c0000"></option><option value="#663d00"></option><option value="#666600"></option><option value="#003700"></option><option value="#002966"></option><option value="#3d1466"></option></select></div><div class="ql-formats"><button class="ql-code-block" data-toggle="tooltip" data-placement="bottom" title="Code"></button><button class="ql-blockquote" data-toggle="tooltip" data-placement="bottom" title="Block quote"></button><button class="ql-link" data-toggle="tooltip" data-placement="bottom" title="Link"></button></div><div class="ql-formats"><button class="ql-header" data-toggle="tooltip" data-placement="bottom" value="1"></button><button class="ql-header" data-toggle="tooltip" data-placement="bottom" value="2"></button><select class="ql-align"><option selected></option><option value="center"></option><option value="right"></option><option value="justify"></option></select></div><div class="ql-formats"><select class="ql-size"><option value="small"></option><option selected></option><option value="large"></option><option value="huge"></option></select><select class="ql-header"><option value=""></option><option value="1"></option><option value="2"></option><option value="3"></option><option value="4"></option><option value="5"></option><option value="6"></option></select></div><div class="ql-formats"><select class="ql-font"><option selected></option><option value="serif"></option><option value="monospace"></option></select></div><div class="ql-formats"><button class="ql-image" data-toggle="tooltip" data-placement="bottom" title="Image"></button><button class="ql-video" data-toggle="tooltip" data-placement="bottom" title="Video"></button><button class="ql-clean" data-toggle="tooltip" data-placement="bottom" title="Clean"></button></div>', 7), kl = [
5111
- xl
5211
+ const vl = /* @__PURE__ */ Ne(gl, [["render", yl]]), wl = { class: "ha-rich-text" }, bl = /* @__PURE__ */ Ct('<div class="ql-formats"><button class="ql-bold" data-toggle="tooltip" data-placement="bottom" title="Bold"></button><button class="ql-italic" data-toggle="tooltip" data-placement="bottom" title="Italic &lt;ctrl+i&gt;"></button><button class="ql-date" data-toggle="tooltip" data-placement="bottom" title="Date"></button><button class="ql-underline" data-toggle="tooltip" data-placement="bottom" title="Underline"></button><button class="ql-strike" data-toggle="tooltip" data-placement="bottom" title="Strike"></button></div><div class="ql-formats"><button class="ql-list" data-toggle="tooltip" data-placement="bottom" value="ordered"></button><button class="ql-list" data-toggle="tooltip" data-placement="bottom" value="bullet"></button><select class="ql-color"><option selected></option><option value="#e60000"></option><option value="#ff9900"></option><option value="#ffff00"></option><option value="#008a00"></option><option value="#0066cc"></option><option value="#9933ff"></option><option value="#ffffff"></option><option value="#facccc"></option><option value="#ffebcc"></option><option value="#ffffcc"></option><option value="#cce8cc"></option><option value="#cce0f5"></option><option value="#ebd6ff"></option><option value="#bbbbbb"></option><option value="#f06666"></option><option value="#ffc266"></option><option value="#ffff66"></option><option value="#66b966"></option><option value="#66a3e0"></option><option value="#c285ff"></option><option value="#888888"></option><option value="#a10000"></option><option value="#b26b00"></option><option value="#b2b200"></option><option value="#006100"></option><option value="#0047b2"></option><option value="#6b24b2"></option><option value="#444444"></option><option value="#5c0000"></option><option value="#663d00"></option><option value="#666600"></option><option value="#003700"></option><option value="#002966"></option><option value="#3d1466"></option></select><select class="ql-background"><option selected></option><option value="#e60000"></option><option value="#ff9900"></option><option value="#ffff00"></option><option value="#008a00"></option><option value="#0066cc"></option><option value="#9933ff"></option><option value="#ffffff"></option><option value="#facccc"></option><option value="#ffebcc"></option><option value="#ffffcc"></option><option value="#cce8cc"></option><option value="#cce0f5"></option><option value="#ebd6ff"></option><option value="#bbbbbb"></option><option value="#f06666"></option><option value="#ffc266"></option><option value="#ffff66"></option><option value="#66b966"></option><option value="#66a3e0"></option><option value="#c285ff"></option><option value="#888888"></option><option value="#a10000"></option><option value="#b26b00"></option><option value="#b2b200"></option><option value="#006100"></option><option value="#0047b2"></option><option value="#6b24b2"></option><option value="#444444"></option><option value="#5c0000"></option><option value="#663d00"></option><option value="#666600"></option><option value="#003700"></option><option value="#002966"></option><option value="#3d1466"></option></select></div><div class="ql-formats"><button class="ql-code-block" data-toggle="tooltip" data-placement="bottom" title="Code"></button><button class="ql-blockquote" data-toggle="tooltip" data-placement="bottom" title="Block quote"></button><button class="ql-link" data-toggle="tooltip" data-placement="bottom" title="Link"></button></div><div class="ql-formats"><button class="ql-header" data-toggle="tooltip" data-placement="bottom" value="1"></button><button class="ql-header" data-toggle="tooltip" data-placement="bottom" value="2"></button><select class="ql-align"><option selected></option><option value="center"></option><option value="right"></option><option value="justify"></option></select></div><div class="ql-formats"><select class="ql-size"><option value="small"></option><option selected></option><option value="large"></option><option value="huge"></option></select><select class="ql-header"><option value=""></option><option value="1"></option><option value="2"></option><option value="3"></option><option value="4"></option><option value="5"></option><option value="6"></option></select></div><div class="ql-formats"><select class="ql-font"><option selected></option><option value="serif"></option><option value="monospace"></option></select></div><div class="ql-formats"><button class="ql-image" data-toggle="tooltip" data-placement="bottom" title="Image"></button><button class="ql-video" data-toggle="tooltip" data-placement="bottom" title="Video"></button><button class="ql-clean" data-toggle="tooltip" data-placement="bottom" title="Clean"></button></div>', 7), xl = [
5212
+ bl
5112
5213
  ], fr = /* @__PURE__ */ Q({
5113
5214
  __name: "RichText",
5114
- props: /* @__PURE__ */ Ke({
5215
+ props: /* @__PURE__ */ Ve({
5115
5216
  options: {}
5116
5217
  }, {
5117
5218
  modelValue: {},
5118
5219
  modelModifiers: {}
5119
5220
  }),
5120
- emits: /* @__PURE__ */ Ke(["change", "scroll"], ["update:modelValue"]),
5221
+ emits: /* @__PURE__ */ Ve(["change", "scroll"], ["update:modelValue"]),
5121
5222
  setup(u, { expose: t, emit: e }) {
5122
- let s = e, l = u, { options: r } = te(l), i = et(u, "modelValue"), a, o = null, c = null, h = !1, d = !1, p = I(), g = I(), b = I(), q = I(!1), N = I({ style: null, options: { scrollTop: 0 } }), ue = (m) => {
5123
- let $ = ee.getDateString(), L = getSelection(), U = L.getRangeAt(0), G = U.startContainer;
5223
+ let s = e, l = u, { options: r } = se(l), i = He(u, "modelValue"), a, o = null, c = null, h = !1, d = !1, p = R(), g = R(), x = R(), N = R(!1), V = R({ style: null, options: { scrollTop: 0 } }), ue = (m) => {
5224
+ let $ = te.getDateString(), L = getSelection(), U = L.getRangeAt(0), G = U.startContainer;
5124
5225
  if (G.nodeName == "#text")
5125
5226
  G.insertData(U.startOffset, $), U.setStart(G, U.startOffset + $.length), L.removeAllRanges(), L.addRange(U);
5126
5227
  else {
5127
5228
  let ne = document.createTextNode($);
5128
5229
  G.appendChild(ne);
5129
- let le = document.createRange();
5130
- le.selectNodeContents(ne), le.setStart(ne, le.startOffset + $.length), L.removeAllRanges(), L.addRange(le);
5230
+ let re = document.createRange();
5231
+ re.selectNodeContents(ne), re.setStart(ne, re.startOffset + $.length), L.removeAllRanges(), L.addRange(re);
5131
5232
  }
5132
- }, se = (m) => {
5233
+ }, le = (m) => {
5133
5234
  if (o.scrollTop = m.scrollTop, h || d) {
5134
5235
  h = !1, d = !1;
5135
5236
  return;
5136
5237
  }
5137
5238
  c = m, s("scroll", m);
5138
5239
  }, f = () => `height: calc(100% - ${j.getHeight(g.value)}px)`, E = async () => {
5139
- let m = await ge.getQuill();
5240
+ let m = await fe.getQuill();
5140
5241
  a = new m(p.value, {
5141
5242
  modules: {
5142
5243
  toolbar: {
@@ -5145,40 +5246,40 @@ const wl = /* @__PURE__ */ ze(ml, [["render", vl]]), bl = { class: "ha-rich-text
5145
5246
  }
5146
5247
  },
5147
5248
  theme: "snow"
5148
- }), q.value = !0, We(() => {
5149
- N.value.style = f();
5150
- }), r.value.readonly && a.disable(), o = p.value.querySelector(".ql-editor"), o.innerHTML = i.value, N.value.options.scrollTop = r.value.scrollTop, a.on("text-change", ($, L, U) => {
5249
+ }), N.value = !0, ze(() => {
5250
+ V.value.style = f();
5251
+ }), r.value.readonly && a.disable(), o = p.value.querySelector(".ql-editor"), o.innerHTML = i.value, V.value.options.scrollTop = r.value.scrollTop, a.on("text-change", ($, L, U) => {
5151
5252
  o.innerHTML != i.value && (h = !0, i.value = o.innerHTML);
5152
5253
  }), o.addEventListener("paste", ($) => {
5153
5254
  d = !0;
5154
5255
  });
5155
5256
  };
5156
- return we(() => {
5257
+ return ve(() => {
5157
5258
  E();
5158
- }), be(() => {
5259
+ }), we(() => {
5159
5260
  a = null;
5160
5261
  }), J(() => i.value, (m, $) => {
5161
5262
  o && o.innerHTML != m && (o.innerHTML = m);
5162
5263
  }), J(() => r.value.scrollTop, (m, $) => {
5163
- m != null && (c == null ? void 0 : c.scrollTop) != m && We(() => {
5164
- N.value.options.scrollTop = m;
5264
+ m != null && (c == null ? void 0 : c.scrollTop) != m && ze(() => {
5265
+ V.value.options.scrollTop = m;
5165
5266
  });
5166
- }), t({}), (m, $) => (O(), B("div", bl, [
5267
+ }), t({}), (m, $) => (I(), B("div", wl, [
5167
5268
  kt(D("div", {
5168
5269
  ref_key: "toolbarRef",
5169
5270
  ref: g
5170
- }, kl, 512), [
5171
- [St, y(q)]
5271
+ }, xl, 512), [
5272
+ [St, y(N)]
5172
5273
  ]),
5173
- Ce(y(gl), {
5274
+ Se(y(fl), {
5174
5275
  ref_key: "scrollerRef",
5175
- ref: b,
5276
+ ref: x,
5176
5277
  class: "ql-body",
5177
- options: y(N).options,
5178
- onScroll: y(se),
5179
- style: fe(y(N).style)
5278
+ options: y(V).options,
5279
+ onScroll: y(le),
5280
+ style: pe(y(V).style)
5180
5281
  }, {
5181
- default: qe(() => [
5282
+ default: Fe(() => [
5182
5283
  D("div", {
5183
5284
  ref_key: "editorRef",
5184
5285
  ref: p
@@ -5188,16 +5289,16 @@ const wl = /* @__PURE__ */ ze(ml, [["render", vl]]), bl = { class: "ha-rich-text
5188
5289
  }, 8, ["options", "onScroll", "style"])
5189
5290
  ]));
5190
5291
  }
5191
- }), Sl = {}, Cl = { class: "ha-select" }, El = /* @__PURE__ */ D("div", { class: "select-title" }, "头", -1), Tl = /* @__PURE__ */ D("div", { class: "select-body" }, [
5292
+ }), kl = {}, Sl = { class: "ha-select" }, Cl = /* @__PURE__ */ D("div", { class: "select-title" }, "头", -1), El = /* @__PURE__ */ D("div", { class: "select-body" }, [
5192
5293
  /* @__PURE__ */ D("input", { type: "text" })
5193
- ], -1), $l = [
5194
- El,
5195
- Tl
5294
+ ], -1), Tl = [
5295
+ Cl,
5296
+ El
5196
5297
  ];
5197
- function Ll(u, t) {
5198
- return O(), B("div", Cl, $l);
5298
+ function $l(u, t) {
5299
+ return I(), B("div", Sl, Tl);
5199
5300
  }
5200
- const _e = /* @__PURE__ */ ze(Sl, [["render", Ll]]);
5301
+ const je = /* @__PURE__ */ Ne(kl, [["render", $l]]);
5201
5302
  class gr {
5202
5303
  /**
5203
5304
  * 初始化
@@ -5222,7 +5323,7 @@ class gr {
5222
5323
  this.startLine = t, this.endLine = e, this.startColumn = s, this.endColumn = l;
5223
5324
  }
5224
5325
  }
5225
- const Al = { class: "ha-condition" }, Dl = /* @__PURE__ */ Q({
5326
+ const Ll = { class: "ha-condition" }, Al = /* @__PURE__ */ Q({
5226
5327
  __name: "Condition",
5227
5328
  props: {
5228
5329
  name: {},
@@ -5230,59 +5331,59 @@ const Al = { class: "ha-condition" }, Dl = /* @__PURE__ */ Q({
5230
5331
  value: {}
5231
5332
  },
5232
5333
  setup(u) {
5233
- let t = u, { name: e, operator: s, value: l } = te(t);
5234
- return (r, i) => (O(), B("div", Al, [
5235
- Ce(y(_e), {
5334
+ let t = u, { name: e, operator: s, value: l } = se(t);
5335
+ return (r, i) => (I(), B("div", Ll, [
5336
+ Se(y(je), {
5236
5337
  modelValue: y(e),
5237
- "onUpdate:modelValue": i[0] || (i[0] = (a) => je(e) ? e.value = a : e = a)
5338
+ "onUpdate:modelValue": i[0] || (i[0] = (a) => Oe(e) ? e.value = a : e = a)
5238
5339
  }, null, 8, ["modelValue"]),
5239
- Ce(y(_e), {
5340
+ Se(y(je), {
5240
5341
  modelValue: y(s),
5241
- "onUpdate:modelValue": i[1] || (i[1] = (a) => je(s) ? s.value = a : s = a)
5342
+ "onUpdate:modelValue": i[1] || (i[1] = (a) => Oe(s) ? s.value = a : s = a)
5242
5343
  }, {
5243
- default: qe(() => [
5244
- Ce(y(wl))
5344
+ default: Fe(() => [
5345
+ Se(y(vl))
5245
5346
  ]),
5246
5347
  _: 1
5247
5348
  }, 8, ["modelValue"]),
5248
- Ce(y(_e), {
5349
+ Se(y(je), {
5249
5350
  modelValue: y(l),
5250
- "onUpdate:modelValue": i[2] || (i[2] = (a) => je(l) ? l.value = a : l = a)
5351
+ "onUpdate:modelValue": i[2] || (i[2] = (a) => Oe(l) ? l.value = a : l = a)
5251
5352
  }, null, 8, ["modelValue"])
5252
5353
  ]));
5253
5354
  }
5254
- }), Il = { class: "ha-condition-group" }, mr = /* @__PURE__ */ Q({
5355
+ }), Dl = { class: "ha-condition-group" }, mr = /* @__PURE__ */ Q({
5255
5356
  __name: "Index",
5256
5357
  props: {
5257
5358
  conditions: {}
5258
5359
  },
5259
5360
  setup(u) {
5260
- let t = u, { conditions: e } = te(t);
5261
- return (s, l) => (O(), B("div", Il, [
5262
- (O(!0), B(Et, null, Tt(y(e), (r) => (O(), He(y(Dl), {
5361
+ let t = u, { conditions: e } = se(t);
5362
+ return (s, l) => (I(), B("div", Dl, [
5363
+ (I(!0), B(Et, null, Tt(y(e), (r) => (I(), Ze(y(Al), {
5263
5364
  name: r.name,
5264
5365
  operator: r.operator,
5265
5366
  value: r.value
5266
5367
  }, null, 8, ["name", "operator", "value"]))), 256))
5267
5368
  ]));
5268
5369
  }
5269
- }), Ol = {}, Rl = { class: "ha-col" };
5270
- function jl(u, t) {
5271
- return O(), B("div", Rl, [
5272
- pe(u.$slots, "default")
5370
+ }), Rl = {}, Il = { class: "ha-col" };
5371
+ function Ol(u, t) {
5372
+ return I(), B("div", Il, [
5373
+ he(u.$slots, "default")
5273
5374
  ]);
5274
5375
  }
5275
- const yr = /* @__PURE__ */ ze(Ol, [["render", jl]]), vr = /* @__PURE__ */ Q({
5376
+ const yr = /* @__PURE__ */ Ne(Rl, [["render", Ol]]), vr = /* @__PURE__ */ Q({
5276
5377
  __name: "Container",
5277
5378
  props: {
5278
5379
  container: { type: Boolean, default: !0 }
5279
5380
  },
5280
5381
  setup(u) {
5281
- let t = u, { container: e } = te(t);
5282
- return (s, l) => (O(), B("div", {
5283
- class: Le({ "ha-container": y(e) })
5382
+ let t = u, { container: e } = se(t);
5383
+ return (s, l) => (I(), B("div", {
5384
+ class: $e({ "ha-container": y(e) })
5284
5385
  }, [
5285
- pe(s.$slots, "default")
5386
+ he(s.$slots, "default")
5286
5387
  ], 2));
5287
5388
  }
5288
5389
  }), wr = /* @__PURE__ */ Q({
@@ -5292,15 +5393,15 @@ const yr = /* @__PURE__ */ ze(Ol, [["render", jl]]), vr = /* @__PURE__ */ Q({
5292
5393
  direction: {}
5293
5394
  },
5294
5395
  setup(u) {
5295
- let t = u, { gap: e, direction: s } = te(t), l = Ee(() => {
5396
+ let t = u, { gap: e, direction: s } = se(t), l = Ce(() => {
5296
5397
  let r = { gap: null };
5297
5398
  return e.value && (r.gap = e.value + "px"), r;
5298
5399
  });
5299
- return (r, i) => (O(), B("div", {
5300
- class: Le(["ha-row", y(s)]),
5301
- style: fe(y(l))
5400
+ return (r, i) => (I(), B("div", {
5401
+ class: $e(["ha-row", y(s)]),
5402
+ style: pe(y(l))
5302
5403
  }, [
5303
- pe(r.$slots, "default")
5404
+ he(r.$slots, "default")
5304
5405
  ], 6));
5305
5406
  }
5306
5407
  }), br = /* @__PURE__ */ Q({
@@ -5311,7 +5412,7 @@ const yr = /* @__PURE__ */ ze(Ol, [["render", jl]]), vr = /* @__PURE__ */ Q({
5311
5412
  },
5312
5413
  emits: ["update:modelValue"],
5313
5414
  setup(u) {
5314
- let t = et(u, "modelValue"), e = I(!0), s = I(0), l = null, r = () => {
5415
+ let t = He(u, "modelValue"), e = R(!0), s = R(0), l = null, r = () => {
5315
5416
  s.value = 0, e.value = !0, l = setInterval(() => {
5316
5417
  if (s.value < 100) {
5317
5418
  s.value++;
@@ -5327,78 +5428,78 @@ const yr = /* @__PURE__ */ ze(Ol, [["render", jl]]), vr = /* @__PURE__ */ Q({
5327
5428
  }, 200));
5328
5429
  }, c);
5329
5430
  };
5330
- return we(() => {
5431
+ return ve(() => {
5331
5432
  t.value && r();
5332
- }), be(() => {
5433
+ }), we(() => {
5333
5434
  clearInterval(l);
5334
5435
  }), J(() => t.value, (a, o) => {
5335
5436
  a ? r() : i();
5336
- }), (a, o) => y(e) ? (O(), B("div", {
5437
+ }), (a, o) => y(e) ? (I(), B("div", {
5337
5438
  key: 0,
5338
5439
  class: "ha-progress",
5339
- style: fe({ width: y(s) + "%" })
5340
- }, null, 4)) : Ze("", !0);
5440
+ style: pe({ width: y(s) + "%" })
5441
+ }, null, 4)) : Ge("", !0);
5341
5442
  }
5342
- }), _l = { class: "progress-tips" }, Bl = { class: "progress-tip info" }, Pl = { class: "progress-tip success" }, Ul = { class: "progress-tip error" }, Fl = { class: "progress-chart" }, Ml = { class: "progress-bar" }, ql = { class: "progress-text" }, xr = /* @__PURE__ */ Q({
5443
+ }), jl = { class: "progress-tips" }, _l = { class: "progress-tip info" }, Bl = { class: "progress-tip success" }, Pl = { class: "progress-tip error" }, Ul = { class: "progress-chart" }, Fl = { class: "progress-bar" }, Ml = { class: "progress-text" }, xr = /* @__PURE__ */ Q({
5343
5444
  __name: "SocketProgress",
5344
5445
  props: {
5345
5446
  progress: {}
5346
5447
  },
5347
5448
  setup(u) {
5348
- let t = u, { progress: e } = te(t), s = Ee(() => {
5449
+ let t = u, { progress: e } = se(t), s = Ce(() => {
5349
5450
  let a = e.value;
5350
5451
  return (a.succeed ?? 0) + (a.errored ?? 0);
5351
- }), l = Ee(() => re.getPercentage(s.value, e.value.total)), r = Ee(() => re.getProgressText(s.value, e.value.total)), i = Ee(() => re.getPercentageText(s.value, e.value.total));
5352
- return (a, o) => (O(), B("div", {
5353
- class: Le(["ha-socket-progress", { error: y(e).errored > 0 }])
5452
+ }), l = Ce(() => Z.getPercentage(s.value, e.value.total)), r = Ce(() => Z.getProgressText(s.value, e.value.total)), i = Ce(() => Z.getPercentageText(s.value, e.value.total));
5453
+ return (a, o) => (I(), B("div", {
5454
+ class: $e(["ha-socket-progress", { error: y(e).errored > 0 }])
5354
5455
  }, [
5355
- D("div", _l, [
5356
- D("div", Bl, "进度:" + he(y(r)), 1),
5357
- D("div", Pl, "成功:" + he(y(e).succeed ?? "-"), 1),
5358
- D("div", Ul, "异常:" + he(y(e).errored ?? "-"), 1)
5456
+ D("div", jl, [
5457
+ D("div", _l, "进度:" + de(y(r)), 1),
5458
+ D("div", Bl, "成功:" + de(y(e).succeed ?? "-"), 1),
5459
+ D("div", Pl, "异常:" + de(y(e).errored ?? "-"), 1)
5359
5460
  ]),
5360
- D("div", Fl, [
5361
- D("div", Ml, [
5461
+ D("div", Ul, [
5462
+ D("div", Fl, [
5362
5463
  D("div", {
5363
5464
  class: "progress-percentage",
5364
- style: fe({ width: y(l) + "%" })
5465
+ style: pe({ width: y(l) + "%" })
5365
5466
  }, null, 4)
5366
5467
  ]),
5367
- D("div", ql, he(y(i)) + "%", 1)
5468
+ D("div", Ml, de(y(i)) + "%", 1)
5368
5469
  ])
5369
5470
  ], 2));
5370
5471
  }
5371
- }), Nl = { class: "ha-tab" }, Vl = /* @__PURE__ */ D("div", { class: "tab-header" }, null, -1), zl = /* @__PURE__ */ D("div", { class: "tab-body" }, null, -1), Kl = [
5372
- Vl,
5373
- zl
5472
+ }), ql = { class: "ha-tab" }, Nl = /* @__PURE__ */ D("div", { class: "tab-header" }, null, -1), Vl = /* @__PURE__ */ D("div", { class: "tab-body" }, null, -1), zl = [
5473
+ Nl,
5474
+ Vl
5374
5475
  ], kr = /* @__PURE__ */ Q({
5375
5476
  __name: "Tab",
5376
5477
  props: {
5377
5478
  destroy: { type: Boolean }
5378
5479
  },
5379
5480
  setup(u) {
5380
- return (t, e) => (O(), B("div", Nl, Kl));
5481
+ return (t, e) => (I(), B("div", ql, zl));
5381
5482
  }
5382
5483
  });
5383
5484
  let Sr = async (u) => {
5384
- u == null && (u = new ul()), await Zs(u), await Ms();
5385
- let t = await Fs.getSso(), e = Z.sys.app, s = { baseUrl: u.baseUrl, language: e.language, user: t, platform: "pc" }, l = _.serialize(s);
5485
+ u == null && (u = new ol()), await Gs(u);
5486
+ let t = await Fs.getSso(), e = ee.sys.app, s = { baseUrl: u.baseUrl, language: e.language, user: t, platform: "pc" }, l = _.serialize(s);
5386
5487
  await T.open(l), T.onResponse = async (r) => {
5387
5488
  let i = r.data;
5388
5489
  return Ps.add(i.code, i.message, i.stack, i.elapsed), Promise.resolve();
5389
- }, await Me.loadI18n();
5490
+ };
5390
5491
  };
5391
5492
  export {
5392
5493
  oe as ArrayHelper,
5393
- st as BrowserHelper,
5494
+ tt as BrowserHelper,
5394
5495
  Vt as BuilderFactory,
5395
- lt as Cdn,
5496
+ st as Cdn,
5396
5497
  Wt as CdnFactory,
5397
- It as ComponentHelper,
5398
- ul as CreateFeOptions,
5399
- Be as DictionaryHelper,
5498
+ Rt as ComponentHelper,
5499
+ ol as CreateFeOptions,
5500
+ _e as DictionaryHelper,
5400
5501
  j as DomHelper,
5401
- pl as DragEvent,
5502
+ hl as DragEvent,
5402
5503
  Xt as EncoderFactory,
5403
5504
  ie as EventHelper,
5404
5505
  gt as EventUtility,
@@ -5406,93 +5507,93 @@ export {
5406
5507
  ts as ExplainerFactory,
5407
5508
  C as Factories,
5408
5509
  ns as FeatureFactory,
5409
- De as FileHelper,
5510
+ Ae as FileHelper,
5410
5511
  hr as HaCode,
5411
5512
  yr as HaCol,
5412
5513
  pr as HaCompare,
5413
- Dl as HaCondition,
5514
+ Al as HaCondition,
5414
5515
  mr as HaConditionGroup,
5415
5516
  vr as HaContainer,
5416
- nr as HaEmpty,
5417
- fl as HaFill,
5418
- wl as HaOption,
5517
+ rr as HaEmpty,
5518
+ pl as HaFill,
5519
+ vl as HaOption,
5419
5520
  br as HaProgress,
5420
5521
  fr as HaRichText,
5421
5522
  wr as HaRow,
5422
- gl as HaScroller,
5423
- _e as HaSelect,
5523
+ fl as HaScroller,
5524
+ je as HaSelect,
5424
5525
  xr as HaSocketProgress,
5425
5526
  kr as HaTab,
5426
5527
  dr as HaTimer,
5427
5528
  ds as HaloHttp,
5428
5529
  os as HasherFactory,
5429
- Qe as HtmlHelper,
5530
+ Ke as HtmlHelper,
5430
5531
  hs as HttpFactory,
5431
- it as HttpRequest,
5432
- Ye as HttpResponse,
5532
+ nt as HttpRequest,
5533
+ Je as HttpResponse,
5433
5534
  gs as I18nFactory,
5434
- Ot as ImageHelper,
5535
+ It as ImageHelper,
5435
5536
  _ as JsonHelper,
5436
- ar as KeyboardUtility,
5437
- or as ListDelta,
5438
- re as MathHelper,
5537
+ ir as KeyboardUtility,
5538
+ ar as ListDelta,
5539
+ Z as MathHelper,
5439
5540
  ms as Messenger,
5440
5541
  vs as MessengerFactory,
5441
- Rt as MicroHelper,
5442
- ve as MountHelper,
5443
- ur as MouseUtility,
5542
+ Ot as MicroHelper,
5543
+ ye as MountHelper,
5544
+ or as MouseUtility,
5444
5545
  X as ObjectHelper,
5445
5546
  ft as Position,
5446
5547
  qt as ProviderFactory,
5447
- er as ProviderTable,
5548
+ Hl as ProviderTable,
5549
+ ur as RandomUtility,
5448
5550
  gr as Range,
5449
- ir as Rect,
5551
+ nr as Rect,
5450
5552
  jt as Ref,
5451
5553
  cr as SaveUtility,
5452
- Je as ScrollHelper,
5554
+ We as ScrollHelper,
5453
5555
  Bt as SignHelper,
5454
5556
  xs as SignerFactory,
5455
- Xe as SqlHelper,
5456
- qs as SsoFactory,
5457
- at as SsoUser,
5458
- W as StringHelper,
5557
+ Qe as SqlHelper,
5558
+ Ms as SsoFactory,
5559
+ it as SsoUser,
5560
+ M as StringHelper,
5459
5561
  Bs as SvcFactory,
5460
- zs as TaskFactory,
5461
- Se as TaskHelper,
5462
- Qs as TemplateFactory,
5463
- ee as TimeHelper,
5464
- Ie as TreeHelper,
5562
+ Vs as TaskFactory,
5563
+ ke as TaskHelper,
5564
+ Ws as TemplateFactory,
5565
+ te as TimeHelper,
5566
+ De as TreeHelper,
5465
5567
  F as TypeHelper,
5466
- K as UrlHelper,
5467
- lr as VideoFactory,
5468
- rr as VoiceFactory,
5469
- Ys as base64,
5470
- ge as cdn,
5471
- Z as configSvc,
5568
+ W as UrlHelper,
5569
+ sr as VideoFactory,
5570
+ lr as VoiceFactory,
5571
+ Xs as base64,
5572
+ fe as cdn,
5573
+ ee as configSvc,
5472
5574
  Sr as createFe,
5473
- tr as driverSvc,
5474
- sr as envSvc,
5575
+ er as driverSvc,
5576
+ tr as envSvc,
5475
5577
  T as http,
5476
- Me as i18n,
5477
- Zs as initDriver,
5478
- Ms as initSvc,
5578
+ Xe as i18n,
5579
+ Gs as initDriver,
5479
5580
  Ps as logSvc,
5480
5581
  pt as md5,
5481
- ye as messenger,
5582
+ me as messenger,
5482
5583
  H as moment,
5483
- Ae as settingRepo,
5484
- ce as settingSvc,
5584
+ Le as settingRepo,
5585
+ ct as settingSvc,
5485
5586
  Us as socketSvc,
5486
- Hs as t,
5487
- sl as t_enum,
5488
- el as t_exists,
5489
- ll as t_field,
5490
- rl as t_field_choose_placeholder,
5491
- nl as t_field_placeholder,
5492
- ol as t_menu,
5493
- al as t_module,
5494
- tl as t_sys,
5495
- il as t_table,
5496
- Gs as template,
5587
+ Zs as t,
5588
+ tl as t_enum,
5589
+ Hs as t_exists,
5590
+ sl as t_field,
5591
+ ll as t_field_choose_placeholder,
5592
+ rl as t_field_placeholder,
5593
+ al as t_menu,
5594
+ il as t_module,
5595
+ el as t_sys,
5596
+ nl as t_table,
5597
+ Ys as template,
5497
5598
  Fs as userSvc
5498
5599
  };