asai-vue-host 0.2.62 → 0.2.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,123 @@
1
+ import { defineComponent as S, inject as k, computed as v, reactive as C, onMounted as U, onBeforeUnmount as L, resolveComponent as d, createElementBlock as O, createBlock as f, unref as h, openBlock as u, Fragment as $, resolveDynamicComponent as x } from "vue";
2
+ const _ = /* @__PURE__ */ S({
3
+ __name: "AsaiInitPage",
4
+ props: {
5
+ appmodules: {},
6
+ ujt: {}
7
+ },
8
+ setup(l) {
9
+ const c = l, y = k("$vueProxy"), { $global: n, $fn: r, $model: w, $ws: p } = c.ujt;
10
+ w.appmodules = c.appmodules;
11
+ function m() {
12
+ let e = r.As?.localGet("as-user-code");
13
+ e && (e = r.As.toObj(e), n.code.pri = e[0], n.code.pub = e[1]), n.code.pri && r.As.localGet("as-user-info") && (n.user.info = r.As.toObj(r.AsAES.dec(r.As.localGet("as-user-info")))), r.inittoken();
14
+ }
15
+ function g() {
16
+ if (!n?.sys?.onwebws || typeof r?.useWs != "function")
17
+ return null;
18
+ try {
19
+ return r.useWs(c.ujt, "web") ?? r.ws?.web ?? null;
20
+ } catch {
21
+ return null;
22
+ }
23
+ }
24
+ function j() {
25
+ const e = g();
26
+ typeof e?.wsListen == "function" && e.wsListen({ ty: "publish/web" }, (t) => {
27
+ const s = t?.db?.lang, o = !!n.user?.info?.us;
28
+ s === "nousername" && !o || (t?.db?.lang && (t.db.langpm ? t.db.con = r.lg("asai.hostmsg." + t.db.lang, t.db.langpm) || t.db.con : t.db.con = r.lg("asai.hostmsg." + t.db.lang) || t.db.con), t?.db === "pong" ? e.wsApi?.("ping")?.then((i) => {
29
+ }) : t?.db?.bs ? E(t.db.bs) : t?.db?.con && n?.msg?.fn?.(t.db), t?.db?.exit && o && r.exit());
30
+ });
31
+ }
32
+ function A() {
33
+ const e = n.link?.ws?.web;
34
+ return !(!e || e.sec && !r.gettoken(0));
35
+ }
36
+ function E(e) {
37
+ if (!Array.isArray(e) || !e[0]?.[0])
38
+ return;
39
+ const t = p.wssys, s = /* @__PURE__ */ new Set();
40
+ try {
41
+ e.forEach((o) => {
42
+ const i = o[0];
43
+ typeof i == "string" && (s.add(i.split(".")[0]), r.As.setObjValByPath(t, i, o[1], 1));
44
+ }), s.forEach((o) => {
45
+ const i = t[o];
46
+ i != null && (Array.isArray(i) ? t[o] = i.slice() : typeof i == "object" && (t[o] = { ...i }));
47
+ });
48
+ } catch {
49
+ }
50
+ }
51
+ n.rlv = v(() => !n.location.hash || n.location.hash == "/" || n.sys?.router?.rights?.lv0?.find((e) => n.location.hash.includes(e)) ? 0 : n.sys?.router?.rights?.lv1?.find((e) => n.location.hash.includes(e)) ? 1 : n.sys?.router?.rights?.lv2?.find((e) => n.location.hash.includes(e)) ? 2 : n.sys?.router?.rights?.lv3?.find((e) => n.location.hash.includes(e)) ? 3 : n.sys?.router?.config?.lv || 0);
52
+ function b(e, t) {
53
+ try {
54
+ console.error(t + " Error:", e);
55
+ let s = "";
56
+ e?.error?.stack && typeof e?.error?.stack == "string" ? s = e.error.stack : e?.error?.message && typeof e?.error?.message == "string" ? s = e.error.message : e?.message && typeof e?.message == "string" ? s = e.message : e?.reason?.message && typeof e?.reason?.message == "string" ? s = e.reason.message : e?.reason && typeof e?.reason == "string" ? s = e.reason : e && typeof e == "string" && (s = e), s && (s = "Web " + t + ` Error:
57
+ ` + s, console.error(s), r.$log(s), n?.msg?.fn?.({
58
+ type: "err",
59
+ con: s
60
+ })), e.preventDefault();
61
+ } catch (s) {
62
+ console.error("Try Error:", s);
63
+ }
64
+ }
65
+ const a = C({
66
+ catchErrorUnhandledrejection: null,
67
+ catchErrorCatch: null
68
+ });
69
+ return U(() => {
70
+ r.initweb(y).then(() => {
71
+ let e = [];
72
+ if (r?.useApi?.(c.ujt, "web"), n?.sys?.tyrobot && (r.useApi?.(c.ujt, n.sys.tyrobot), r.useWs?.(c.ujt, n.sys.tyrobot)), m(), n?.sys?.onwebws && (j(), A())) {
73
+ const t = g();
74
+ typeof t?.init == "function" && e.push(t.init());
75
+ }
76
+ if (n?.sys?.local?.lang || e.push(
77
+ r.initmodel("/sys/setting/settinglang.json").then((t) => {
78
+ typeof t?.data == "string" ? n.config.langcur = JSON.parse(t?.data || "{}")?.lang : n.config.langcur = (t?.data || {})?.lang;
79
+ })
80
+ ), n?.sys?.aes?.lv && !n.sys.aesfns && r.AsaiVueAES?.useAES) {
81
+ const { toAES: t, fromAES: s } = r.AsaiVueAES.useAES(c.ujt);
82
+ n.sys.aesfns = { allaes: n.sys.aes.lv > 1, toAES: t, fromAES: s };
83
+ }
84
+ Promise.all(e).then(() => {
85
+ r.changelang(n.config.langcur).then((t) => {
86
+ !window?.$CFG?.title && n.lang.configweb?.webtit && (document.title = n.lang.configweb?.webtit), n.stat.webclient = 1, n.sys.catcherror && (a.catchErrorUnhandledrejection = (o) => {
87
+ b(o, "Unhandledrejection");
88
+ }, window?.addEventListener?.("unhandledrejection", a.catchErrorUnhandledrejection), a.catchErrorCatch = (o) => {
89
+ b(o, "Catch");
90
+ }, window?.addEventListener?.("error", a.catchErrorCatch));
91
+ });
92
+ });
93
+ });
94
+ }), L(() => {
95
+ r.offweb(), n.sys.catcherror && (a.catchErrorUnhandledrejection && (window.removeEventListener("unhandledrejection", a.catchErrorUnhandledrejection), a.catchErrorUnhandledrejection = null), a.catchErrorCatch && (window.removeEventListener("error", a.catchErrorCatch), a.catchErrorCatch = null)), n?.sys?.onwebws && r.ws?.web?.wsListenOff?.({
96
+ ty: "publish/web"
97
+ });
98
+ }), (e, t) => {
99
+ const s = d("AsaiWebServer"), o = d("AsaiWebServerNode"), i = d("AsaiWebServerUser"), W = d("AsaiWebServerUserOnline");
100
+ return h(n).stat.webclient ? (u(), O($, { key: 0 }, [
101
+ h(n).rlv === 0 ? (u(), f(s, {
102
+ key: 0,
103
+ ujt: l.ujt
104
+ }, null, 8, ["ujt"])) : h(n).rlv === 1 ? (u(), f(o, {
105
+ key: 1,
106
+ ujt: l.ujt
107
+ }, null, 8, ["ujt"])) : h(n).rlv === 2 ? (u(), f(i, {
108
+ key: 2,
109
+ ujt: l.ujt
110
+ }, null, 8, ["ujt"])) : (u(), f(W, {
111
+ key: 3,
112
+ ujt: l.ujt
113
+ }, null, 8, ["ujt"]))
114
+ ], 64)) : (u(), f(x("PageLoadClient"), {
115
+ key: 1,
116
+ ujt: l.ujt
117
+ }, null, 8, ["ujt"]));
118
+ };
119
+ }
120
+ });
121
+ export {
122
+ _ as default
123
+ };
@@ -1,5 +1,5 @@
1
- import { inject as E, reactive as k, provide as R } from "vue";
2
- const x = {
1
+ import { inject as R, reactive as C, shallowReactive as E, provide as x } from "vue";
2
+ const j = {
3
3
  getUrlByCfg(t = null, n = 0) {
4
4
  return t?.url ? t.url : t?.port ? (n ? window.location.protocol.includes("s") ? "wss:" : "ws:" : window.location.protocol) + "//" + window.location.hostname + ":" + t.port : n ? window.location.origin.replace("http", "ws") : window.location.origin;
5
5
  },
@@ -382,10 +382,10 @@ const x = {
382
382
  t.hasOwnProperty(s) && (e[s] = this.DeepClone(t[s], n));
383
383
  return e;
384
384
  }
385
- }, j = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
385
+ }, W = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
386
386
  __proto__: null,
387
- default: x
388
- }, Symbol.toStringTag, { value: "Module" })), W = {
387
+ default: j
388
+ }, Symbol.toStringTag, { value: "Module" })), N = {
389
389
  // 保存监听器引用
390
390
  webpath: window?.$CFG?.webpath || "/",
391
391
  _hashChangeListener: null,
@@ -447,13 +447,13 @@ const x = {
447
447
  const s = !window?.$CFG?.title && n?.$global?.lang?.sys?.webtit ? n?.$global?.lang?.sys?.webtit : "";
448
448
  t ? document.title = `${t}${s ? " - " + s : ""}` : document.title = `${s}`;
449
449
  }
450
- }, N = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
450
+ }, F = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
451
451
  __proto__: null,
452
- default: W
453
- }, Symbol.toStringTag, { value: "Module" })), F = (t) => {
452
+ default: N
453
+ }, Symbol.toStringTag, { value: "Module" })), D = (t) => {
454
454
  const { $fn: n, $model: e, $db: s, $dbwork: o, $global: f } = t;
455
455
  function d(u = "testkdd") {
456
- const h = E("$vueProxy");
456
+ const h = R("$vueProxy");
457
457
  h?.$installplugs?.(u), h?.["$engine" + u] && (Object.assign(n, h["$engine" + u]), h?.["$engineuse" + u] && Object.assign(n, h["$engineuse" + u])), e[u] || (e[u] = {}), o[u] || (o[u] = {}), s[u] || (s[u] = {}), n.setconfig = ($, b) => n.apisys.apiPost("/api/asaijson/manage/update/?path=./webclient/webmodel/sys/setting/" + $ + ".json", b), n.changelangpro = ($ = "") => n.changelang(f.config.langcur || $).then((b) => {
458
458
  f?.sys?.local?.lang ? u && n.ws?.[u] && n.ws[u].wsSend({
459
459
  id: "1",
@@ -471,39 +471,39 @@ const x = {
471
471
  ), Promise.all(m);
472
472
  }
473
473
  return { initAppModel: d };
474
- }, D = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
474
+ }, I = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
475
475
  __proto__: null,
476
- default: F
477
- }, Symbol.toStringTag, { value: "Module" })), I = "/api/asailog/";
478
- function G(t) {
479
- return typeof t == "string" && t.includes(I);
476
+ default: D
477
+ }, Symbol.toStringTag, { value: "Module" })), G = "/api/asailog/";
478
+ function U(t) {
479
+ return typeof t == "string" && t.includes(G);
480
480
  }
481
481
  function L(t) {
482
- return !!(!t || G(t) || /asailog/i.test(t) && /addclient/i.test(t));
482
+ return !!(!t || U(t) || /asailog/i.test(t) && /addclient/i.test(t));
483
483
  }
484
484
  const M = 2;
485
485
  let v = 0, A = 0;
486
- function U() {
486
+ function J() {
487
487
  return v >= M ? !1 : (v++, !0);
488
488
  }
489
- function O() {
489
+ function k() {
490
490
  v = Math.max(0, v - 1);
491
491
  }
492
- function J() {
492
+ function H() {
493
493
  return A >= M ? !1 : (A++, !0);
494
494
  }
495
- function _() {
495
+ function O() {
496
496
  A = Math.max(0, A - 1);
497
497
  }
498
- const H = k({
498
+ const B = C({
499
499
  providedb: {
500
500
  data: {}
501
501
  }
502
- }), B = k({
502
+ }), q = C({
503
503
  providedbwork: {
504
504
  data: {}
505
505
  }
506
- }), q = k({
506
+ }), z = C({
507
507
  provideglobal: {
508
508
  data: {
509
509
  sys: null,
@@ -527,27 +527,27 @@ const H = k({
527
527
  keyboard: { comps: {}, areastyle: {}, opt: {}, csskeyboard: "", showkeyboard: !1 }
528
528
  }
529
529
  }
530
- }), z = k({
530
+ }), K = {
531
531
  providews: {
532
532
  data: {
533
533
  rooms: {},
534
- wssys: {}
534
+ wssys: E({})
535
535
  }
536
536
  }
537
- }), C = {
537
+ }, _ = {
538
538
  providefn: { data: { api: {}, ws: {}, wssys: null, workers: {} } }
539
539
  };
540
540
  function T(t) {
541
541
  (!t.api || typeof t.api != "object" || typeof t.api == "function") && (t.api = {}), (!t.ws || typeof t.ws != "object" || typeof t.ws == "function") && (t.ws = {}), (!t.workers || typeof t.workers != "object") && (t.workers = {});
542
542
  }
543
- function K(t) {
543
+ function V(t) {
544
544
  try {
545
545
  return structuredClone(t);
546
546
  } catch {
547
547
  return JSON.parse(JSON.stringify(t));
548
548
  }
549
549
  }
550
- function V(t, n) {
550
+ function Y(t, n) {
551
551
  !n || typeof n != "object" || ((!t.rights || typeof t.rights != "object") && (t.rights = {}), Object.entries(n).forEach(([e, s]) => {
552
552
  if (e === "rights" && s && typeof s == "object" && !Array.isArray(s)) {
553
553
  Object.entries(s).forEach(([o, f]) => {
@@ -565,16 +565,16 @@ function V(t, n) {
565
565
  s !== void 0 && (t[e] = s);
566
566
  }));
567
567
  }
568
- const Y = (t = null) => {
568
+ const X = (t = null) => {
569
569
  const n = window;
570
- Object.assign(C.providefn.data, t?.plugs || {}), T(C.providefn.data), n.$GYS || (n.$GYS = {});
570
+ Object.assign(_.providefn.data, t?.plugs || {}), T(_.providefn.data), n.$GYS || (n.$GYS = {});
571
571
  const e = {
572
- $db: H.providedb.data,
573
- $dbwork: B.providedbwork.data,
574
- $ws: z.providews.data,
575
- $global: q.provideglobal.data,
572
+ $db: B.providedb.data,
573
+ $dbwork: q.providedbwork.data,
574
+ $ws: K.providews.data,
575
+ $global: z.provideglobal.data,
576
576
  $model: n.$GYS?.$webmodel || { webmodels: ["views", "webmain"] },
577
- $fn: C.providefn.data
577
+ $fn: _.providefn.data
578
578
  };
579
579
  e?.$model?.gysfn || (e.$model.gysfn = {}), e.$global.$cfg = n.$CFG || {}, n.$GYS.ujt = e, e.$fn.lo = (...i) => {
580
580
  if (e.$global.sys?.onconsole) {
@@ -732,12 +732,12 @@ const Y = (t = null) => {
732
732
  }), e.$fn.initver())
733
733
  return;
734
734
  if (e.$model?.data || (e.$model.data = {}), e.$model.data.sys = await e.$fn.initmodel("sys/dirmodel.json"), e.$model.data?.sys?.configrouter) {
735
- e.$global.sys.router = K(e.$model.data.sys.configrouter);
735
+ e.$global.sys.router = V(e.$model.data.sys.configrouter);
736
736
  for (let c = 0; c < e.$model?.webmodels?.length; c++) {
737
737
  const a = await e.$fn.initmodel(
738
738
  e.$model?.webmodels?.[c] + "/configrouter.json"
739
739
  );
740
- a && typeof a == "object" && !Array.isArray(a) && V(e.$global.sys.router, a);
740
+ a && typeof a == "object" && !Array.isArray(a) && Y(e.$global.sys.router, a);
741
741
  }
742
742
  }
743
743
  e.$fn.lo(), await e.$fn.initLink(), l();
@@ -776,7 +776,7 @@ const Y = (t = null) => {
776
776
  }, e.$fn.inittoken = () => {
777
777
  e.$global.code.pri && e.$global.user.info?.us && (e.$global.code.token = e.$fn.AsCode.asencode(e.$global.user.info?.us, e.$global.code.pri) + "##" + e.$fn.AsCode.asencode(e.$global.user.info?.lv || 0, e.$global.code.pri) + "##" + e.$global.code.pub);
778
778
  }, e.$fn.gettoken = (i = 0) => e.$global?.code?.token ? e.$global.code.token : e.$global?.code?.pub && i ? e.$global?.code?.token || "####" + e.$global.code.pub : "", e.$fn.logSave = (i = null) => new Promise((l, r) => {
779
- if (!U()) {
779
+ if (!J()) {
780
780
  l(void 0);
781
781
  return;
782
782
  }
@@ -784,13 +784,13 @@ const Y = (t = null) => {
784
784
  `) || "");
785
785
  const c = typeof i == "string" ? i : String(i ?? "");
786
786
  if (L(c)) {
787
- O(), l(void 0);
787
+ k(), l(void 0);
788
788
  return;
789
789
  }
790
790
  e?.$fn?.apisys?.apiPost("/api/asailog/manage/addclient/", i, { skipWebLog: !0 }).then((a) => {
791
- O(), l(a);
791
+ k(), l(a);
792
792
  }).catch((a) => {
793
- O(), r(a);
793
+ k(), r(a);
794
794
  });
795
795
  });
796
796
  function b(i = /* @__PURE__ */ new Date()) {
@@ -802,7 +802,7 @@ const Y = (t = null) => {
802
802
  l(void 0);
803
803
  return;
804
804
  }
805
- if (!J()) {
805
+ if (!H()) {
806
806
  l(void 0);
807
807
  return;
808
808
  }
@@ -810,13 +810,13 @@ const Y = (t = null) => {
810
810
  `) : String(i), a = `[${b()}] ${e.$global?.user?.info?.us || ""}-${c}`;
811
811
  if (e?.$fn?.lo?.(7, "log", a), e?.$global?.sys?.onweblog && !L(c)) {
812
812
  e.$fn.logSave(a).then((g) => {
813
- _(), l(g);
813
+ O(), l(g);
814
814
  }).catch((g) => {
815
- _(), r(g);
815
+ O(), r(g);
816
816
  });
817
817
  return;
818
818
  }
819
- _(), l(void 0);
819
+ O(), l(void 0);
820
820
  }), e.$fn.checkOnline = () => new Promise((i, l) => {
821
821
  if (e?.$global?.sys?.onwebws && e?.$global?.sys?.onckuseronline)
822
822
  try {
@@ -828,28 +828,28 @@ const Y = (t = null) => {
828
828
  }
829
829
  else
830
830
  i();
831
- }), R("$ujtasai", e), {
831
+ }), x("$ujtasai", e), {
832
832
  ...e,
833
833
  $ujtasai: e
834
834
  };
835
- }, X = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
835
+ }, Q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
836
836
  __proto__: null,
837
- default: Y
838
- }, Symbol.toStringTag, { value: "Module" })), Z = {
837
+ default: X
838
+ }, Symbol.toStringTag, { value: "Module" })), ee = {
839
839
  install(t, n) {
840
840
  n.loadts({
841
841
  app: t,
842
842
  key: "$engineasai",
843
843
  eager: !0,
844
- files: /* @__PURE__ */ Object.assign({ "./asengine/common/As.ts": j, "./asengine/common/AsRouter.ts": N, "./asengine/init/useInitApp.ts": D, "./asengine/provide/useProvide.ts": X })
844
+ files: /* @__PURE__ */ Object.assign({ "./asengine/common/As.ts": W, "./asengine/common/AsRouter.ts": F, "./asengine/init/useInitApp.ts": I, "./asengine/provide/useProvide.ts": Q })
845
845
  }), n.loadvue({
846
846
  loadfn: n.loadfn,
847
847
  app: t,
848
848
  eager: !1,
849
- files: /* @__PURE__ */ Object.assign({ "./asui/app/AsaiComponent.vue": () => import("./AsaiComponent-kBTWtDn_.mjs"), "./asui/app/AsaiInitPage.vue": () => import("./AsaiInitPage-DsfL7ANH.mjs"), "./asui/app/AsaiWebItemDefault.vue": () => import("./AsaiWebItemDefault-DmogFxYv.mjs"), "./asui/app/AsaiWebItemIndex.vue": () => import("./AsaiWebItemIndex-BJu3WSmh.mjs"), "./asui/app/AsaiWebModule.vue": () => import("./AsaiWebModule-CpUCjy9U.mjs"), "./asui/app/AsaiWebModuleDefault.vue": () => import("./AsaiWebModuleDefault-GaNtfrAV.mjs"), "./asui/app/AsaiWebModuleIndex.vue": () => import("./AsaiWebModuleIndex-DAM6AsNG.mjs"), "./asui/app/AsaiWebServer.vue": () => import("./AsaiWebServer-DiONV5Ko.mjs"), "./asui/app/AsaiWebServerNode.vue": () => import("./AsaiWebServerNode-BOTvLJke.mjs"), "./asui/app/AsaiWebServerUser.vue": () => import("./AsaiWebServerUser-LaJmfssq.mjs"), "./asui/app/AsaiWebServerUserOnline.vue": () => import("./AsaiWebServerUserOnline-Y4Vm60d6.mjs"), "./asui/common/AsPageBusy.vue": () => import("./AsPageBusy-B_7qKMBg.mjs"), "./asui/common/AsPageBusyGif.vue": () => import("./AsPageBusyGif-BeO4ftmK.mjs"), "./asui/common/AsReset.vue": () => import("./AsReset-BwIfbGYA.mjs"), "./asui/common/AsSvg.vue": () => import("./AsSvg-CJmt5E9y.mjs"), "./asui/common/MenuShowFix.vue": () => import("./MenuShowFix-BVvpPnyn.mjs"), "./asui/common/RouterMap.vue": () => import("./RouterMap-MZx9UGoA.mjs"), "./asui/common/RouterView.vue": () => import("./RouterView-C6zR7Mtu.mjs"), "./asui/common/VirtualList.vue": () => import("./VirtualList-BZLMdQuR.mjs"), "./asui/page/PageErr.vue": () => import("./PageErr-D-sxK1Ej.mjs"), "./asui/page/PageLoadClient.vue": () => import("./PageLoadClient-p3m-9ZT6.mjs"), "./asui/page/PageLoadErr.vue": () => import("./PageLoadErr-B9gRqsS7.mjs"), "./asui/page/PageLoadServer.vue": () => import("./PageLoadServer-_f8otQMk.mjs"), "./asui/page/PageLoadUserToken.vue": () => import("./PageLoadUserToken-COisXxiM.mjs"), "./asui/page/PageLoadUserTokenOnline.vue": () => import("./PageLoadUserTokenOnline-C4poWeJs.mjs"), "./asui/page/PageLoadWs.vue": () => import("./PageLoadWs-lrg51L6x.mjs") })
849
+ files: /* @__PURE__ */ Object.assign({ "./asui/app/AsaiComponent.vue": () => import("./AsaiComponent-kBTWtDn_.mjs"), "./asui/app/AsaiInitPage.vue": () => import("./AsaiInitPage-CKGEyE9w.mjs"), "./asui/app/AsaiWebItemDefault.vue": () => import("./AsaiWebItemDefault-DmogFxYv.mjs"), "./asui/app/AsaiWebItemIndex.vue": () => import("./AsaiWebItemIndex-BJu3WSmh.mjs"), "./asui/app/AsaiWebModule.vue": () => import("./AsaiWebModule-CpUCjy9U.mjs"), "./asui/app/AsaiWebModuleDefault.vue": () => import("./AsaiWebModuleDefault-GaNtfrAV.mjs"), "./asui/app/AsaiWebModuleIndex.vue": () => import("./AsaiWebModuleIndex-DAM6AsNG.mjs"), "./asui/app/AsaiWebServer.vue": () => import("./AsaiWebServer-DiONV5Ko.mjs"), "./asui/app/AsaiWebServerNode.vue": () => import("./AsaiWebServerNode-BOTvLJke.mjs"), "./asui/app/AsaiWebServerUser.vue": () => import("./AsaiWebServerUser-LaJmfssq.mjs"), "./asui/app/AsaiWebServerUserOnline.vue": () => import("./AsaiWebServerUserOnline-Y4Vm60d6.mjs"), "./asui/common/AsPageBusy.vue": () => import("./AsPageBusy-B_7qKMBg.mjs"), "./asui/common/AsPageBusyGif.vue": () => import("./AsPageBusyGif-BeO4ftmK.mjs"), "./asui/common/AsReset.vue": () => import("./AsReset-BwIfbGYA.mjs"), "./asui/common/AsSvg.vue": () => import("./AsSvg-CJmt5E9y.mjs"), "./asui/common/MenuShowFix.vue": () => import("./MenuShowFix-BVvpPnyn.mjs"), "./asui/common/RouterMap.vue": () => import("./RouterMap-MZx9UGoA.mjs"), "./asui/common/RouterView.vue": () => import("./RouterView-C6zR7Mtu.mjs"), "./asui/common/VirtualList.vue": () => import("./VirtualList-BZLMdQuR.mjs"), "./asui/page/PageErr.vue": () => import("./PageErr-D-sxK1Ej.mjs"), "./asui/page/PageLoadClient.vue": () => import("./PageLoadClient-p3m-9ZT6.mjs"), "./asui/page/PageLoadErr.vue": () => import("./PageLoadErr-B9gRqsS7.mjs"), "./asui/page/PageLoadServer.vue": () => import("./PageLoadServer-_f8otQMk.mjs"), "./asui/page/PageLoadUserToken.vue": () => import("./PageLoadUserToken-COisXxiM.mjs"), "./asui/page/PageLoadUserTokenOnline.vue": () => import("./PageLoadUserTokenOnline-C4poWeJs.mjs"), "./asui/page/PageLoadWs.vue": () => import("./PageLoadWs-lrg51L6x.mjs") })
850
850
  });
851
851
  }
852
852
  };
853
853
  export {
854
- Z as default
854
+ ee as default
855
855
  };
@@ -1,4 +1,4 @@
1
- (function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S["asai-vue-host"]={},S.Vue))})(this,(function(S,e){"use strict";const x=Object.freeze(Object.defineProperty({__proto__:null,default:{getUrlByCfg(o=null,n=0){return o?.url?o.url:o?.port?(n?window.location.protocol.includes("s")?"wss:":"ws:":window.location.protocol)+"//"+window.location.hostname+":"+o.port:n?window.location.origin.replace("http","ws"):window.location.origin},arrLenMax(o,n,t=0){return o.length>n&&(t?o.splice(n,o.length-n):o.splice(0,o.length-n)),o},cookiesSetByEncodeURI(o,n,t=0,s="/"){let l="";if(t){const i=new Date;i.setTime(i.getTime()+t),l="; expires="+i.toUTCString()}document.cookie=o+"="+encodeURIComponent(n)+l+"; path="+(s||"/")},cookiesSet(o,n,t=0,s="/"){try{let l="";if(t){const i=new Date;i.setTime(i.getTime()+t),l="; expires="+i.toUTCString()}document.cookie=o+"="+n+l+"; path="+(s||"/")}catch{}},cookiesGet(o){try{const n=document.cookie;if(!n)return"";const t=n.match(new RegExp(`(^| )${o}=([^;]*)(;|$)`));return t&&t[2]?decodeURIComponent(t[2]):""}catch(n){return console.error("cookiesGet error:",n),""}},cookiesDel(o){this.cookiesSetByEncodeURI(o,"",-1e3)},cookiesClear(){const o=document.cookie.split("; ");for(let n=0;n<o.length;n++){const t=o[n],s=t.indexOf("="),l=s>-1?t.substring(0,s):t;document.cookie=l+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"}},readFile(o=null,n=0){return new Promise((t,s)=>{if(o){const l=new FileReader;n?l.readAsText(o):l.readAsDataURL(o),l.onload=()=>{t(l.result)}}else s()})},apiJsonp(o,n){try{const t=window,s=`asaiJsonp_${Date.now()}_${Math.random().toString(36).slice(2)}`;t[s]=i=>{n&&n(i),delete t[s]};const l=document.createElement("script");l.src=`${o}&callback=${s}`,l.type="text/javascript",l.async=!0,l.onload=()=>{document.body.removeChild(l)},l.onerror=()=>{document.body.removeChild(l),delete t[s],n&&n("ERROR")},document.body.appendChild(l)}catch{n&&n("ERROR")}},localTime(o,n=0){if(n){const t=JSON.parse(this.localGet("astime")||"{}");t[o]=n,localStorage.setItem("astime",JSON.stringify(t))}else{const t=JSON.parse(this.localGet("astime")||"{}");if(t[o])return t[o]}return 0},localSet(o,n,t=localStorage){try{typeof n=="object"?t.setItem(o,JSON.stringify(n)):t.setItem(o,String(n))}catch(s){console.error("localSet error:",s)}},localGet(o,n=localStorage){try{return n.getItem(o)}catch{}return""},localRemove(o,n=localStorage){try{return n.removeItem(o)}catch{}},localClears(o=null,n=localStorage){if(o?.length){let t;for(let s in n)t=o.find(l=>s.startsWith(l)),t&&this.localRemove(s,n)}else this.localClear(n)},localClear(o=localStorage){o.clear()},localInit(o=localStorage){this.localClear(o),location.replace("/#"),this.localReload()},localReload(){location.reload()},getPath(o="-"){return o?.replace(/[^a-zA-Z0-9.\-_\\\/]/g,"")},getName(o="-"){return o?.replace(/[^a-zA-Z0-9.\-_]/g,"")},eStop(o){const n=window.event||o;return n?.preventDefault(),n?.stopPropagation(),!0},treeToMap(o,n={}){const t=new Map,s=new Map;if(!o)return{nodeMap:t,depthMap:s};const l=n.id||"id",i=n.ch||"ch",f=n.ft,u=n.ftk,m=n.fty===1,h=typeof f=="string"&&f.length>0&&u,_=[{[i]:o}],w=[0];let r,a,d;for(;_.length;){if(r=_.pop(),a=w.pop(),d=r[l],a>0)if(h){const p=r[u],g=typeof p=="string"&&p.includes(f);(m?!g:g)&&(t.set(d,r),s.set(d,a))}else t.set(d,r),s.set(d,a);const c=r[i];if(c&&c.length>0){const p=a+1;for(let g=c.length-1;g>=0;g--)_.push(c[g]),w.push(p)}}return{nodeMap:t,depthMap:s}},fullScreen(o=""){const n=o?document.getElementById(o):document.documentElement||document.body,t=n.requestFullScreen||n.webkitRequestFullScreen||n.mozRequestFullScreen||n.msRequestFullScreen;if(t)t.call(n);else{const{ActiveXObject:s}=window;if(typeof s<"u"){const l=new s("WScript.Shell");l!==null&&l.SendKeys("{F11}")}}},fullScreenExit(){const o=document?.exitFullscreen;if(o)document.fullscreenElement!==null&&o.call(document);else{const{ActiveXObject:n}=window;if(typeof n<"u"){const t=new n("WScript.Shell");t!==null&&t.SendKeys("{F11}")}}},fullScreenDo(o=null){document.fullscreenElement?this.fullScreenExit():this.fullScreen(),o&&o()},toNums(o,n=0){return o&&Object.keys(o).forEach(t=>{typeof o[t]=="number"&&(o[t]=this.toNum(o[t],n))}),o},toNum(o,n=0){return typeof o!="number"&&typeof o=="string"&&(o=Number(o)),Number.isNaN(o)&&(o=0),o&&n&&(o=Math.round(o*10**n)/10**n),o},toObj(o){try{return o&&typeof o=="string"?JSON.parse(o):o}catch{return{err:"不是JSON格式数据"}}},toStr(o){if(typeof o=="string")return o;try{return JSON.stringify(o)}catch{const t=[];return JSON.stringify(o,(s,l)=>{if(typeof l=="object"&&l!==null){if(t.indexOf(l)!==-1)return;t.push(l)}return l})}},toArr(o,n=0){if(o){if(Array.isArray(o))return o;if(typeof o=="object")return Object.entries(o)}return n?[]:null},setObjValByPath(o,n,t,s=0){try{const l=n.split(".");let i=o;for(let u=0;u<l.length-1;u++){const m=l[u];if(i[m]===void 0||typeof i[m]!="object"||i[m]===null)if(s)i[m]={};else return!1;i=i[m]}const f=l[l.length-1];return i[f]=t,!0}catch{return!1}},isValidFileName(o){if(!o||o.length===0)return!1;const n=o.length;for(let s=0;s<n;s++){const l=o.charCodeAt(s);if(l<=31||l===92||l===47||l===58||l===42||l===63||l===34||l===60||l===62||l===124)return!1}const t=o.charCodeAt(n-1);return!(t===32||t===46)},getTime(o=6,n=0){let t="",s;n?(typeof n=="string"&&(n=Number(n)),n<9999999999?n=n*1e3:n>9999999999999&&(n=n/1e3),s=new Date(n)):s=new Date;const[l,i]=o>9?o+"":"0"+o;function f(u){return+l<=u&&+i>=u}return f(1)&&(t+=("00"+s.getFullYear()).slice(-4)+"-"),f(2)&&(t+=("00"+(s.getMonth()+1)).slice(-2)+"-"),f(3)&&(t+=("00"+s.getDate()).slice(-2)+" "),f(4)&&(t+=("00"+s.getHours()).slice(-2)+":"),f(5)&&(t+=("00"+s.getMinutes()).slice(-2)+":"),f(6)&&(t+=("00"+s.getSeconds()).slice(-2)+"."),f(7)&&(t+=("000"+s.getMilliseconds()).slice(-3)+" "),f(9)?t.replace(/\D/g,""):t&&t.substring(0,t.length-1)},toFormTime(o=0){return this.getTime(6,o).replace(" ","T")},fromFormTime(o="",n=1){const t=o?new Date(o).getTime():new Date().getTime();return Math.floor(t/n)},Uuid(o="",n=0,t=32){return[o.slice(-3),Date.now().toString(36).slice(-9),n.toString(36),crypto.getRandomValues(new Uint8Array(6)).reduce((l,i)=>l+(i&15).toString(t),"")].join("").slice(0,16)},downloadTxt(o="",n=""){if(o){typeof o=="object"&&(o=JSON.stringify(o));const t=document.createElement("a");t.style.display="none";const s=new Blob([o],{type:"application/octet-stream;charset=utf-8"}),l=URL.createObjectURL(s);t.href=l,t.setAttribute("download",n),document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(l)}},downloadFile(o="",n=""){const t=document.createElement("a");t.href=o,n?t.download=n:t.download=o.slice(o.lastIndexOf("/")+1),document.body.appendChild(t),t.click(),document.body.removeChild(t)},debounce(o,n){n?.timeout&&(clearTimeout(n.timeout),n.timeout=null),n?.immediate?(n.timeout||o(),n.timeout=setTimeout(()=>{n.timeout=null},n.wait)):n.timeout=setTimeout(()=>{o(),clearTimeout(n.timeout),n.timeout=null},n.wait)},throttle(o,n){n?.timeout&&(clearTimeout(n.timeout),n.timeout=null),n?.immediate?(n.endtime=new Date().valueOf(),n.endtime-n.starttime>n.wait&&(o(),n.starttime=n.endtime)):n&&!n?.timeout&&(n.timeout=setTimeout(()=>{o(),clearTimeout(n.timeout),n.timeout=null},n.wait))},async copyToClipboard(o){try{return this.localSet("as-clipboard",o),!0}catch(n){throw n}},async readFromClipboard(){try{return this.localGet("as-clipboard")||""}catch(o){throw o}},DeepClone(o,n=new WeakMap){if(o===null||typeof o!="object")return o;if(n.has(o))return n.get(o);if(o instanceof Date)return new Date(o);if(o instanceof RegExp)return new RegExp(o.source,o.flags);if(o instanceof Map){const s=new Map;return n.set(o,s),o.forEach((l,i)=>{s.set(this.DeepClone(i,n),this.DeepClone(l,n))}),s}if(o instanceof Set){const s=new Set;return n.set(o,s),o.forEach(l=>{s.add(this.DeepClone(l,n))}),s}const t=Array.isArray(o)?[]:{};n.set(o,t);for(let s in o)o.hasOwnProperty(s)&&(t[s]=this.DeepClone(o[s],n));return t}}},Symbol.toStringTag,{value:"Module"})),L={webpath:window?.$CFG?.webpath||"/",_hashChangeListener:null,_popstateListener:null,initHash(o={}){this.webpath.startsWith("/")?(this._popstateListener=(n=null)=>{o.hash=window.location.pathname||"",this.setRouter(o)},this._popstateListener(),window.addEventListener("popstate",this._popstateListener)):(this._hashChangeListener=(n=null)=>{o.hash=window.location.hash?.replace("#","")||"",this.setRouter(o)},window.addEventListener("hashchange",this._hashChangeListener))},offHash(){this.webpath.startsWith("/")?this._popstateListener&&(window.removeEventListener("popstate",this._popstateListener),this._popstateListener=null):this._hashChangeListener&&(window.removeEventListener("hashchange",this._hashChangeListener),this._hashChangeListener=null)},setHref(o){window.location.href=o},getHref(){return window?.location?.href},setHash(o={},n=""){n&&!n.startsWith("/")&&(n=`/${n}`),o.hash=n||"",this.webpath.startsWith("/")?(window.history.pushState({},"",o.hash),this.setRouter(o)):window.location.hash=o.hash},getQuery(o={},n=""){return o.query={},n=n||window?.location?.search?.substring(1)||"",n&&n.split("&").forEach(t=>{const[s,l]=t.split("=");s&&l&&(o.query[s]=decodeURIComponent(l))}),o.query},getHasharr(o){let n=o.hash;if(o.hasharr=[],n){n.startsWith("/")&&(n=n.slice(1));const[t,s]=n.split("?");let l=t?.split("/")||[];for(;l.length>0&&l[l.length-1]==="";)l.pop();o.hasharr=l,this.getQuery(o,s)}return o.hasharr},setRouter(o){this.getHasharr(o);const n=o.hasharr||[],t=o.hasharr?.length||0;if(o.comps=[],t>0){let s="";for(let l=0;l<t;l++)s=`${s}${n[l]}/`,l==t-1?o.comps[l]=`${s}default`:o.comps[l]=`${s}index`}return o.comps?.length||(o.comps[0]="default"),o.comps},setTitle(o="",n=null){const s=!window?.$CFG?.title&&n?.$global?.lang?.sys?.webtit?n?.$global?.lang?.sys?.webtit:"";o?document.title=`${o}${s?" - "+s:""}`:document.title=`${s}`}},T=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"})),W=Object.freeze(Object.defineProperty({__proto__:null,default:o=>{const{$fn:n,$model:t,$db:s,$dbwork:l,$global:i}=o;function f(u="testkdd"){const m=e.inject("$vueProxy");m?.$installplugs?.(u),m?.["$engine"+u]&&(Object.assign(n,m["$engine"+u]),m?.["$engineuse"+u]&&Object.assign(n,m["$engineuse"+u])),t[u]||(t[u]={}),l[u]||(l[u]={}),s[u]||(s[u]={}),n.setconfig=(_,w)=>n.apisys.apiPost("/api/asaijson/manage/update/?path=./webclient/webmodel/sys/setting/"+_+".json",w),n.changelangpro=(_="")=>n.changelang(i.config.langcur||_).then(w=>{i?.sys?.local?.lang?u&&n.ws?.[u]&&n.ws[u].wsSend({id:"1",ty:"common/setlanguage",db:w}):n.setconfig("settinglang",{lang:_})});const h=[n.initlang(i.config.langcur||"")];return h.push(n.initmodel(u+"/dirmodel.json").then(_=>{_&&Object.assign(t[u],_)})),Promise.all(h)}return{initAppModel:f}}},Symbol.toStringTag,{value:"Module"})),R="/api/asailog/";function z(o){return typeof o=="string"&&o.includes(R)}function N(o){return!!(!o||z(o)||/asailog/i.test(o)&&/addclient/i.test(o))}const M=2;let A=0,C=0;function D(){return A>=M?!1:(A++,!0)}function E(){A=Math.max(0,A-1)}function I(){return C>=M?!1:(C++,!0)}function B(){C=Math.max(0,C-1)}const U=e.reactive({providedb:{data:{}}}),F=e.reactive({providedbwork:{data:{}}}),G=e.reactive({provideglobal:{data:{sys:null,wd:{w:0,h:0},config:{theme:"theme-light",lang:"",langcur:""},theme:"",stat:{webclient:0,web:0,cocontrol:0},user:{info:null,online:0},code:{pri:null,pub:null,token:""},location:{},pop:{},url:{},module:{value:"",label:""},keyboard:{comps:{},areastyle:{},opt:{},csskeyboard:"",showkeyboard:!1}}}}),H=e.reactive({providews:{data:{rooms:{},wssys:{}}}}),P={providefn:{data:{api:{},ws:{},wssys:null,workers:{}}}};function V(o){(!o.api||typeof o.api!="object"||typeof o.api=="function")&&(o.api={}),(!o.ws||typeof o.ws!="object"||typeof o.ws=="function")&&(o.ws={}),(!o.workers||typeof o.workers!="object")&&(o.workers={})}function v(o){try{return structuredClone(o)}catch{return JSON.parse(JSON.stringify(o))}}function J(o,n){!n||typeof n!="object"||((!o.rights||typeof o.rights!="object")&&(o.rights={}),Object.entries(n).forEach(([t,s])=>{if(t==="rights"&&s&&typeof s=="object"&&!Array.isArray(s)){Object.entries(s).forEach(([l,i])=>{Array.isArray(i)&&(Array.isArray(o.rights[l])||(o.rights[l]=[]),i.forEach(f=>{o.rights[l].includes(f)||o.rights[l].push(f)}))});return}if(s&&typeof s=="object"&&!Array.isArray(s)){const l=o[t];l&&typeof l=="object"&&!Array.isArray(l)?Object.assign(l,s):o[t]={...s};return}s!==void 0&&(o[t]=s)}))}const q=Object.freeze(Object.defineProperty({__proto__:null,default:(o=null)=>{const n=window;Object.assign(P.providefn.data,o?.plugs||{}),V(P.providefn.data),n.$GYS||(n.$GYS={});const t={$db:U.providedb.data,$dbwork:F.providedbwork.data,$ws:H.providews.data,$global:G.provideglobal.data,$model:n.$GYS?.$webmodel||{webmodels:["views","webmain"]},$fn:P.providefn.data};t?.$model?.gysfn||(t.$model.gysfn={}),t.$global.$cfg=n.$CFG||{},n.$GYS.ujt=t,t.$fn.lo=(...r)=>{if(t.$global.sys?.onconsole){if(!r?.[0])t.$model.gysfn.log();else if(r.length>0){let a="",d="",c="";if(r[1]&&typeof r[1]=="string"){const[p,g,...b]=r;d=g,c=b,Array.isArray(r[0])&&r[0].length===2?a=l(r[0][0],r[0][1],"12px"):typeof r[0]=="number"&&(a=s(p,12))}a?console.log("%c"+d,a,...c):console.log(...r)}}},t.$model.gysfn.log=()=>(console.log("%c$fn",s(6,18),i(t.$fn),t.$fn),console.log("%c$model",s(5,18),i(t.$model),t.$model),console.log("%c$global",s(4,18),i(t.$global),t.$global),console.log("%c$ws",s(3,18),i(t.$ws),t.$ws),console.log("%c$db",s(2,18),i(t.$db),t.$db),console.log("%c$dbwork",s(1,18),i(t.$dbwork),t.$dbwork),"Web Model Log。");function s(r,a=18){let d="";return r===1?d=l("black","pink",a+"px"):r===2?d=l("black","cyan",a+"px"):r===3?d=l("black","yellow",a+"px"):r===4?d=l("white","blue",a+"px"):r===5?d=l("white","red",a+"px"):r===6?d=l("white","green",a+"px"):r===7&&(d=l("white","purple",a+"px")),d}function l(r,a,d="18px"){return"font-size:"+d+";font-weight:bold;border-radius:20px;padding:0 10px;color:"+r+";background-color:"+a+";"}function i(r){try{return"size=>"+((r&&JSON.stringify(r)?.length)/1024).toFixed(3)+"KB"}catch{return""}}function f(r={}){t.$global.pop.popdefaultconfirm&&(t.$global.pop.popdefaultconfirm.stat=1,t.$global.pop.popdefaultconfirm.full=1,t.$global.pop.popdefaultconfirm.notit=1,Object.assign(t.$global.pop.popdefaultconfirm,r))}function u(r={}){t.$global.pop.popdefaultconfirmpass&&(t.$global.pop.popdefaultconfirmpass.stat=1,t.$global.pop.popdefaultconfirmpass.full=1,t.$global.pop.popdefaultconfirmpass.notit=1,Object.assign(t.$global.pop.popdefaultconfirmpass,r))}t.$fn.popConfirm=f,t.$fn.popConfirmPass=u,t.$fn.getWebPath=(r="")=>{const a=t?.$global?.$cfg?.webpath||"./";return r&&!r.startsWith("http")&&!r.startsWith(a)?a+r:r};const{fetchPublic:m}=t.$fn?.AsaiModel?.(t.$fn.getWebPath("webmodel/"))||{};t.$fn.initmodel=m,t.$fn.startLink=()=>new Promise((r,a)=>{t.$fn.initmodel("sys/server.json").then(d=>{const c={api:{},ws:{}};["api","ws"].forEach(p=>{Object.keys(d?.[p]||{}).forEach(g=>{let b=d[p][g];b&&typeof b=="string"&&(b=c[p][b]),b||(b=d[p].default),c[p][g]={...b,url:t.$fn.As.getUrlByCfg(b,p=="ws"?1:0)}})}),t.$fn.As.localSet("as-link",JSON.stringify(c)),t.$global.link=c,r(t.$global.link)}).catch(d=>{a(d)})}),t.$fn.saveLink=r=>{t.$global.link=r,t.$fn.As.localSet("as-link",JSON.stringify(t.$global.link))},t.$fn.initLink=(r=0)=>new Promise((a,d)=>{if(r)t.$fn.startLink().then(c=>{a(c)}).catch(c=>{d(c)});else{let c=t.$fn.As.localGet("as-link");c?(t.$global.link=JSON.parse(c),t.$global.link?.api&&t.$global.link?.ws&&t.$global.link?.ws?.default?a(t.$global.link):t.$fn.startLink().then(p=>{a(p)}).catch(p=>{d(p)})):t.$fn.startLink().then(p=>{a(p)}).catch(p=>{d(p)})}});const h=new Map,_=/\$(\d+)/g;t.$fn.lg=(r,a)=>{if(typeof r!="string"||!r)return;let d=h.get(r);d||(d=r.split("."),h.set(r,d));const c=d.reduce((b,y)=>b?.[y],t.$global.lang);if(!a||a.length===0)return c;const p=Array.isArray(a)?a:[a];return c?.replace(_,(b,y)=>{const j=parseInt(y,10)-1;return p[j]??b})},t.$fn.initlang=(r="")=>{let a="";return t.$global?.sys?.local?.lang?a=r||t.$fn.As.localGet(t.$global?.sys?.local?.lang)||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0]:a=r||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0],t.$global?.lang||(t.$global.lang={}),new Promise((d,c)=>{t.$fn.initmodel("lang/dirlang.json",a+"/").then(p=>{Object.assign(t.$global.lang,p),d(t.$global.lang)}).catch(p=>{c(p)})})},t.$fn.changelang=(r="")=>{let a="";return t.$global?.sys?.local?.lang?a=t.$fn.As.localGet(t.$global?.sys?.local?.lang)||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0]:a=t.$global.config.langcur||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0],new Promise((d,c)=>{r&&a===r&&t.$global?.lang?d(a):(r==="auto"?a=a==t.$model.data?.sys?.sysconfig?.lang[0]?t.$model.data?.sys?.sysconfig?.lang[1]:t.$model.data?.sys?.sysconfig?.lang[0]:r&&(a=r),t.$global?.sys?.local?.lang&&t.$fn.As.localSet(t.$global?.sys?.local?.lang,a),t.$global?.sys?.local?.lang||!t.$global.config.lang?(t.$global.config.lang=a,t.$fn.initlang(a).then(p=>{d(a)}).catch(p=>{c(p)})):d(a))})},t.$fn.initver=()=>{if(t.$global.sys?.webver){const r=t.$fn.As.localGet("as-web-ver");if(r){if(t.$global.sys?.webver!==r)return t.$fn.As.localInit(),!0}else t.$fn.As.localSet("as-web-ver",t.$global.sys?.webver||"")}return!1},t.$fn.initweb=async r=>{try{let a=function(){const{protocol:c,hostname:p,port:g,hash:b}=n.location;t.$global.location={protocol:c,hostname:p,port:g,hash:b.replace("#",""),comps:[],query:{}},t.$fn.AsRouter.initHash(t.$global.location),y();function y(){t.$fn.AsRouter.setRouter(t.$global.location)}t.$fn.setquery=(j={},O=0)=>{let k;O?k=new URLSearchParams({...t.$global.location.query||{},...j||{}}).toString():k=new URLSearchParams(j||{}).toString(),k?k=t.$global.location.hash.split("?")[0]+"?"+k:k=t.$global.location.hash.split("?")[0],t.$fn.AsRouter.setHash(t.$global.location,k),y()},t.$fn.sethash=(j="")=>{t.$fn.AsRouter.setHash(t.$global.location,j)},t.$fn.exit=(j=0)=>{t.$fn.As.localSet("as-user-info",""),t.$global.user.info=null,t.$global.code.token=null,j&&(t.$fn.sethash(""),t.$fn.As.localReload())},t.$fn.login=()=>{t.$fn.As.localSet("as-user-info",""),t.$global.user.info=null,t.$fn.sethash(t.$global.sys?.router?.config?.login||"user/login")}};Object.assign(t.$fn,r.$fns||{}),Object.assign(t.$fn,r.$engineasai||{}),Object.assign(t.$fn,r.$engineasailib||{});for(let c=0;c<3;c++)r["$engineasai"+c]&&Object.assign(t.$fn,r["$engineasai"+c]);V(t.$fn);const d=await t.$fn.initmodel("sys/dirglobal.json");if(t.$global.sys={},Object.keys(d).forEach(c=>{Object.assign(t.$global.sys,d[c])}),t.$fn.initver())return;if(t.$model?.data||(t.$model.data={}),t.$model.data.sys=await t.$fn.initmodel("sys/dirmodel.json"),t.$model.data?.sys?.configrouter){t.$global.sys.router=v(t.$model.data.sys.configrouter);for(let c=0;c<t.$model?.webmodels?.length;c++){const p=await t.$fn.initmodel(t.$model?.webmodels?.[c]+"/configrouter.json");p&&typeof p=="object"&&!Array.isArray(p)&&J(t.$global.sys.router,p)}}t.$fn.lo(),await t.$fn.initLink(),a()}catch(a){console.error("initUser error:",a)}},t.$fn.offweb=()=>{t.$fn.AsRouter.offHash()},t.$fn.initrouter=()=>{if(t.$global?.sys?.devlevel&&!t.$global.url[t.$global.module.value]){t.$global.url[t.$global.module.value]=[],t.$global.url[t.$global.module.value].push(...Object.keys(t.$model.appmodules.indexRouters).map(a=>({value:a,label:a,type:"module"})));const r=/^\.\/(.*?)\/default\.vue$/;t.$global.url[t.$global.module.value].push(...[...Object.keys(t.$model.comps)?.map(a=>{if(r.test(a)){const d=a.match(r);if(d)return d[1]}return""}).filter(a=>a)].map(a=>({value:a,label:a})))}},t.$fn.inittoken=()=>{t.$global.code.pri&&t.$global.user.info?.us&&(t.$global.code.token=t.$fn.AsCode.asencode(t.$global.user.info?.us,t.$global.code.pri)+"##"+t.$fn.AsCode.asencode(t.$global.user.info?.lv||0,t.$global.code.pri)+"##"+t.$global.code.pub)},t.$fn.gettoken=(r=0)=>t.$global?.code?.token?t.$global.code.token:t.$global?.code?.pub&&r?t.$global?.code?.token||"####"+t.$global.code.pub:"",t.$fn.logSave=(r=null)=>new Promise((a,d)=>{if(!D()){a(void 0);return}Array.isArray(r)&&(r=r?.map?.(p=>typeof p=="object"?JSON.stringify(p):p)?.join(`
2
- `)||"");const c=typeof r=="string"?r:String(r??"");if(N(c)){E(),a(void 0);return}t?.$fn?.apisys?.apiPost("/api/asailog/manage/addclient/",r,{skipWebLog:!0}).then(p=>{E(),a(p)}).catch(p=>{E(),d(p)})});function w(r=new Date){const a=(d,c=2)=>String(d).padStart(c,"0");return`${a(r.getHours())}:${a(r.getMinutes())}:${a(r.getSeconds())}.${a(r.getMilliseconds(),3)}`}return t.$fn.$log=(r=null)=>new Promise((a,d)=>{if(!r){a(void 0);return}if(!I()){a(void 0);return}const c=Array.isArray(r)?r.map(g=>typeof g=="object"?JSON.stringify(g):String(g)).join(`
3
- `):String(r),p=`[${w()}] ${t.$global?.user?.info?.us||""}-${c}`;if(t?.$fn?.lo?.(7,"log",p),t?.$global?.sys?.onweblog&&!N(c)){t.$fn.logSave(p).then(g=>{B(),a(g)}).catch(g=>{B(),d(g)});return}B(),a(void 0)}),t.$fn.checkOnline=()=>new Promise((r,a)=>{if(t?.$global?.sys?.onwebws&&t?.$global?.sys?.onckuseronline)try{typeof t?.$fn?.ws?.web?.wsApi=="function"?t.$fn.ws.web.wsApi("ping")?.then(d=>{d=="pong"?r(d):a(d)}).catch(a):a()}catch(d){a(d)}else r()}),e.provide("$ujtasai",t),{...t,$ujtasai:t}}},Symbol.toStringTag,{value:"Module"})),Y={install(o,n){n.loadts({app:o,key:"$engineasai",eager:!0,files:Object.assign({"./asengine/common/As.ts":x,"./asengine/common/AsRouter.ts":T,"./asengine/init/useInitApp.ts":W,"./asengine/provide/useProvide.ts":q})}),n.loadvue({loadfn:n.loadfn,app:o,eager:!1,files:Object.assign({"./asui/app/AsaiComponent.vue":()=>Promise.resolve().then(()=>K),"./asui/app/AsaiInitPage.vue":()=>Promise.resolve().then(()=>X),"./asui/app/AsaiWebItemDefault.vue":()=>Promise.resolve().then(()=>le),"./asui/app/AsaiWebItemIndex.vue":()=>Promise.resolve().then(()=>ae),"./asui/app/AsaiWebModule.vue":()=>Promise.resolve().then(()=>re),"./asui/app/AsaiWebModuleDefault.vue":()=>Promise.resolve().then(()=>he),"./asui/app/AsaiWebModuleIndex.vue":()=>Promise.resolve().then(()=>be),"./asui/app/AsaiWebServer.vue":()=>Promise.resolve().then(()=>_e),"./asui/app/AsaiWebServerNode.vue":()=>Promise.resolve().then(()=>ye),"./asui/app/AsaiWebServerUser.vue":()=>Promise.resolve().then(()=>$e),"./asui/app/AsaiWebServerUserOnline.vue":()=>Promise.resolve().then(()=>we),"./asui/common/AsPageBusy.vue":()=>Promise.resolve().then(()=>Ae),"./asui/common/AsPageBusyGif.vue":()=>Promise.resolve().then(()=>Be),"./asui/common/AsReset.vue":()=>Promise.resolve().then(()=>Oe),"./asui/common/AsSvg.vue":()=>Promise.resolve().then(()=>xe),"./asui/common/MenuShowFix.vue":()=>Promise.resolve().then(()=>ze),"./asui/common/RouterMap.vue":()=>Promise.resolve().then(()=>Ie),"./asui/common/RouterView.vue":()=>Promise.resolve().then(()=>Ge),"./asui/common/VirtualList.vue":()=>Promise.resolve().then(()=>He),"./asui/page/PageErr.vue":()=>Promise.resolve().then(()=>Ye),"./asui/page/PageLoadClient.vue":()=>Promise.resolve().then(()=>Ze),"./asui/page/PageLoadErr.vue":()=>Promise.resolve().then(()=>st),"./asui/page/PageLoadServer.vue":()=>Promise.resolve().then(()=>dt),"./asui/page/PageLoadUserToken.vue":()=>Promise.resolve().then(()=>ht),"./asui/page/PageLoadUserTokenOnline.vue":()=>Promise.resolve().then(()=>kt),"./asui/page/PageLoadWs.vue":()=>Promise.resolve().then(()=>Bt)})})}},K=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiComponent",props:{ujt:{}},setup(o){const n=o,{$model:t,$global:s}=n.ujt,l=e.computed(()=>t.appmodules.indexRouters[(t?.webmodels?.includes(s.location?.hasharr?.[0])?s.location?.hasharr?.[0]:"")||t?.webmodels?.[0]]);return(i,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{ujt:o.ujt},null,8,["ujt"]))}})},Symbol.toStringTag,{value:"Module"})),X=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiInitPage",props:{appmodules:{},ujt:{}},setup(o){const n=o,t=e.inject("$vueProxy"),{$global:s,$fn:l,$model:i,$ws:f}=n.ujt;i.appmodules=n.appmodules;function u(){let a=l.As?.localGet("as-user-code");a&&(a=l.As.toObj(a),s.code.pri=a[0],s.code.pub=a[1]),s.code.pri&&l.As.localGet("as-user-info")&&(s.user.info=l.As.toObj(l.AsAES.dec(l.As.localGet("as-user-info")))),l.inittoken()}function m(){s?.sys?.onwebws&&l.ws.web.wsListen({ty:"publish/web"},a=>{const d=a?.db?.lang,c=!!s.user?.info?.us;d==="nousername"&&!c||(a?.db?.lang&&(a.db.langpm?a.db.con=l.lg("asai.hostmsg."+a.db.lang,a.db.langpm)||a.db.con:a.db.con=l.lg("asai.hostmsg."+a.db.lang)||a.db.con),a?.db==="pong"?l.ws.web.wsApi("ping").then(p=>{}):a?.db?.bs?_(a.db.bs):a?.db?.con&&s?.msg?.fn?.(a.db),a?.db?.exit&&c&&l.exit())})}function h(){const a=s.link?.ws?.web;return!(!a||a.sec&&!l.gettoken(0))}function _(a){if(Array.isArray(a)&&a[0]?.[0])try{a.forEach(d=>{l.As.setObjValByPath(f.wssys,d[0],d[1])})}catch{}}s.rlv=e.computed(()=>!s.location.hash||s.location.hash=="/"||s.sys?.router?.rights?.lv0?.find(a=>s.location.hash.includes(a))?0:s.sys?.router?.rights?.lv1?.find(a=>s.location.hash.includes(a))?1:s.sys?.router?.rights?.lv2?.find(a=>s.location.hash.includes(a))?2:s.sys?.router?.rights?.lv3?.find(a=>s.location.hash.includes(a))?3:s.sys?.router?.config?.lv||0);function w(a,d){try{console.error(d+" Error:",a);let c="";a?.error?.stack&&typeof a?.error?.stack=="string"?c=a.error.stack:a?.error?.message&&typeof a?.error?.message=="string"?c=a.error.message:a?.message&&typeof a?.message=="string"?c=a.message:a?.reason?.message&&typeof a?.reason?.message=="string"?c=a.reason.message:a?.reason&&typeof a?.reason=="string"?c=a.reason:a&&typeof a=="string"&&(c=a),c&&(c="Web "+d+` Error:
4
- `+c,console.error(c),l.$log(c),s?.msg?.fn?.({type:"err",con:c})),a.preventDefault()}catch(c){console.error("Try Error:",c)}}const r=e.reactive({catchErrorUnhandledrejection:null,catchErrorCatch:null});return e.onMounted(()=>{l.initweb(t).then(()=>{let a=[];if(l?.useApi?.(n.ujt,"web"),s?.sys?.tyrobot&&(l.useApi?.(n.ujt,s.sys.tyrobot),l.useWs?.(n.ujt,s.sys.tyrobot)),u(),s?.sys?.onwebws&&(l.useWs?.(n.ujt,"web"),m(),h()&&a.push(l.ws.web?.init?.())),s?.sys?.local?.lang||a.push(l.initmodel("/sys/setting/settinglang.json").then(d=>{typeof d?.data=="string"?s.config.langcur=JSON.parse(d?.data||"{}")?.lang:s.config.langcur=(d?.data||{})?.lang})),s?.sys?.aes?.lv&&!s.sys.aesfns&&l.AsaiVueAES?.useAES){const{toAES:d,fromAES:c}=l.AsaiVueAES.useAES(n.ujt);s.sys.aesfns={allaes:s.sys.aes.lv>1,toAES:d,fromAES:c}}Promise.all(a).then(()=>{l.changelang(s.config.langcur).then(d=>{!window?.$CFG?.title&&s.lang.configweb?.webtit&&(document.title=s.lang.configweb?.webtit),s.stat.webclient=1,s.sys.catcherror&&(r.catchErrorUnhandledrejection=p=>{w(p,"Unhandledrejection")},window?.addEventListener?.("unhandledrejection",r.catchErrorUnhandledrejection),r.catchErrorCatch=p=>{w(p,"Catch")},window?.addEventListener?.("error",r.catchErrorCatch))})})})}),e.onBeforeUnmount(()=>{l.offweb(),s.sys.catcherror&&(r.catchErrorUnhandledrejection&&(window.removeEventListener("unhandledrejection",r.catchErrorUnhandledrejection),r.catchErrorUnhandledrejection=null),r.catchErrorCatch&&(window.removeEventListener("error",r.catchErrorCatch),r.catchErrorCatch=null)),s?.sys?.onwebws||l.ws.web.wsListenOff({ty:"publish/web"})}),(a,d)=>{const c=e.resolveComponent("AsaiWebServer"),p=e.resolveComponent("AsaiWebServerNode"),g=e.resolveComponent("AsaiWebServerUser"),b=e.resolveComponent("AsaiWebServerUserOnline");return e.unref(s).stat.webclient?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(s).rlv===0?(e.openBlock(),e.createBlock(c,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).rlv===1?(e.openBlock(),e.createBlock(p,{key:1,ujt:o.ujt},null,8,["ujt"])):e.unref(s).rlv===2?(e.openBlock(),e.createBlock(g,{key:2,ujt:o.ujt},null,8,["ujt"])):(e.openBlock(),e.createBlock(b,{key:3,ujt:o.ujt},null,8,["ujt"]))],64)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadClient"),{key:1,ujt:o.ujt},null,8,["ujt"]))}}})},Symbol.toStringTag,{value:"Module"})),Z={class:"app-area"},Q={class:"app-logo"},ee=["src"],te={class:"app-menu-area"},oe=["onPointerup"],ne={class:"menu-text"},se={class:"app-login"},le=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebItemDefault",props:{ujt:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt,l=e.computed(()=>t.url?.[t.module.value]?.filter(i=>i.type==="module"||("/"+i.value+"/").startsWith(t.location.hash))||[]);return(i,f)=>{const u=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",Z,[e.createElementVNode("div",Q,[e.createElementVNode("img",{src:e.unref(t).$cfg.logo,width:"200"},null,8,ee)]),e.createElementVNode("div",te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,m=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`app-menu${m.type==="module"?" module":""}`),key:m.value,onPointerup:h=>e.unref(s).sethash(m.value==="views"?"":m.value)},[e.createElementVNode("span",ne,e.toDisplayString(m.label),1)],42,oe))),128))]),e.createElementVNode("div",se,[e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebItemIndex",props:{ujt:{},ty:{}},setup(o){return(n,t)=>{const s=e.resolveComponent("RouterView");return e.openBlock(),e.createBlock(s,{ujt:o.ujt,ty:o.ty||2},null,8,["ujt","ty"])}}})},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebModule",props:{ujt:{},module:{},ty:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt;Object.assign(t.module,n.module),n.module?.ws&&s.useWs(n.ujt,t.module.value);const{initAppModel:l}=s.useInitApp(n.ujt);return t.stat[t.module.value]=0,l(t.module.value).then(i=>{t.stat[t.module.value]=1}),(i,f)=>{const u=e.resolveComponent("RouterView");return n.module?.value&&e.unref(t).stat[n.module.value]?(e.openBlock(),e.createBlock(u,{key:0,ujt:o.ujt,ty:o.ty||0},null,8,["ujt","ty"])):e.unref(t).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadErr"),{key:1,ujt:o.ujt},null,8,["ujt"]))}}})},Symbol.toStringTag,{value:"Module"})),ie={class:"app-area"},ce={class:"app-logo"},de=["src"],fe={class:"app-menu-area"},ue=["onPointerup"],pe={class:"menu-text"},me={class:"app-login"},ge=e.defineComponent({__name:"AsaiWebModuleDefault",props:{ujt:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt;return s.initrouter(),(l,i)=>{const f=e.resolveComponent("MenuShowFix"),u=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(f,{ujt:o.ujt,menus:e.unref(t).url[e.unref(t).module.value]},null,8,["ujt","menus"]),e.createElementVNode("div",ie,[e.createElementVNode("div",ce,[e.createElementVNode("img",{src:e.unref(t).$cfg.logo,width:"200"},null,8,de)]),e.createElementVNode("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).url[e.unref(t).module.value],m=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`app-menu${m.type==="module"?" module":""}`),key:m.value,onPointerup:h=>e.unref(s).sethash(m.value==="views"?"":m.value)},[e.createElementVNode("span",pe,e.toDisplayString(m.label),1)],42,ue))),128))]),e.createElementVNode("div",me,[e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])])])],64)}}}),$=(o,n)=>{const t=o.__vccOpts||o;for(const[s,l]of n)t[s]=l;return t},he=Object.freeze(Object.defineProperty({__proto__:null,default:$(ge,[["__scopeId","data-v-bba548d2"]])},Symbol.toStringTag,{value:"Module"})),be=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebModuleIndex",props:{ujt:{},ty:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt;return s.initrouter(),(l,i)=>{const f=e.resolveComponent("MenuShowFix"),u=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(f,{ujt:o.ujt,menus:e.unref(t).url[e.unref(t).module.value]},null,8,["ujt","menus"]),e.unref(t).stat[e.unref(t).module.value]?(e.openBlock(),e.createBlock(u,{key:0,ujt:o.ujt,ty:o.ty||1},null,8,["ujt","ty"])):e.createCommentVNode("",!0)],64)}}})},Symbol.toStringTag,{value:"Module"})),_e=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServer",props:{ujt:{}},setup(o){const n=o,{$global:t}=n.ujt;return(s,l)=>{const i=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebserver",class:e.normalizeClass("asaiweb asaiweb"+(e.unref(t).location?.hasharr?.[0]||"default"))},[e.createVNode(i,{ujt:o.ujt},null,8,["ujt"])],2)}}}),[["__scopeId","data-v-7d8d7f46"]])},Symbol.toStringTag,{value:"Module"})),ye=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServerNode",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;if(t.useChannelUser){const{initChannelUserToken:l}=t.useChannelUser({ujt:n.ujt,opt:{channel:s?.sys?.sysdb?.user?.channel||"channeluser"}});l().catch(()=>{t.login()})}return(l,i)=>{const f=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebservernode",class:e.normalizeClass("asaiweb asaiweb"+e.unref(s).location?.hasharr?.[0])},[e.unref(s).code.pub?(e.openBlock(),e.createBlock(f,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadServer"),{key:1,ujt:o.ujt},null,8,["ujt"]))],2)}}}),[["__scopeId","data-v-fc74998b"]])},Symbol.toStringTag,{value:"Module"})),$e=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServerUser",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;if(t.useChannelUser){const{initChannelUserToken:l}=t.useChannelUser({ujt:n.ujt,opt:{channel:s?.sys?.sysdb?.user?.channel||"channeluser"}});l().catch(()=>{t.login()})}return(l,i)=>{const f=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebserveruser",class:e.normalizeClass("asaiweb asaiweb"+e.unref(s).location?.hasharr?.[0])},[e.unref(s).code.token?(e.openBlock(),e.createBlock(f,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadUserToken"),{key:1,ujt:o.ujt},null,8,["ujt"]))],2)}}}),[["__scopeId","data-v-d2483ecb"]])},Symbol.toStringTag,{value:"Module"})),we=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServerUserOnline",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;if(t.useChannelUser){const{initChannelUserOnline:l}=t.useChannelUser({ujt:n.ujt,opt:{channel:s?.sys?.sysdb?.user?.channel||"channeluser"}});l().catch(()=>{t.login()})}return(l,i)=>{const f=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebserveruseronline",class:e.normalizeClass("asaiweb asaiweb"+e.unref(s).location?.hasharr?.[0])},[e.unref(s).code.token&&e.unref(s).user.online?(e.openBlock(),e.createBlock(f,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadUserTokenOnline"),{key:1,ujt:o.ujt},null,8,["ujt"]))],2)}}}),[["__scopeId","data-v-13dc3fec"]])},Symbol.toStringTag,{value:"Module"})),ke={key:0,class:"as-pagebusy-area touch-none"},je={class:"as-pagebusy"},Se={key:0,class:"as-pagebusy-v"},Ae=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsPageBusy",props:{ujt:{}},setup(o){e.useCssVars(f=>({v2189716e:l.value}));const n=o,{$global:t,$fn:s}=n.ujt,l=e.computed(()=>t.pagebusy?.zindex||9999);function i(){s.popConfirm({con:t.lang.asai.resetconfirm,zindex:l.value+1,fn:()=>{t.pagebusy=null,s.As.localInit()}})}return(f,u)=>{const m=e.resolveComponent("AsPageBusyGif"),h=e.resolveDirective("dbpointerdown");return e.unref(t).pagebusy?e.withDirectives((e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",{class:"as-pagebusy-close",onClick:u[0]||(u[0]=e.withModifiers(_=>i(),["stop"]))}),e.createElementVNode("div",je,[e.createVNode(m,{ujt:o.ujt},null,8,["ujt"]),e.unref(t).pagebusy?.v?(e.openBlock(),e.createElementBlock("div",Se,e.toDisplayString(e.unref(t).pagebusy?.v),1)):e.createCommentVNode("",!0)])])),[[h,()=>{e.unref(t).pagebusy?.keep||i()}]]):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-3b86e9a1"]])},Symbol.toStringTag,{value:"Module"})),Ce=$(e.defineComponent({__name:"AsLoadingCircle",props:{ujt:{type:Object,default:()=>({})},size:{type:Number,default:68,validator:o=>o>0}},setup(o){return(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:"as-load-gif",style:e.normalizeStyle({width:o.size+"px",height:o.size+"px"})},null,4))}}),[["__scopeId","data-v-c5bf2081"]]),Ee=$(e.defineComponent({__name:"AsLoadingA3d",props:{ujt:{type:Object,default:()=>({})},size:{type:Number,default:68,validator:o=>o>0}},setup(o){return(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:"a3d-wrapper",style:e.normalizeStyle({"--cube-size":`${o.size}px`,"--half-size":`${o.size/2}px`})},[...t[0]||(t[0]=[e.createStaticVNode('<div class="a3d" data-v-4d1d2b0e><div class="a3d-face a3d-face-front" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-back" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-left" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-right" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-top" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-bottom" data-v-4d1d2b0e></div></div>',1)])],4))}}),[["__scopeId","data-v-4d1d2b0e"]]),Be=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsPageBusyGif",props:{ujt:{},opt:{}},setup(o){const n=o,{$global:t}=n.ujt;return(s,l)=>o.opt?.ty||e.unref(t).pagebusy?.ty?(e.openBlock(),e.createBlock(Ee,{key:0,size:o.opt?.size||e.unref(t).pagebusy?.size,ujt:o.ujt},null,8,["size","ujt"])):(e.openBlock(),e.createBlock(Ce,{key:1,size:o.opt?.size||e.unref(t).pagebusy?.size,ujt:o.ujt},null,8,["size","ujt"]))}})},Symbol.toStringTag,{value:"Module"})),Pe={key:0,class:"as-usercard"},Oe=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsReset",props:{ujt:{},type:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt,l={};return(i,f)=>{const u=e.resolveComponent("AsSvg");return e.renderSlot(i.$slots,"default",{item:{},option:l},()=>[e.unref(s).lang?.asai?.usercard?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",{onClick:f[0]||(f[0]=m=>e.unref(t).login())},[e.createVNode(u,{color:"var(--cu6)",height:"26px",src:"asai/login"}),e.createTextVNode(" "+e.toDisplayString(e.unref(s).lang.asai.usercard?.login),1)]),e.createElementVNode("div",{onClick:f[1]||(f[1]=m=>e.unref(t).As.localInit()),title:"ctrl+shift+r"},[e.createVNode(u,{color:"var(--cu6)",height:"26px",src:"asai/reset"}),e.createTextVNode(" "+e.toDisplayString(e.unref(s).lang.asai.usercard?.reset),1)])])):e.createCommentVNode("",!0)],!0)}}}),[["__scopeId","data-v-a12ce8ac"]])},Symbol.toStringTag,{value:"Module"})),Ne={class:"as-icon"},Me={key:0,class:"as-icon-filter"},Ve=["src"],xe=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsSvg",props:{src:{type:String,default:""},height:{type:String,default:"24px"},width:{type:String,default:""},color:{type:String,default:"var(--cv8)"},showtype:{type:String,default:"mask"},webty:{type:String,default:""}},setup(o){const n=o,t=window?.$CFG?.webpath||"./";let s=e.ref("");const l=e.computed(()=>s.value?t+"webmodel/files/"+(n.webty??+n.webty+"/")+"svg/"+s.value+".svg":n.src.startsWith("http")||n.src.endsWith(".svg")||n.src.endsWith(".png")?n.src:t+"webmodel/files/"+(n.webty??+n.webty+"/")+"svg/"+n.src+".svg");function i(){s.value="default"}function f(){return{width:`${n.width?n.width:n.height}`,height:`${n.height?n.height:n.width}`,"background-color":`${n.color}`,"mask-image":`url('${l.value}')`,"-webkit-mask-image":`url('${l.value}')`}}function u(){return n.width?{transform:"translateX(-100%)",filter:`drop-shadow(${n.width} 0 ${n.color})`,width:`${n.width}`}:{transform:"translateY(-100%)",filter:`drop-shadow(0 ${n.height} ${n.color})`,height:`${n.height}`}}return(m,h)=>(e.openBlock(),e.createElementBlock("i",Ne,[o.showtype==="filter"?(e.openBlock(),e.createElementBlock("i",Me,[e.createElementVNode("img",{style:e.normalizeStyle(u()),src:l.value,onError:h[0]||(h[0]=_=>i())},null,44,Ve)])):(e.openBlock(),e.createElementBlock("i",{key:1,class:"as-icon-mask",style:e.normalizeStyle(f())},null,4))]))}}),[["__scopeId","data-v-d9bafe22"]])},Symbol.toStringTag,{value:"Module"})),Le={class:"as-floating-menu"},Te={key:0},We={key:1},Re=["onPointerup"],ze=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"MenuShowFix",props:{ujt:{},menus:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt,l=e.ref(!1);function i(){l.value=!l.value}const f=e.computed(()=>[{value:"/",label:t.lg("asai.home"),type:"module"},{fn:()=>s.theme.c=s.theme.c==="d"?"l":"d",label:t.lg("asai.theme"),type:"module"},{fn:()=>s.theme.s=s.theme.s==="b"?"n":"b",label:t.lg("asai.size"),type:"module"},{fn:()=>t.changelang("auto"),label:t.lg("asai.langs.default"),type:"module"},...n.menus||[]]);return(u,m)=>!e.unref(s).sys||e.unref(s).sys.devlevel>1?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"#teleportpopbox"},[e.createElementVNode("div",Le,[e.createElementVNode("button",{class:"as-floating-button",onClick:i},[l.value?(e.openBlock(),e.createElementBlock("span",Te,"×")):(e.openBlock(),e.createElementBlock("span",We,"☰"))]),e.createElementVNode("ul",{class:e.normalizeClass(["as-floating-menus",{open:l.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(h,_)=>(e.openBlock(),e.createElementBlock("li",{key:"menu"+_,class:e.normalizeClass(`${h.type==="module"?"module ":""}${h.value&&e.unref(s).location.hash.includes(h.value)?"active":""}`),onPointerup:w=>h.value?e.unref(t).sethash(h.value):h?.fn?.()},e.toDisplayString(_+1)+". "+e.toDisplayString(h.label||h.value),43,Re))),128))],2)])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-162e1725"]])},Symbol.toStringTag,{value:"Module"})),De={class:"app-menu-area"},Ie=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"RouterMap",props:{ujt:{},menus:{}},setup(o){const n=o,{$fn:t}=n.ujt;return(s,l)=>(e.openBlock(),e.createElementBlock("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.menus,i=>(e.openBlock(),e.createElementBlock("div",{class:"app-menu",onClick:l[0]||(l[0]=f=>e.unref(t).sethash("item.value"))},e.toDisplayString(i.label),1))),256))]))}}),[["__scopeId","data-v-6d15bb32"]])},Symbol.toStringTag,{value:"Module"})),Ue={key:0,class:"loading"},Fe={key:1,class:"error"},Ge=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"RouterView",props:{ujt:{},ty:{}},setup(o){const n=o,{$model:t,$fn:s,$global:l}=n.ujt,i=e.shallowReactive({comp:null}),f=e.ref(!1),u=e.ref(null);s.getcomp=async h=>{f.value=!0,u.value=null;try{try{return e.defineAsyncComponent(t.comps[`./${h}.vue`])}catch(_){if(h&&h.endsWith("/default"))return e.defineAsyncComponent(t.comps[`./${h.slice(0,-8)}.vue`]);throw _}}catch(_){return u.value=_,e.defineAsyncComponent(()=>Promise.resolve().then(()=>xt))}finally{f.value=!1}};const m=e.watch(()=>l.location.comps[n.ty],async(h,_)=>{h&&h!==_&&(i.comp=await s.getcomp(h))},{immediate:!0});return e.onBeforeUnmount(()=>{m&&m.stop()}),(h,_)=>f.value?(e.openBlock(),e.createElementBlock("div",Ue,"Loading...")):u.value?(e.openBlock(),e.createElementBlock("div",Fe,"Component load error")):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(i).comp),{key:2,ujt:o.ujt},null,8,["ujt"]))}})},Symbol.toStringTag,{value:"Module"})),He=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"VirtualList",props:{items:{type:Array,required:!0},itemHeight:{type:Number,default:50},buffer:{type:Number,default:5}},setup(o){const n=o,t=e.ref(null),s=e.ref(0),l=e.ref(0),i=e.ref(0),f=e.ref(new Array(n.items.length).fill(Math.round(n.itemHeight))),u=new Map,m=e.computed(()=>Math.round(n.items.reduce((c,p,g)=>c+h(g),0))),h=c=>c<0||c>=n.items.length?0:Math.round(f.value[c]??n.itemHeight),_=()=>{if(!t.value)return{start:0,end:Math.min(n.items.length,n.buffer*3)};const c=s.value,p=t.value.clientHeight;let g=0,b=n.items.length;for(;g<b;){const k=g+b>>>1;r(k)<=c?g=k+1:b=k}const y=Math.max(0,g-1),j=Math.ceil(p/n.itemHeight)+n.buffer*2,O=Math.min(n.items.length,y+j);return{start:y,end:O}},w=e.computed(()=>{const{start:c,end:p}=_();return n.items.slice(c,p).map((g,b)=>{const y=c+b;return{index:y,id:g.id||y,data:g,offset:r(y)}})}),r=c=>{if(c<=0)return 0;if(u.has(c))return u.get(c);let p=c-1;for(;p>0&&!u.has(p);)p--;let g=p>0?u.get(p):0;for(let y=p;y<c;y++)g+=h(y);const b=Math.round(g);return u.set(c,b),b},a=()=>{l.value&&cancelAnimationFrame(l.value),l.value=requestAnimationFrame(()=>{t.value&&(s.value=Math.round(t.value.scrollTop),i.value&&clearTimeout(i.value),i.value=window.setTimeout(()=>{const{start:c,end:p}=_(),g=n.buffer*2;for(const b of u.keys())(b<c-g||b>p+g)&&u.delete(b)},150))})};let d=null;return e.onMounted(()=>{t.value&&a(),d=e.watch(()=>n.items.length,c=>{c>f.value.length?f.value=[...f.value,...new Array(c-f.value.length).fill(Math.round(n.itemHeight))]:c<f.value.length&&(f.value=f.value.slice(0,c)),u.clear()})}),e.onBeforeUnmount(()=>{d&&d.stop(),l.value&&cancelAnimationFrame(l.value),i.value&&clearTimeout(i.value)}),(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:"virtual-list-container",onScroll:a,ref_key:"container",ref:t,style:{height:"100%"}},[e.createElementVNode("div",{class:"virtual-list-wrapper",style:e.normalizeStyle({height:m.value+"px"})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,g=>(e.openBlock(),e.createElementBlock("div",{class:"virtual-list-item",key:"as"+g.index,style:e.normalizeStyle({transform:`translateY(${g.offset}px)`})},[e.renderSlot(c.$slots,"default",{item:g},void 0,!0)],4))),128))],4)],544))}}),[["__scopeId","data-v-b613b7a8"]])},Symbol.toStringTag,{value:"Module"})),ve={class:"as-load-area"},Je=["src"],qe={class:"tit",style:{color:"var(--cz8)"}},Ye=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageErr",props:{ujt:{}},setup(o){const n=window;function t(){n?.localStorage?.clear(),n?.location?.reload()}return(s,l)=>(e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("img",{onDblclick:l[0]||(l[0]=i=>t()),src:e.unref(n).$CFG?.logo,width:"200"},null,40,Je),l[2]||(l[2]=e.createElementVNode("div",{class:"as-load-icon"},[e.createElementVNode("div",{class:"as-load-gif",style:{width:"68px",height:"68px"}})],-1)),e.createElementVNode("div",{class:"as-load-msg",onClick:l[1]||(l[1]=i=>e.unref(n)?.location?.reload())},[e.createElementVNode("div",qe,e.toDisplayString(e.unref(n).$GYS?.$webmodel?.lang?.[e.unref(n).$GYS?.$webmodel.lang.langty]?.pageerr),1)])]))}})},Symbol.toStringTag,{value:"Module"})),Ke={class:"as-load-area"},Xe=["src"],Ze=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadClient",props:{ujt:{}},setup(o){const n=e.ref("");e.onMounted(()=>{const s=window;n.value=s?.$CFG?.logo||""});function t(){const s=window;try{s?.localStorage?.clear()}catch{console.warn("Failed to clear localStorage")}s?.location?.reload()}return(s,l)=>(e.openBlock(),e.createElementBlock("div",Ke,[n.value?(e.openBlock(),e.createElementBlock("img",{key:0,onDblclick:l[0]||(l[0]=i=>t()),src:n.value,width:"200"},null,40,Xe)):e.createCommentVNode("",!0),l[2]||(l[2]=e.createElementVNode("div",{class:"as-load-icon"},[e.createElementVNode("div",{class:"as-load-gif",style:{width:"68px",height:"68px"}})],-1)),e.createElementVNode("div",{class:"as-load-msg",onClick:l[1]||(l[1]=i=>t())},"Loading...")]))}})},Symbol.toStringTag,{value:"Module"})),Qe={class:"as-load-area"},et=["src"],tt={class:"as-load-icon"},ot={class:"as-load-msg"},nt={class:"tit",style:{color:"var(--cz8)"}},st=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadErr",props:{ujt:{},type:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,i)=>{const f=e.resolveComponent("AsPageBusyGif"),u=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("img",{onDblclick:i[0]||(i[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,et),e.createElementVNode("div",tt,[e.createVNode(f,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",ot,[e.createElementVNode("div",nt,e.toDisplayString(e.unref(s).lang?.asai?.page?.loadws),1),e.createElementVNode("h3",null,e.toDisplayString(n.type),1),e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),lt={class:"as-load-area"},at=["src"],rt={class:"as-load-icon"},it={class:"as-load-msg"},ct={class:"tit",style:{color:"var(--cy8)"}},dt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadServer",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,i)=>{const f=e.resolveComponent("AsPageBusyGif"),u=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("img",{onDblclick:i[0]||(i[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,at),e.createElementVNode("div",rt,[e.createVNode(f,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",it,[e.createElementVNode("div",ct,e.toDisplayString(e.unref(s).lang.asai?.page?.loadserver||"Loading server..."),1),e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),ft={class:"as-load-area"},ut=["src"],pt={class:"as-load-icon"},mt={class:"as-load-msg"},gt={class:"tit",style:{color:"var(--cz8)"}},ht=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadUserToken",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,i)=>{const f=e.resolveComponent("AsPageBusyGif"),u=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",ft,[e.createElementVNode("img",{onDblclick:i[0]||(i[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,ut),e.createElementVNode("div",pt,[e.createVNode(f,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",mt,[e.createElementVNode("div",gt,e.toDisplayString(e.unref(s).lang.asai?.page?.loadusertoken||"Loading user token..."),1),e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),bt={class:"as-load-area"},_t=["src"],yt={class:"as-load-icon"},$t={class:"as-load-msg"},wt={class:"tit",style:{color:"var(--cy8)"}},kt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadUserTokenOnline",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,i)=>{const f=e.resolveComponent("AsPageBusyGif"),u=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",bt,[e.createElementVNode("img",{onDblclick:i[0]||(i[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,_t),e.createElementVNode("div",yt,[e.createVNode(f,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",$t,[e.createElementVNode("div",wt,e.toDisplayString(e.unref(s).lang.asai?.page?.loaduseronline||"Loading user token online..."),1),e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),jt={class:"as-load-area"},St=["src"],At={class:"as-load-icon"},Ct={class:"as-load-msg"},Et={class:"tit",style:{color:"var(--cz8)"}},Bt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadWs",props:{ujt:{},type:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,i)=>{const f=e.resolveComponent("AsPageBusyGif"),u=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("img",{onDblclick:i[0]||(i[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,St),e.createElementVNode("div",At,[e.createVNode(f,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",Ct,[e.createElementVNode("div",Et,e.toDisplayString(e.unref(s).lang?.asai?.page?.loadws),1),e.createElementVNode("h3",null,e.toDisplayString(n.type),1),e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),Pt={class:"page-404"},Ot={class:"content"},Nt={key:0,class:"title"},Mt={class:"description"},Vt={class:"footer"},xt=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"Asai404",props:{ujt:{}},setup(o){const n=o,{$global:t}=n.ujt;return(s,l)=>{const i=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",Pt,[e.createElementVNode("div",Ot,[l[0]||(l[0]=e.createElementVNode("div",{class:"error-code"},"404",-1)),e.unref(t).lang?.asai?.page?.page404?(e.openBlock(),e.createElementBlock("h1",Nt,e.toDisplayString(e.unref(t).lang?.asai?.page?.page404||"页面未找到"),1)):e.createCommentVNode("",!0),e.createElementVNode("p",Mt,e.toDisplayString(e.unref(t).lang?.asai?.page?.reason404||"Sorry, Page not found!"),1)]),e.createElementVNode("div",Vt,[e.createVNode(i,{ujt:o.ujt},null,8,["ujt"])])])}}}),[["__scopeId","data-v-999cd3d9"]])},Symbol.toStringTag,{value:"Module"}));S.default=Y,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S["asai-vue-host"]={},S.Vue))})(this,(function(S,e){"use strict";const x=Object.freeze(Object.defineProperty({__proto__:null,default:{getUrlByCfg(o=null,n=0){return o?.url?o.url:o?.port?(n?window.location.protocol.includes("s")?"wss:":"ws:":window.location.protocol)+"//"+window.location.hostname+":"+o.port:n?window.location.origin.replace("http","ws"):window.location.origin},arrLenMax(o,n,t=0){return o.length>n&&(t?o.splice(n,o.length-n):o.splice(0,o.length-n)),o},cookiesSetByEncodeURI(o,n,t=0,s="/"){let l="";if(t){const d=new Date;d.setTime(d.getTime()+t),l="; expires="+d.toUTCString()}document.cookie=o+"="+encodeURIComponent(n)+l+"; path="+(s||"/")},cookiesSet(o,n,t=0,s="/"){try{let l="";if(t){const d=new Date;d.setTime(d.getTime()+t),l="; expires="+d.toUTCString()}document.cookie=o+"="+n+l+"; path="+(s||"/")}catch{}},cookiesGet(o){try{const n=document.cookie;if(!n)return"";const t=n.match(new RegExp(`(^| )${o}=([^;]*)(;|$)`));return t&&t[2]?decodeURIComponent(t[2]):""}catch(n){return console.error("cookiesGet error:",n),""}},cookiesDel(o){this.cookiesSetByEncodeURI(o,"",-1e3)},cookiesClear(){const o=document.cookie.split("; ");for(let n=0;n<o.length;n++){const t=o[n],s=t.indexOf("="),l=s>-1?t.substring(0,s):t;document.cookie=l+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"}},readFile(o=null,n=0){return new Promise((t,s)=>{if(o){const l=new FileReader;n?l.readAsText(o):l.readAsDataURL(o),l.onload=()=>{t(l.result)}}else s()})},apiJsonp(o,n){try{const t=window,s=`asaiJsonp_${Date.now()}_${Math.random().toString(36).slice(2)}`;t[s]=d=>{n&&n(d),delete t[s]};const l=document.createElement("script");l.src=`${o}&callback=${s}`,l.type="text/javascript",l.async=!0,l.onload=()=>{document.body.removeChild(l)},l.onerror=()=>{document.body.removeChild(l),delete t[s],n&&n("ERROR")},document.body.appendChild(l)}catch{n&&n("ERROR")}},localTime(o,n=0){if(n){const t=JSON.parse(this.localGet("astime")||"{}");t[o]=n,localStorage.setItem("astime",JSON.stringify(t))}else{const t=JSON.parse(this.localGet("astime")||"{}");if(t[o])return t[o]}return 0},localSet(o,n,t=localStorage){try{typeof n=="object"?t.setItem(o,JSON.stringify(n)):t.setItem(o,String(n))}catch(s){console.error("localSet error:",s)}},localGet(o,n=localStorage){try{return n.getItem(o)}catch{}return""},localRemove(o,n=localStorage){try{return n.removeItem(o)}catch{}},localClears(o=null,n=localStorage){if(o?.length){let t;for(let s in n)t=o.find(l=>s.startsWith(l)),t&&this.localRemove(s,n)}else this.localClear(n)},localClear(o=localStorage){o.clear()},localInit(o=localStorage){this.localClear(o),location.replace("/#"),this.localReload()},localReload(){location.reload()},getPath(o="-"){return o?.replace(/[^a-zA-Z0-9.\-_\\\/]/g,"")},getName(o="-"){return o?.replace(/[^a-zA-Z0-9.\-_]/g,"")},eStop(o){const n=window.event||o;return n?.preventDefault(),n?.stopPropagation(),!0},treeToMap(o,n={}){const t=new Map,s=new Map;if(!o)return{nodeMap:t,depthMap:s};const l=n.id||"id",d=n.ch||"ch",u=n.ft,p=n.ftk,m=n.fty===1,b=typeof u=="string"&&u.length>0&&p,_=[{[d]:o}],w=[0];let i,c,a;for(;_.length;){if(i=_.pop(),c=w.pop(),a=i[l],c>0)if(b){const f=i[p],g=typeof f=="string"&&f.includes(u);(m?!g:g)&&(t.set(a,i),s.set(a,c))}else t.set(a,i),s.set(a,c);const r=i[d];if(r&&r.length>0){const f=c+1;for(let g=r.length-1;g>=0;g--)_.push(r[g]),w.push(f)}}return{nodeMap:t,depthMap:s}},fullScreen(o=""){const n=o?document.getElementById(o):document.documentElement||document.body,t=n.requestFullScreen||n.webkitRequestFullScreen||n.mozRequestFullScreen||n.msRequestFullScreen;if(t)t.call(n);else{const{ActiveXObject:s}=window;if(typeof s<"u"){const l=new s("WScript.Shell");l!==null&&l.SendKeys("{F11}")}}},fullScreenExit(){const o=document?.exitFullscreen;if(o)document.fullscreenElement!==null&&o.call(document);else{const{ActiveXObject:n}=window;if(typeof n<"u"){const t=new n("WScript.Shell");t!==null&&t.SendKeys("{F11}")}}},fullScreenDo(o=null){document.fullscreenElement?this.fullScreenExit():this.fullScreen(),o&&o()},toNums(o,n=0){return o&&Object.keys(o).forEach(t=>{typeof o[t]=="number"&&(o[t]=this.toNum(o[t],n))}),o},toNum(o,n=0){return typeof o!="number"&&typeof o=="string"&&(o=Number(o)),Number.isNaN(o)&&(o=0),o&&n&&(o=Math.round(o*10**n)/10**n),o},toObj(o){try{return o&&typeof o=="string"?JSON.parse(o):o}catch{return{err:"不是JSON格式数据"}}},toStr(o){if(typeof o=="string")return o;try{return JSON.stringify(o)}catch{const t=[];return JSON.stringify(o,(s,l)=>{if(typeof l=="object"&&l!==null){if(t.indexOf(l)!==-1)return;t.push(l)}return l})}},toArr(o,n=0){if(o){if(Array.isArray(o))return o;if(typeof o=="object")return Object.entries(o)}return n?[]:null},setObjValByPath(o,n,t,s=0){try{const l=n.split(".");let d=o;for(let p=0;p<l.length-1;p++){const m=l[p];if(d[m]===void 0||typeof d[m]!="object"||d[m]===null)if(s)d[m]={};else return!1;d=d[m]}const u=l[l.length-1];return d[u]=t,!0}catch{return!1}},isValidFileName(o){if(!o||o.length===0)return!1;const n=o.length;for(let s=0;s<n;s++){const l=o.charCodeAt(s);if(l<=31||l===92||l===47||l===58||l===42||l===63||l===34||l===60||l===62||l===124)return!1}const t=o.charCodeAt(n-1);return!(t===32||t===46)},getTime(o=6,n=0){let t="",s;n?(typeof n=="string"&&(n=Number(n)),n<9999999999?n=n*1e3:n>9999999999999&&(n=n/1e3),s=new Date(n)):s=new Date;const[l,d]=o>9?o+"":"0"+o;function u(p){return+l<=p&&+d>=p}return u(1)&&(t+=("00"+s.getFullYear()).slice(-4)+"-"),u(2)&&(t+=("00"+(s.getMonth()+1)).slice(-2)+"-"),u(3)&&(t+=("00"+s.getDate()).slice(-2)+" "),u(4)&&(t+=("00"+s.getHours()).slice(-2)+":"),u(5)&&(t+=("00"+s.getMinutes()).slice(-2)+":"),u(6)&&(t+=("00"+s.getSeconds()).slice(-2)+"."),u(7)&&(t+=("000"+s.getMilliseconds()).slice(-3)+" "),u(9)?t.replace(/\D/g,""):t&&t.substring(0,t.length-1)},toFormTime(o=0){return this.getTime(6,o).replace(" ","T")},fromFormTime(o="",n=1){const t=o?new Date(o).getTime():new Date().getTime();return Math.floor(t/n)},Uuid(o="",n=0,t=32){return[o.slice(-3),Date.now().toString(36).slice(-9),n.toString(36),crypto.getRandomValues(new Uint8Array(6)).reduce((l,d)=>l+(d&15).toString(t),"")].join("").slice(0,16)},downloadTxt(o="",n=""){if(o){typeof o=="object"&&(o=JSON.stringify(o));const t=document.createElement("a");t.style.display="none";const s=new Blob([o],{type:"application/octet-stream;charset=utf-8"}),l=URL.createObjectURL(s);t.href=l,t.setAttribute("download",n),document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(l)}},downloadFile(o="",n=""){const t=document.createElement("a");t.href=o,n?t.download=n:t.download=o.slice(o.lastIndexOf("/")+1),document.body.appendChild(t),t.click(),document.body.removeChild(t)},debounce(o,n){n?.timeout&&(clearTimeout(n.timeout),n.timeout=null),n?.immediate?(n.timeout||o(),n.timeout=setTimeout(()=>{n.timeout=null},n.wait)):n.timeout=setTimeout(()=>{o(),clearTimeout(n.timeout),n.timeout=null},n.wait)},throttle(o,n){n?.timeout&&(clearTimeout(n.timeout),n.timeout=null),n?.immediate?(n.endtime=new Date().valueOf(),n.endtime-n.starttime>n.wait&&(o(),n.starttime=n.endtime)):n&&!n?.timeout&&(n.timeout=setTimeout(()=>{o(),clearTimeout(n.timeout),n.timeout=null},n.wait))},async copyToClipboard(o){try{return this.localSet("as-clipboard",o),!0}catch(n){throw n}},async readFromClipboard(){try{return this.localGet("as-clipboard")||""}catch(o){throw o}},DeepClone(o,n=new WeakMap){if(o===null||typeof o!="object")return o;if(n.has(o))return n.get(o);if(o instanceof Date)return new Date(o);if(o instanceof RegExp)return new RegExp(o.source,o.flags);if(o instanceof Map){const s=new Map;return n.set(o,s),o.forEach((l,d)=>{s.set(this.DeepClone(d,n),this.DeepClone(l,n))}),s}if(o instanceof Set){const s=new Set;return n.set(o,s),o.forEach(l=>{s.add(this.DeepClone(l,n))}),s}const t=Array.isArray(o)?[]:{};n.set(o,t);for(let s in o)o.hasOwnProperty(s)&&(t[s]=this.DeepClone(o[s],n));return t}}},Symbol.toStringTag,{value:"Module"})),L={webpath:window?.$CFG?.webpath||"/",_hashChangeListener:null,_popstateListener:null,initHash(o={}){this.webpath.startsWith("/")?(this._popstateListener=(n=null)=>{o.hash=window.location.pathname||"",this.setRouter(o)},this._popstateListener(),window.addEventListener("popstate",this._popstateListener)):(this._hashChangeListener=(n=null)=>{o.hash=window.location.hash?.replace("#","")||"",this.setRouter(o)},window.addEventListener("hashchange",this._hashChangeListener))},offHash(){this.webpath.startsWith("/")?this._popstateListener&&(window.removeEventListener("popstate",this._popstateListener),this._popstateListener=null):this._hashChangeListener&&(window.removeEventListener("hashchange",this._hashChangeListener),this._hashChangeListener=null)},setHref(o){window.location.href=o},getHref(){return window?.location?.href},setHash(o={},n=""){n&&!n.startsWith("/")&&(n=`/${n}`),o.hash=n||"",this.webpath.startsWith("/")?(window.history.pushState({},"",o.hash),this.setRouter(o)):window.location.hash=o.hash},getQuery(o={},n=""){return o.query={},n=n||window?.location?.search?.substring(1)||"",n&&n.split("&").forEach(t=>{const[s,l]=t.split("=");s&&l&&(o.query[s]=decodeURIComponent(l))}),o.query},getHasharr(o){let n=o.hash;if(o.hasharr=[],n){n.startsWith("/")&&(n=n.slice(1));const[t,s]=n.split("?");let l=t?.split("/")||[];for(;l.length>0&&l[l.length-1]==="";)l.pop();o.hasharr=l,this.getQuery(o,s)}return o.hasharr},setRouter(o){this.getHasharr(o);const n=o.hasharr||[],t=o.hasharr?.length||0;if(o.comps=[],t>0){let s="";for(let l=0;l<t;l++)s=`${s}${n[l]}/`,l==t-1?o.comps[l]=`${s}default`:o.comps[l]=`${s}index`}return o.comps?.length||(o.comps[0]="default"),o.comps},setTitle(o="",n=null){const s=!window?.$CFG?.title&&n?.$global?.lang?.sys?.webtit?n?.$global?.lang?.sys?.webtit:"";o?document.title=`${o}${s?" - "+s:""}`:document.title=`${s}`}},W=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"})),T=Object.freeze(Object.defineProperty({__proto__:null,default:o=>{const{$fn:n,$model:t,$db:s,$dbwork:l,$global:d}=o;function u(p="testkdd"){const m=e.inject("$vueProxy");m?.$installplugs?.(p),m?.["$engine"+p]&&(Object.assign(n,m["$engine"+p]),m?.["$engineuse"+p]&&Object.assign(n,m["$engineuse"+p])),t[p]||(t[p]={}),l[p]||(l[p]={}),s[p]||(s[p]={}),n.setconfig=(_,w)=>n.apisys.apiPost("/api/asaijson/manage/update/?path=./webclient/webmodel/sys/setting/"+_+".json",w),n.changelangpro=(_="")=>n.changelang(d.config.langcur||_).then(w=>{d?.sys?.local?.lang?p&&n.ws?.[p]&&n.ws[p].wsSend({id:"1",ty:"common/setlanguage",db:w}):n.setconfig("settinglang",{lang:_})});const b=[n.initlang(d.config.langcur||"")];return b.push(n.initmodel(p+"/dirmodel.json").then(_=>{_&&Object.assign(t[p],_)})),Promise.all(b)}return{initAppModel:u}}},Symbol.toStringTag,{value:"Module"})),R="/api/asailog/";function z(o){return typeof o=="string"&&o.includes(R)}function N(o){return!!(!o||z(o)||/asailog/i.test(o)&&/addclient/i.test(o))}const M=2;let A=0,C=0;function D(){return A>=M?!1:(A++,!0)}function E(){A=Math.max(0,A-1)}function I(){return C>=M?!1:(C++,!0)}function B(){C=Math.max(0,C-1)}const U=e.reactive({providedb:{data:{}}}),F=e.reactive({providedbwork:{data:{}}}),G=e.reactive({provideglobal:{data:{sys:null,wd:{w:0,h:0},config:{theme:"theme-light",lang:"",langcur:""},theme:"",stat:{webclient:0,web:0,cocontrol:0},user:{info:null,online:0},code:{pri:null,pub:null,token:""},location:{},pop:{},url:{},module:{value:"",label:""},keyboard:{comps:{},areastyle:{},opt:{},csskeyboard:"",showkeyboard:!1}}}}),v={providews:{data:{rooms:{},wssys:e.shallowReactive({})}}},P={providefn:{data:{api:{},ws:{},wssys:null,workers:{}}}};function V(o){(!o.api||typeof o.api!="object"||typeof o.api=="function")&&(o.api={}),(!o.ws||typeof o.ws!="object"||typeof o.ws=="function")&&(o.ws={}),(!o.workers||typeof o.workers!="object")&&(o.workers={})}function H(o){try{return structuredClone(o)}catch{return JSON.parse(JSON.stringify(o))}}function J(o,n){!n||typeof n!="object"||((!o.rights||typeof o.rights!="object")&&(o.rights={}),Object.entries(n).forEach(([t,s])=>{if(t==="rights"&&s&&typeof s=="object"&&!Array.isArray(s)){Object.entries(s).forEach(([l,d])=>{Array.isArray(d)&&(Array.isArray(o.rights[l])||(o.rights[l]=[]),d.forEach(u=>{o.rights[l].includes(u)||o.rights[l].push(u)}))});return}if(s&&typeof s=="object"&&!Array.isArray(s)){const l=o[t];l&&typeof l=="object"&&!Array.isArray(l)?Object.assign(l,s):o[t]={...s};return}s!==void 0&&(o[t]=s)}))}const q=Object.freeze(Object.defineProperty({__proto__:null,default:(o=null)=>{const n=window;Object.assign(P.providefn.data,o?.plugs||{}),V(P.providefn.data),n.$GYS||(n.$GYS={});const t={$db:U.providedb.data,$dbwork:F.providedbwork.data,$ws:v.providews.data,$global:G.provideglobal.data,$model:n.$GYS?.$webmodel||{webmodels:["views","webmain"]},$fn:P.providefn.data};t?.$model?.gysfn||(t.$model.gysfn={}),t.$global.$cfg=n.$CFG||{},n.$GYS.ujt=t,t.$fn.lo=(...i)=>{if(t.$global.sys?.onconsole){if(!i?.[0])t.$model.gysfn.log();else if(i.length>0){let c="",a="",r="";if(i[1]&&typeof i[1]=="string"){const[f,g,...h]=i;a=g,r=h,Array.isArray(i[0])&&i[0].length===2?c=l(i[0][0],i[0][1],"12px"):typeof i[0]=="number"&&(c=s(f,12))}c?console.log("%c"+a,c,...r):console.log(...i)}}},t.$model.gysfn.log=()=>(console.log("%c$fn",s(6,18),d(t.$fn),t.$fn),console.log("%c$model",s(5,18),d(t.$model),t.$model),console.log("%c$global",s(4,18),d(t.$global),t.$global),console.log("%c$ws",s(3,18),d(t.$ws),t.$ws),console.log("%c$db",s(2,18),d(t.$db),t.$db),console.log("%c$dbwork",s(1,18),d(t.$dbwork),t.$dbwork),"Web Model Log。");function s(i,c=18){let a="";return i===1?a=l("black","pink",c+"px"):i===2?a=l("black","cyan",c+"px"):i===3?a=l("black","yellow",c+"px"):i===4?a=l("white","blue",c+"px"):i===5?a=l("white","red",c+"px"):i===6?a=l("white","green",c+"px"):i===7&&(a=l("white","purple",c+"px")),a}function l(i,c,a="18px"){return"font-size:"+a+";font-weight:bold;border-radius:20px;padding:0 10px;color:"+i+";background-color:"+c+";"}function d(i){try{return"size=>"+((i&&JSON.stringify(i)?.length)/1024).toFixed(3)+"KB"}catch{return""}}function u(i={}){t.$global.pop.popdefaultconfirm&&(t.$global.pop.popdefaultconfirm.stat=1,t.$global.pop.popdefaultconfirm.full=1,t.$global.pop.popdefaultconfirm.notit=1,Object.assign(t.$global.pop.popdefaultconfirm,i))}function p(i={}){t.$global.pop.popdefaultconfirmpass&&(t.$global.pop.popdefaultconfirmpass.stat=1,t.$global.pop.popdefaultconfirmpass.full=1,t.$global.pop.popdefaultconfirmpass.notit=1,Object.assign(t.$global.pop.popdefaultconfirmpass,i))}t.$fn.popConfirm=u,t.$fn.popConfirmPass=p,t.$fn.getWebPath=(i="")=>{const c=t?.$global?.$cfg?.webpath||"./";return i&&!i.startsWith("http")&&!i.startsWith(c)?c+i:i};const{fetchPublic:m}=t.$fn?.AsaiModel?.(t.$fn.getWebPath("webmodel/"))||{};t.$fn.initmodel=m,t.$fn.startLink=()=>new Promise((i,c)=>{t.$fn.initmodel("sys/server.json").then(a=>{const r={api:{},ws:{}};["api","ws"].forEach(f=>{Object.keys(a?.[f]||{}).forEach(g=>{let h=a[f][g];h&&typeof h=="string"&&(h=r[f][h]),h||(h=a[f].default),r[f][g]={...h,url:t.$fn.As.getUrlByCfg(h,f=="ws"?1:0)}})}),t.$fn.As.localSet("as-link",JSON.stringify(r)),t.$global.link=r,i(t.$global.link)}).catch(a=>{c(a)})}),t.$fn.saveLink=i=>{t.$global.link=i,t.$fn.As.localSet("as-link",JSON.stringify(t.$global.link))},t.$fn.initLink=(i=0)=>new Promise((c,a)=>{if(i)t.$fn.startLink().then(r=>{c(r)}).catch(r=>{a(r)});else{let r=t.$fn.As.localGet("as-link");r?(t.$global.link=JSON.parse(r),t.$global.link?.api&&t.$global.link?.ws&&t.$global.link?.ws?.default?c(t.$global.link):t.$fn.startLink().then(f=>{c(f)}).catch(f=>{a(f)})):t.$fn.startLink().then(f=>{c(f)}).catch(f=>{a(f)})}});const b=new Map,_=/\$(\d+)/g;t.$fn.lg=(i,c)=>{if(typeof i!="string"||!i)return;let a=b.get(i);a||(a=i.split("."),b.set(i,a));const r=a.reduce((h,y)=>h?.[y],t.$global.lang);if(!c||c.length===0)return r;const f=Array.isArray(c)?c:[c];return r?.replace(_,(h,y)=>{const j=parseInt(y,10)-1;return f[j]??h})},t.$fn.initlang=(i="")=>{let c="";return t.$global?.sys?.local?.lang?c=i||t.$fn.As.localGet(t.$global?.sys?.local?.lang)||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0]:c=i||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0],t.$global?.lang||(t.$global.lang={}),new Promise((a,r)=>{t.$fn.initmodel("lang/dirlang.json",c+"/").then(f=>{Object.assign(t.$global.lang,f),a(t.$global.lang)}).catch(f=>{r(f)})})},t.$fn.changelang=(i="")=>{let c="";return t.$global?.sys?.local?.lang?c=t.$fn.As.localGet(t.$global?.sys?.local?.lang)||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0]:c=t.$global.config.langcur||t.$model.data?.sys?.settinglang?.lang||t.$model.data?.sys?.sysconfig?.lang[0],new Promise((a,r)=>{i&&c===i&&t.$global?.lang?a(c):(i==="auto"?c=c==t.$model.data?.sys?.sysconfig?.lang[0]?t.$model.data?.sys?.sysconfig?.lang[1]:t.$model.data?.sys?.sysconfig?.lang[0]:i&&(c=i),t.$global?.sys?.local?.lang&&t.$fn.As.localSet(t.$global?.sys?.local?.lang,c),t.$global?.sys?.local?.lang||!t.$global.config.lang?(t.$global.config.lang=c,t.$fn.initlang(c).then(f=>{a(c)}).catch(f=>{r(f)})):a(c))})},t.$fn.initver=()=>{if(t.$global.sys?.webver){const i=t.$fn.As.localGet("as-web-ver");if(i){if(t.$global.sys?.webver!==i)return t.$fn.As.localInit(),!0}else t.$fn.As.localSet("as-web-ver",t.$global.sys?.webver||"")}return!1},t.$fn.initweb=async i=>{try{let c=function(){const{protocol:r,hostname:f,port:g,hash:h}=n.location;t.$global.location={protocol:r,hostname:f,port:g,hash:h.replace("#",""),comps:[],query:{}},t.$fn.AsRouter.initHash(t.$global.location),y();function y(){t.$fn.AsRouter.setRouter(t.$global.location)}t.$fn.setquery=(j={},O=0)=>{let k;O?k=new URLSearchParams({...t.$global.location.query||{},...j||{}}).toString():k=new URLSearchParams(j||{}).toString(),k?k=t.$global.location.hash.split("?")[0]+"?"+k:k=t.$global.location.hash.split("?")[0],t.$fn.AsRouter.setHash(t.$global.location,k),y()},t.$fn.sethash=(j="")=>{t.$fn.AsRouter.setHash(t.$global.location,j)},t.$fn.exit=(j=0)=>{t.$fn.As.localSet("as-user-info",""),t.$global.user.info=null,t.$global.code.token=null,j&&(t.$fn.sethash(""),t.$fn.As.localReload())},t.$fn.login=()=>{t.$fn.As.localSet("as-user-info",""),t.$global.user.info=null,t.$fn.sethash(t.$global.sys?.router?.config?.login||"user/login")}};Object.assign(t.$fn,i.$fns||{}),Object.assign(t.$fn,i.$engineasai||{}),Object.assign(t.$fn,i.$engineasailib||{});for(let r=0;r<3;r++)i["$engineasai"+r]&&Object.assign(t.$fn,i["$engineasai"+r]);V(t.$fn);const a=await t.$fn.initmodel("sys/dirglobal.json");if(t.$global.sys={},Object.keys(a).forEach(r=>{Object.assign(t.$global.sys,a[r])}),t.$fn.initver())return;if(t.$model?.data||(t.$model.data={}),t.$model.data.sys=await t.$fn.initmodel("sys/dirmodel.json"),t.$model.data?.sys?.configrouter){t.$global.sys.router=H(t.$model.data.sys.configrouter);for(let r=0;r<t.$model?.webmodels?.length;r++){const f=await t.$fn.initmodel(t.$model?.webmodels?.[r]+"/configrouter.json");f&&typeof f=="object"&&!Array.isArray(f)&&J(t.$global.sys.router,f)}}t.$fn.lo(),await t.$fn.initLink(),c()}catch(c){console.error("initUser error:",c)}},t.$fn.offweb=()=>{t.$fn.AsRouter.offHash()},t.$fn.initrouter=()=>{if(t.$global?.sys?.devlevel&&!t.$global.url[t.$global.module.value]){t.$global.url[t.$global.module.value]=[],t.$global.url[t.$global.module.value].push(...Object.keys(t.$model.appmodules.indexRouters).map(c=>({value:c,label:c,type:"module"})));const i=/^\.\/(.*?)\/default\.vue$/;t.$global.url[t.$global.module.value].push(...[...Object.keys(t.$model.comps)?.map(c=>{if(i.test(c)){const a=c.match(i);if(a)return a[1]}return""}).filter(c=>c)].map(c=>({value:c,label:c})))}},t.$fn.inittoken=()=>{t.$global.code.pri&&t.$global.user.info?.us&&(t.$global.code.token=t.$fn.AsCode.asencode(t.$global.user.info?.us,t.$global.code.pri)+"##"+t.$fn.AsCode.asencode(t.$global.user.info?.lv||0,t.$global.code.pri)+"##"+t.$global.code.pub)},t.$fn.gettoken=(i=0)=>t.$global?.code?.token?t.$global.code.token:t.$global?.code?.pub&&i?t.$global?.code?.token||"####"+t.$global.code.pub:"",t.$fn.logSave=(i=null)=>new Promise((c,a)=>{if(!D()){c(void 0);return}Array.isArray(i)&&(i=i?.map?.(f=>typeof f=="object"?JSON.stringify(f):f)?.join(`
2
+ `)||"");const r=typeof i=="string"?i:String(i??"");if(N(r)){E(),c(void 0);return}t?.$fn?.apisys?.apiPost("/api/asailog/manage/addclient/",i,{skipWebLog:!0}).then(f=>{E(),c(f)}).catch(f=>{E(),a(f)})});function w(i=new Date){const c=(a,r=2)=>String(a).padStart(r,"0");return`${c(i.getHours())}:${c(i.getMinutes())}:${c(i.getSeconds())}.${c(i.getMilliseconds(),3)}`}return t.$fn.$log=(i=null)=>new Promise((c,a)=>{if(!i){c(void 0);return}if(!I()){c(void 0);return}const r=Array.isArray(i)?i.map(g=>typeof g=="object"?JSON.stringify(g):String(g)).join(`
3
+ `):String(i),f=`[${w()}] ${t.$global?.user?.info?.us||""}-${r}`;if(t?.$fn?.lo?.(7,"log",f),t?.$global?.sys?.onweblog&&!N(r)){t.$fn.logSave(f).then(g=>{B(),c(g)}).catch(g=>{B(),a(g)});return}B(),c(void 0)}),t.$fn.checkOnline=()=>new Promise((i,c)=>{if(t?.$global?.sys?.onwebws&&t?.$global?.sys?.onckuseronline)try{typeof t?.$fn?.ws?.web?.wsApi=="function"?t.$fn.ws.web.wsApi("ping")?.then(a=>{a=="pong"?i(a):c(a)}).catch(c):c()}catch(a){c(a)}else i()}),e.provide("$ujtasai",t),{...t,$ujtasai:t}}},Symbol.toStringTag,{value:"Module"})),K={install(o,n){n.loadts({app:o,key:"$engineasai",eager:!0,files:Object.assign({"./asengine/common/As.ts":x,"./asengine/common/AsRouter.ts":W,"./asengine/init/useInitApp.ts":T,"./asengine/provide/useProvide.ts":q})}),n.loadvue({loadfn:n.loadfn,app:o,eager:!1,files:Object.assign({"./asui/app/AsaiComponent.vue":()=>Promise.resolve().then(()=>Y),"./asui/app/AsaiInitPage.vue":()=>Promise.resolve().then(()=>X),"./asui/app/AsaiWebItemDefault.vue":()=>Promise.resolve().then(()=>le),"./asui/app/AsaiWebItemIndex.vue":()=>Promise.resolve().then(()=>ae),"./asui/app/AsaiWebModule.vue":()=>Promise.resolve().then(()=>re),"./asui/app/AsaiWebModuleDefault.vue":()=>Promise.resolve().then(()=>he),"./asui/app/AsaiWebModuleIndex.vue":()=>Promise.resolve().then(()=>be),"./asui/app/AsaiWebServer.vue":()=>Promise.resolve().then(()=>_e),"./asui/app/AsaiWebServerNode.vue":()=>Promise.resolve().then(()=>ye),"./asui/app/AsaiWebServerUser.vue":()=>Promise.resolve().then(()=>$e),"./asui/app/AsaiWebServerUserOnline.vue":()=>Promise.resolve().then(()=>we),"./asui/common/AsPageBusy.vue":()=>Promise.resolve().then(()=>Ae),"./asui/common/AsPageBusyGif.vue":()=>Promise.resolve().then(()=>Be),"./asui/common/AsReset.vue":()=>Promise.resolve().then(()=>Oe),"./asui/common/AsSvg.vue":()=>Promise.resolve().then(()=>xe),"./asui/common/MenuShowFix.vue":()=>Promise.resolve().then(()=>ze),"./asui/common/RouterMap.vue":()=>Promise.resolve().then(()=>Ie),"./asui/common/RouterView.vue":()=>Promise.resolve().then(()=>Ge),"./asui/common/VirtualList.vue":()=>Promise.resolve().then(()=>ve),"./asui/page/PageErr.vue":()=>Promise.resolve().then(()=>Ke),"./asui/page/PageLoadClient.vue":()=>Promise.resolve().then(()=>Ze),"./asui/page/PageLoadErr.vue":()=>Promise.resolve().then(()=>st),"./asui/page/PageLoadServer.vue":()=>Promise.resolve().then(()=>dt),"./asui/page/PageLoadUserToken.vue":()=>Promise.resolve().then(()=>ht),"./asui/page/PageLoadUserTokenOnline.vue":()=>Promise.resolve().then(()=>kt),"./asui/page/PageLoadWs.vue":()=>Promise.resolve().then(()=>Bt)})})}},Y=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiComponent",props:{ujt:{}},setup(o){const n=o,{$model:t,$global:s}=n.ujt,l=e.computed(()=>t.appmodules.indexRouters[(t?.webmodels?.includes(s.location?.hasharr?.[0])?s.location?.hasharr?.[0]:"")||t?.webmodels?.[0]]);return(d,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{ujt:o.ujt},null,8,["ujt"]))}})},Symbol.toStringTag,{value:"Module"})),X=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiInitPage",props:{appmodules:{},ujt:{}},setup(o){const n=o,t=e.inject("$vueProxy"),{$global:s,$fn:l,$model:d,$ws:u}=n.ujt;d.appmodules=n.appmodules;function p(){let a=l.As?.localGet("as-user-code");a&&(a=l.As.toObj(a),s.code.pri=a[0],s.code.pub=a[1]),s.code.pri&&l.As.localGet("as-user-info")&&(s.user.info=l.As.toObj(l.AsAES.dec(l.As.localGet("as-user-info")))),l.inittoken()}function m(){if(!s?.sys?.onwebws||typeof l?.useWs!="function")return null;try{return l.useWs(n.ujt,"web")??l.ws?.web??null}catch{return null}}function b(){const a=m();typeof a?.wsListen=="function"&&a.wsListen({ty:"publish/web"},r=>{const f=r?.db?.lang,g=!!s.user?.info?.us;f==="nousername"&&!g||(r?.db?.lang&&(r.db.langpm?r.db.con=l.lg("asai.hostmsg."+r.db.lang,r.db.langpm)||r.db.con:r.db.con=l.lg("asai.hostmsg."+r.db.lang)||r.db.con),r?.db==="pong"?a.wsApi?.("ping")?.then(h=>{}):r?.db?.bs?w(r.db.bs):r?.db?.con&&s?.msg?.fn?.(r.db),r?.db?.exit&&g&&l.exit())})}function _(){const a=s.link?.ws?.web;return!(!a||a.sec&&!l.gettoken(0))}function w(a){if(!Array.isArray(a)||!a[0]?.[0])return;const r=u.wssys,f=new Set;try{a.forEach(g=>{const h=g[0];typeof h=="string"&&(f.add(h.split(".")[0]),l.As.setObjValByPath(r,h,g[1],1))}),f.forEach(g=>{const h=r[g];h!=null&&(Array.isArray(h)?r[g]=h.slice():typeof h=="object"&&(r[g]={...h}))})}catch{}}s.rlv=e.computed(()=>!s.location.hash||s.location.hash=="/"||s.sys?.router?.rights?.lv0?.find(a=>s.location.hash.includes(a))?0:s.sys?.router?.rights?.lv1?.find(a=>s.location.hash.includes(a))?1:s.sys?.router?.rights?.lv2?.find(a=>s.location.hash.includes(a))?2:s.sys?.router?.rights?.lv3?.find(a=>s.location.hash.includes(a))?3:s.sys?.router?.config?.lv||0);function i(a,r){try{console.error(r+" Error:",a);let f="";a?.error?.stack&&typeof a?.error?.stack=="string"?f=a.error.stack:a?.error?.message&&typeof a?.error?.message=="string"?f=a.error.message:a?.message&&typeof a?.message=="string"?f=a.message:a?.reason?.message&&typeof a?.reason?.message=="string"?f=a.reason.message:a?.reason&&typeof a?.reason=="string"?f=a.reason:a&&typeof a=="string"&&(f=a),f&&(f="Web "+r+` Error:
4
+ `+f,console.error(f),l.$log(f),s?.msg?.fn?.({type:"err",con:f})),a.preventDefault()}catch(f){console.error("Try Error:",f)}}const c=e.reactive({catchErrorUnhandledrejection:null,catchErrorCatch:null});return e.onMounted(()=>{l.initweb(t).then(()=>{let a=[];if(l?.useApi?.(n.ujt,"web"),s?.sys?.tyrobot&&(l.useApi?.(n.ujt,s.sys.tyrobot),l.useWs?.(n.ujt,s.sys.tyrobot)),p(),s?.sys?.onwebws&&(b(),_())){const r=m();typeof r?.init=="function"&&a.push(r.init())}if(s?.sys?.local?.lang||a.push(l.initmodel("/sys/setting/settinglang.json").then(r=>{typeof r?.data=="string"?s.config.langcur=JSON.parse(r?.data||"{}")?.lang:s.config.langcur=(r?.data||{})?.lang})),s?.sys?.aes?.lv&&!s.sys.aesfns&&l.AsaiVueAES?.useAES){const{toAES:r,fromAES:f}=l.AsaiVueAES.useAES(n.ujt);s.sys.aesfns={allaes:s.sys.aes.lv>1,toAES:r,fromAES:f}}Promise.all(a).then(()=>{l.changelang(s.config.langcur).then(r=>{!window?.$CFG?.title&&s.lang.configweb?.webtit&&(document.title=s.lang.configweb?.webtit),s.stat.webclient=1,s.sys.catcherror&&(c.catchErrorUnhandledrejection=g=>{i(g,"Unhandledrejection")},window?.addEventListener?.("unhandledrejection",c.catchErrorUnhandledrejection),c.catchErrorCatch=g=>{i(g,"Catch")},window?.addEventListener?.("error",c.catchErrorCatch))})})})}),e.onBeforeUnmount(()=>{l.offweb(),s.sys.catcherror&&(c.catchErrorUnhandledrejection&&(window.removeEventListener("unhandledrejection",c.catchErrorUnhandledrejection),c.catchErrorUnhandledrejection=null),c.catchErrorCatch&&(window.removeEventListener("error",c.catchErrorCatch),c.catchErrorCatch=null)),s?.sys?.onwebws&&l.ws?.web?.wsListenOff?.({ty:"publish/web"})}),(a,r)=>{const f=e.resolveComponent("AsaiWebServer"),g=e.resolveComponent("AsaiWebServerNode"),h=e.resolveComponent("AsaiWebServerUser"),y=e.resolveComponent("AsaiWebServerUserOnline");return e.unref(s).stat.webclient?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(s).rlv===0?(e.openBlock(),e.createBlock(f,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).rlv===1?(e.openBlock(),e.createBlock(g,{key:1,ujt:o.ujt},null,8,["ujt"])):e.unref(s).rlv===2?(e.openBlock(),e.createBlock(h,{key:2,ujt:o.ujt},null,8,["ujt"])):(e.openBlock(),e.createBlock(y,{key:3,ujt:o.ujt},null,8,["ujt"]))],64)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadClient"),{key:1,ujt:o.ujt},null,8,["ujt"]))}}})},Symbol.toStringTag,{value:"Module"})),Z={class:"app-area"},Q={class:"app-logo"},ee=["src"],te={class:"app-menu-area"},oe=["onPointerup"],ne={class:"menu-text"},se={class:"app-login"},le=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebItemDefault",props:{ujt:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt,l=e.computed(()=>t.url?.[t.module.value]?.filter(d=>d.type==="module"||("/"+d.value+"/").startsWith(t.location.hash))||[]);return(d,u)=>{const p=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",Z,[e.createElementVNode("div",Q,[e.createElementVNode("img",{src:e.unref(t).$cfg.logo,width:"200"},null,8,ee)]),e.createElementVNode("div",te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,m=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`app-menu${m.type==="module"?" module":""}`),key:m.value,onPointerup:b=>e.unref(s).sethash(m.value==="views"?"":m.value)},[e.createElementVNode("span",ne,e.toDisplayString(m.label),1)],42,oe))),128))]),e.createElementVNode("div",se,[e.createVNode(p,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebItemIndex",props:{ujt:{},ty:{}},setup(o){return(n,t)=>{const s=e.resolveComponent("RouterView");return e.openBlock(),e.createBlock(s,{ujt:o.ujt,ty:o.ty||2},null,8,["ujt","ty"])}}})},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebModule",props:{ujt:{},module:{},ty:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt;Object.assign(t.module,n.module),n.module?.ws&&s.useWs(n.ujt,t.module.value);const{initAppModel:l}=s.useInitApp(n.ujt);return t.stat[t.module.value]=0,l(t.module.value).then(d=>{t.stat[t.module.value]=1}),(d,u)=>{const p=e.resolveComponent("RouterView");return n.module?.value&&e.unref(t).stat[n.module.value]?(e.openBlock(),e.createBlock(p,{key:0,ujt:o.ujt,ty:o.ty||0},null,8,["ujt","ty"])):e.unref(t).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadErr"),{key:1,ujt:o.ujt},null,8,["ujt"]))}}})},Symbol.toStringTag,{value:"Module"})),ie={class:"app-area"},ce={class:"app-logo"},de=["src"],fe={class:"app-menu-area"},ue=["onPointerup"],pe={class:"menu-text"},ge={class:"app-login"},me=e.defineComponent({__name:"AsaiWebModuleDefault",props:{ujt:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt;return s.initrouter(),(l,d)=>{const u=e.resolveComponent("MenuShowFix"),p=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(u,{ujt:o.ujt,menus:e.unref(t).url[e.unref(t).module.value]},null,8,["ujt","menus"]),e.createElementVNode("div",ie,[e.createElementVNode("div",ce,[e.createElementVNode("img",{src:e.unref(t).$cfg.logo,width:"200"},null,8,de)]),e.createElementVNode("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).url[e.unref(t).module.value],m=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(`app-menu${m.type==="module"?" module":""}`),key:m.value,onPointerup:b=>e.unref(s).sethash(m.value==="views"?"":m.value)},[e.createElementVNode("span",pe,e.toDisplayString(m.label),1)],42,ue))),128))]),e.createElementVNode("div",ge,[e.createVNode(p,{ujt:o.ujt},null,8,["ujt"])])])],64)}}}),$=(o,n)=>{const t=o.__vccOpts||o;for(const[s,l]of n)t[s]=l;return t},he=Object.freeze(Object.defineProperty({__proto__:null,default:$(me,[["__scopeId","data-v-bba548d2"]])},Symbol.toStringTag,{value:"Module"})),be=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsaiWebModuleIndex",props:{ujt:{},ty:{}},setup(o){const n=o,{$global:t,$fn:s}=n.ujt;return s.initrouter(),(l,d)=>{const u=e.resolveComponent("MenuShowFix"),p=e.resolveComponent("RouterView");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(u,{ujt:o.ujt,menus:e.unref(t).url[e.unref(t).module.value]},null,8,["ujt","menus"]),e.unref(t).stat[e.unref(t).module.value]?(e.openBlock(),e.createBlock(p,{key:0,ujt:o.ujt,ty:o.ty||1},null,8,["ujt","ty"])):e.createCommentVNode("",!0)],64)}}})},Symbol.toStringTag,{value:"Module"})),_e=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServer",props:{ujt:{}},setup(o){const n=o,{$global:t}=n.ujt;return(s,l)=>{const d=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebserver",class:e.normalizeClass("asaiweb asaiweb"+(e.unref(t).location?.hasharr?.[0]||"default"))},[e.createVNode(d,{ujt:o.ujt},null,8,["ujt"])],2)}}}),[["__scopeId","data-v-7d8d7f46"]])},Symbol.toStringTag,{value:"Module"})),ye=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServerNode",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;if(t.useChannelUser){const{initChannelUserToken:l}=t.useChannelUser({ujt:n.ujt,opt:{channel:s?.sys?.sysdb?.user?.channel||"channeluser"}});l().catch(()=>{t.login()})}return(l,d)=>{const u=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebservernode",class:e.normalizeClass("asaiweb asaiweb"+e.unref(s).location?.hasharr?.[0])},[e.unref(s).code.pub?(e.openBlock(),e.createBlock(u,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadServer"),{key:1,ujt:o.ujt},null,8,["ujt"]))],2)}}}),[["__scopeId","data-v-fc74998b"]])},Symbol.toStringTag,{value:"Module"})),$e=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServerUser",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;if(t.useChannelUser){const{initChannelUserToken:l}=t.useChannelUser({ujt:n.ujt,opt:{channel:s?.sys?.sysdb?.user?.channel||"channeluser"}});l().catch(()=>{t.login()})}return(l,d)=>{const u=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebserveruser",class:e.normalizeClass("asaiweb asaiweb"+e.unref(s).location?.hasharr?.[0])},[e.unref(s).code.token?(e.openBlock(),e.createBlock(u,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadUserToken"),{key:1,ujt:o.ujt},null,8,["ujt"]))],2)}}}),[["__scopeId","data-v-d2483ecb"]])},Symbol.toStringTag,{value:"Module"})),we=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsaiWebServerUserOnline",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;if(t.useChannelUser){const{initChannelUserOnline:l}=t.useChannelUser({ujt:n.ujt,opt:{channel:s?.sys?.sysdb?.user?.channel||"channeluser"}});l().catch(()=>{t.login()})}return(l,d)=>{const u=e.resolveComponent("AsaiComponent");return e.openBlock(),e.createElementBlock("div",{id:"asaiwebserveruseronline",class:e.normalizeClass("asaiweb asaiweb"+e.unref(s).location?.hasharr?.[0])},[e.unref(s).code.token&&e.unref(s).user.online?(e.openBlock(),e.createBlock(u,{key:0,ujt:o.ujt},null,8,["ujt"])):e.unref(s).pagebusy?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.resolveDynamicComponent("PageLoadUserTokenOnline"),{key:1,ujt:o.ujt},null,8,["ujt"]))],2)}}}),[["__scopeId","data-v-13dc3fec"]])},Symbol.toStringTag,{value:"Module"})),ke={key:0,class:"as-pagebusy-area touch-none"},je={class:"as-pagebusy"},Se={key:0,class:"as-pagebusy-v"},Ae=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsPageBusy",props:{ujt:{}},setup(o){e.useCssVars(u=>({v2189716e:l.value}));const n=o,{$global:t,$fn:s}=n.ujt,l=e.computed(()=>t.pagebusy?.zindex||9999);function d(){s.popConfirm({con:t.lang.asai.resetconfirm,zindex:l.value+1,fn:()=>{t.pagebusy=null,s.As.localInit()}})}return(u,p)=>{const m=e.resolveComponent("AsPageBusyGif"),b=e.resolveDirective("dbpointerdown");return e.unref(t).pagebusy?e.withDirectives((e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",{class:"as-pagebusy-close",onClick:p[0]||(p[0]=e.withModifiers(_=>d(),["stop"]))}),e.createElementVNode("div",je,[e.createVNode(m,{ujt:o.ujt},null,8,["ujt"]),e.unref(t).pagebusy?.v?(e.openBlock(),e.createElementBlock("div",Se,e.toDisplayString(e.unref(t).pagebusy?.v),1)):e.createCommentVNode("",!0)])])),[[b,()=>{e.unref(t).pagebusy?.keep||d()}]]):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-3b86e9a1"]])},Symbol.toStringTag,{value:"Module"})),Ce=$(e.defineComponent({__name:"AsLoadingCircle",props:{ujt:{type:Object,default:()=>({})},size:{type:Number,default:68,validator:o=>o>0}},setup(o){return(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:"as-load-gif",style:e.normalizeStyle({width:o.size+"px",height:o.size+"px"})},null,4))}}),[["__scopeId","data-v-c5bf2081"]]),Ee=$(e.defineComponent({__name:"AsLoadingA3d",props:{ujt:{type:Object,default:()=>({})},size:{type:Number,default:68,validator:o=>o>0}},setup(o){return(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:"a3d-wrapper",style:e.normalizeStyle({"--cube-size":`${o.size}px`,"--half-size":`${o.size/2}px`})},[...t[0]||(t[0]=[e.createStaticVNode('<div class="a3d" data-v-4d1d2b0e><div class="a3d-face a3d-face-front" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-back" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-left" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-right" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-top" data-v-4d1d2b0e></div><div class="a3d-face a3d-face-bottom" data-v-4d1d2b0e></div></div>',1)])],4))}}),[["__scopeId","data-v-4d1d2b0e"]]),Be=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"AsPageBusyGif",props:{ujt:{},opt:{}},setup(o){const n=o,{$global:t}=n.ujt;return(s,l)=>o.opt?.ty||e.unref(t).pagebusy?.ty?(e.openBlock(),e.createBlock(Ee,{key:0,size:o.opt?.size||e.unref(t).pagebusy?.size,ujt:o.ujt},null,8,["size","ujt"])):(e.openBlock(),e.createBlock(Ce,{key:1,size:o.opt?.size||e.unref(t).pagebusy?.size,ujt:o.ujt},null,8,["size","ujt"]))}})},Symbol.toStringTag,{value:"Module"})),Pe={key:0,class:"as-usercard"},Oe=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsReset",props:{ujt:{},type:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt,l={};return(d,u)=>{const p=e.resolveComponent("AsSvg");return e.renderSlot(d.$slots,"default",{item:{},option:l},()=>[e.unref(s).lang?.asai?.usercard?(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",{onClick:u[0]||(u[0]=m=>e.unref(t).login())},[e.createVNode(p,{color:"var(--cu6)",height:"26px",src:"asai/login"}),e.createTextVNode(" "+e.toDisplayString(e.unref(s).lang.asai.usercard?.login),1)]),e.createElementVNode("div",{onClick:u[1]||(u[1]=m=>e.unref(t).As.localInit()),title:"ctrl+shift+r"},[e.createVNode(p,{color:"var(--cu6)",height:"26px",src:"asai/reset"}),e.createTextVNode(" "+e.toDisplayString(e.unref(s).lang.asai.usercard?.reset),1)])])):e.createCommentVNode("",!0)],!0)}}}),[["__scopeId","data-v-a12ce8ac"]])},Symbol.toStringTag,{value:"Module"})),Ne={class:"as-icon"},Me={key:0,class:"as-icon-filter"},Ve=["src"],xe=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"AsSvg",props:{src:{type:String,default:""},height:{type:String,default:"24px"},width:{type:String,default:""},color:{type:String,default:"var(--cv8)"},showtype:{type:String,default:"mask"},webty:{type:String,default:""}},setup(o){const n=o,t=window?.$CFG?.webpath||"./";let s=e.ref("");const l=e.computed(()=>s.value?t+"webmodel/files/"+(n.webty??+n.webty+"/")+"svg/"+s.value+".svg":n.src.startsWith("http")||n.src.endsWith(".svg")||n.src.endsWith(".png")?n.src:t+"webmodel/files/"+(n.webty??+n.webty+"/")+"svg/"+n.src+".svg");function d(){s.value="default"}function u(){return{width:`${n.width?n.width:n.height}`,height:`${n.height?n.height:n.width}`,"background-color":`${n.color}`,"mask-image":`url('${l.value}')`,"-webkit-mask-image":`url('${l.value}')`}}function p(){return n.width?{transform:"translateX(-100%)",filter:`drop-shadow(${n.width} 0 ${n.color})`,width:`${n.width}`}:{transform:"translateY(-100%)",filter:`drop-shadow(0 ${n.height} ${n.color})`,height:`${n.height}`}}return(m,b)=>(e.openBlock(),e.createElementBlock("i",Ne,[o.showtype==="filter"?(e.openBlock(),e.createElementBlock("i",Me,[e.createElementVNode("img",{style:e.normalizeStyle(p()),src:l.value,onError:b[0]||(b[0]=_=>d())},null,44,Ve)])):(e.openBlock(),e.createElementBlock("i",{key:1,class:"as-icon-mask",style:e.normalizeStyle(u())},null,4))]))}}),[["__scopeId","data-v-d9bafe22"]])},Symbol.toStringTag,{value:"Module"})),Le={class:"as-floating-menu"},We={key:0},Te={key:1},Re=["onPointerup"],ze=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"MenuShowFix",props:{ujt:{},menus:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt,l=e.ref(!1);function d(){l.value=!l.value}const u=e.computed(()=>[{value:"/",label:t.lg("asai.home"),type:"module"},{fn:()=>s.theme.c=s.theme.c==="d"?"l":"d",label:t.lg("asai.theme"),type:"module"},{fn:()=>s.theme.s=s.theme.s==="b"?"n":"b",label:t.lg("asai.size"),type:"module"},{fn:()=>t.changelang("auto"),label:t.lg("asai.langs.default"),type:"module"},...n.menus||[]]);return(p,m)=>!e.unref(s).sys||e.unref(s).sys.devlevel>1?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"#teleportpopbox"},[e.createElementVNode("div",Le,[e.createElementVNode("button",{class:"as-floating-button",onClick:d},[l.value?(e.openBlock(),e.createElementBlock("span",We,"×")):(e.openBlock(),e.createElementBlock("span",Te,"☰"))]),e.createElementVNode("ul",{class:e.normalizeClass(["as-floating-menus",{open:l.value}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(b,_)=>(e.openBlock(),e.createElementBlock("li",{key:"menu"+_,class:e.normalizeClass(`${b.type==="module"?"module ":""}${b.value&&e.unref(s).location.hash.includes(b.value)?"active":""}`),onPointerup:w=>b.value?e.unref(t).sethash(b.value):b?.fn?.()},e.toDisplayString(_+1)+". "+e.toDisplayString(b.label||b.value),43,Re))),128))],2)])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-162e1725"]])},Symbol.toStringTag,{value:"Module"})),De={class:"app-menu-area"},Ie=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"RouterMap",props:{ujt:{},menus:{}},setup(o){const n=o,{$fn:t}=n.ujt;return(s,l)=>(e.openBlock(),e.createElementBlock("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.menus,d=>(e.openBlock(),e.createElementBlock("div",{class:"app-menu",onClick:l[0]||(l[0]=u=>e.unref(t).sethash("item.value"))},e.toDisplayString(d.label),1))),256))]))}}),[["__scopeId","data-v-6d15bb32"]])},Symbol.toStringTag,{value:"Module"})),Ue={key:0,class:"loading"},Fe={key:1,class:"error"},Ge=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"RouterView",props:{ujt:{},ty:{}},setup(o){const n=o,{$model:t,$fn:s,$global:l}=n.ujt,d=e.shallowReactive({comp:null}),u=e.ref(!1),p=e.ref(null);s.getcomp=async b=>{u.value=!0,p.value=null;try{try{return e.defineAsyncComponent(t.comps[`./${b}.vue`])}catch(_){if(b&&b.endsWith("/default"))return e.defineAsyncComponent(t.comps[`./${b.slice(0,-8)}.vue`]);throw _}}catch(_){return p.value=_,e.defineAsyncComponent(()=>Promise.resolve().then(()=>xt))}finally{u.value=!1}};const m=e.watch(()=>l.location.comps[n.ty],async(b,_)=>{b&&b!==_&&(d.comp=await s.getcomp(b))},{immediate:!0});return e.onBeforeUnmount(()=>{m&&m.stop()}),(b,_)=>u.value?(e.openBlock(),e.createElementBlock("div",Ue,"Loading...")):p.value?(e.openBlock(),e.createElementBlock("div",Fe,"Component load error")):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d).comp),{key:2,ujt:o.ujt},null,8,["ujt"]))}})},Symbol.toStringTag,{value:"Module"})),ve=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"VirtualList",props:{items:{type:Array,required:!0},itemHeight:{type:Number,default:50},buffer:{type:Number,default:5}},setup(o){const n=o,t=e.ref(null),s=e.ref(0),l=e.ref(0),d=e.ref(0),u=e.ref(new Array(n.items.length).fill(Math.round(n.itemHeight))),p=new Map,m=e.computed(()=>Math.round(n.items.reduce((r,f,g)=>r+b(g),0))),b=r=>r<0||r>=n.items.length?0:Math.round(u.value[r]??n.itemHeight),_=()=>{if(!t.value)return{start:0,end:Math.min(n.items.length,n.buffer*3)};const r=s.value,f=t.value.clientHeight;let g=0,h=n.items.length;for(;g<h;){const k=g+h>>>1;i(k)<=r?g=k+1:h=k}const y=Math.max(0,g-1),j=Math.ceil(f/n.itemHeight)+n.buffer*2,O=Math.min(n.items.length,y+j);return{start:y,end:O}},w=e.computed(()=>{const{start:r,end:f}=_();return n.items.slice(r,f).map((g,h)=>{const y=r+h;return{index:y,id:g.id||y,data:g,offset:i(y)}})}),i=r=>{if(r<=0)return 0;if(p.has(r))return p.get(r);let f=r-1;for(;f>0&&!p.has(f);)f--;let g=f>0?p.get(f):0;for(let y=f;y<r;y++)g+=b(y);const h=Math.round(g);return p.set(r,h),h},c=()=>{l.value&&cancelAnimationFrame(l.value),l.value=requestAnimationFrame(()=>{t.value&&(s.value=Math.round(t.value.scrollTop),d.value&&clearTimeout(d.value),d.value=window.setTimeout(()=>{const{start:r,end:f}=_(),g=n.buffer*2;for(const h of p.keys())(h<r-g||h>f+g)&&p.delete(h)},150))})};let a=null;return e.onMounted(()=>{t.value&&c(),a=e.watch(()=>n.items.length,r=>{r>u.value.length?u.value=[...u.value,...new Array(r-u.value.length).fill(Math.round(n.itemHeight))]:r<u.value.length&&(u.value=u.value.slice(0,r)),p.clear()})}),e.onBeforeUnmount(()=>{a&&a.stop(),l.value&&cancelAnimationFrame(l.value),d.value&&clearTimeout(d.value)}),(r,f)=>(e.openBlock(),e.createElementBlock("div",{class:"virtual-list-container",onScroll:c,ref_key:"container",ref:t,style:{height:"100%"}},[e.createElementVNode("div",{class:"virtual-list-wrapper",style:e.normalizeStyle({height:m.value+"px"})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,g=>(e.openBlock(),e.createElementBlock("div",{class:"virtual-list-item",key:"as"+g.index,style:e.normalizeStyle({transform:`translateY(${g.offset}px)`})},[e.renderSlot(r.$slots,"default",{item:g},void 0,!0)],4))),128))],4)],544))}}),[["__scopeId","data-v-b613b7a8"]])},Symbol.toStringTag,{value:"Module"})),He={class:"as-load-area"},Je=["src"],qe={class:"tit",style:{color:"var(--cz8)"}},Ke=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageErr",props:{ujt:{}},setup(o){const n=window;function t(){n?.localStorage?.clear(),n?.location?.reload()}return(s,l)=>(e.openBlock(),e.createElementBlock("div",He,[e.createElementVNode("img",{onDblclick:l[0]||(l[0]=d=>t()),src:e.unref(n).$CFG?.logo,width:"200"},null,40,Je),l[2]||(l[2]=e.createElementVNode("div",{class:"as-load-icon"},[e.createElementVNode("div",{class:"as-load-gif",style:{width:"68px",height:"68px"}})],-1)),e.createElementVNode("div",{class:"as-load-msg",onClick:l[1]||(l[1]=d=>e.unref(n)?.location?.reload())},[e.createElementVNode("div",qe,e.toDisplayString(e.unref(n).$GYS?.$webmodel?.lang?.[e.unref(n).$GYS?.$webmodel.lang.langty]?.pageerr),1)])]))}})},Symbol.toStringTag,{value:"Module"})),Ye={class:"as-load-area"},Xe=["src"],Ze=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadClient",props:{ujt:{}},setup(o){const n=e.ref("");e.onMounted(()=>{const s=window;n.value=s?.$CFG?.logo||""});function t(){const s=window;try{s?.localStorage?.clear()}catch{console.warn("Failed to clear localStorage")}s?.location?.reload()}return(s,l)=>(e.openBlock(),e.createElementBlock("div",Ye,[n.value?(e.openBlock(),e.createElementBlock("img",{key:0,onDblclick:l[0]||(l[0]=d=>t()),src:n.value,width:"200"},null,40,Xe)):e.createCommentVNode("",!0),l[2]||(l[2]=e.createElementVNode("div",{class:"as-load-icon"},[e.createElementVNode("div",{class:"as-load-gif",style:{width:"68px",height:"68px"}})],-1)),e.createElementVNode("div",{class:"as-load-msg",onClick:l[1]||(l[1]=d=>t())},"Loading...")]))}})},Symbol.toStringTag,{value:"Module"})),Qe={class:"as-load-area"},et=["src"],tt={class:"as-load-icon"},ot={class:"as-load-msg"},nt={class:"tit",style:{color:"var(--cz8)"}},st=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadErr",props:{ujt:{},type:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,d)=>{const u=e.resolveComponent("AsPageBusyGif"),p=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("img",{onDblclick:d[0]||(d[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,et),e.createElementVNode("div",tt,[e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",ot,[e.createElementVNode("div",nt,e.toDisplayString(e.unref(s).lang?.asai?.page?.loadws),1),e.createElementVNode("h3",null,e.toDisplayString(n.type),1),e.createVNode(p,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),lt={class:"as-load-area"},at=["src"],rt={class:"as-load-icon"},it={class:"as-load-msg"},ct={class:"tit",style:{color:"var(--cy8)"}},dt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadServer",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,d)=>{const u=e.resolveComponent("AsPageBusyGif"),p=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",lt,[e.createElementVNode("img",{onDblclick:d[0]||(d[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,at),e.createElementVNode("div",rt,[e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",it,[e.createElementVNode("div",ct,e.toDisplayString(e.unref(s).lang.asai?.page?.loadserver||"Loading server..."),1),e.createVNode(p,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),ft={class:"as-load-area"},ut=["src"],pt={class:"as-load-icon"},gt={class:"as-load-msg"},mt={class:"tit",style:{color:"var(--cz8)"}},ht=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadUserToken",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,d)=>{const u=e.resolveComponent("AsPageBusyGif"),p=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",ft,[e.createElementVNode("img",{onDblclick:d[0]||(d[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,ut),e.createElementVNode("div",pt,[e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",gt,[e.createElementVNode("div",mt,e.toDisplayString(e.unref(s).lang.asai?.page?.loadusertoken||"Loading user token..."),1),e.createVNode(p,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),bt={class:"as-load-area"},_t=["src"],yt={class:"as-load-icon"},$t={class:"as-load-msg"},wt={class:"tit",style:{color:"var(--cy8)"}},kt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadUserTokenOnline",props:{ujt:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,d)=>{const u=e.resolveComponent("AsPageBusyGif"),p=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",bt,[e.createElementVNode("img",{onDblclick:d[0]||(d[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,_t),e.createElementVNode("div",yt,[e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",$t,[e.createElementVNode("div",wt,e.toDisplayString(e.unref(s).lang.asai?.page?.loaduseronline||"Loading user token online..."),1),e.createVNode(p,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),jt={class:"as-load-area"},St=["src"],At={class:"as-load-icon"},Ct={class:"as-load-msg"},Et={class:"tit",style:{color:"var(--cz8)"}},Bt=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"PageLoadWs",props:{ujt:{},type:{}},setup(o){const n=o,{$fn:t,$global:s}=n.ujt;return(l,d)=>{const u=e.resolveComponent("AsPageBusyGif"),p=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("img",{onDblclick:d[0]||(d[0]=m=>e.unref(t).As.localInit()),src:e.unref(s).$cfg.logo,width:"200"},null,40,St),e.createElementVNode("div",At,[e.createVNode(u,{ujt:o.ujt},null,8,["ujt"])]),e.createElementVNode("div",Ct,[e.createElementVNode("div",Et,e.toDisplayString(e.unref(s).lang?.asai?.page?.loadws),1),e.createElementVNode("h3",null,e.toDisplayString(n.type),1),e.createVNode(p,{ujt:o.ujt},null,8,["ujt"])])])}}})},Symbol.toStringTag,{value:"Module"})),Pt={class:"page-404"},Ot={class:"content"},Nt={key:0,class:"title"},Mt={class:"description"},Vt={class:"footer"},xt=Object.freeze(Object.defineProperty({__proto__:null,default:$(e.defineComponent({__name:"Asai404",props:{ujt:{}},setup(o){const n=o,{$global:t}=n.ujt;return(s,l)=>{const d=e.resolveComponent("AsReset");return e.openBlock(),e.createElementBlock("div",Pt,[e.createElementVNode("div",Ot,[l[0]||(l[0]=e.createElementVNode("div",{class:"error-code"},"404",-1)),e.unref(t).lang?.asai?.page?.page404?(e.openBlock(),e.createElementBlock("h1",Nt,e.toDisplayString(e.unref(t).lang?.asai?.page?.page404||"页面未找到"),1)):e.createCommentVNode("",!0),e.createElementVNode("p",Mt,e.toDisplayString(e.unref(t).lang?.asai?.page?.reason404||"Sorry, Page not found!"),1)]),e.createElementVNode("div",Vt,[e.createVNode(d,{ujt:o.ujt},null,8,["ujt"])])])}}}),[["__scopeId","data-v-999cd3d9"]])},Symbol.toStringTag,{value:"Module"}));S.default=K,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
@@ -1,8 +1,9 @@
1
+ /** WS 数据容器 — wssys 浅响应式,减少高频嵌套字段触发的全树追踪 */
1
2
  declare const _default: {
2
3
  providews: {
3
4
  data: {
4
5
  rooms: {};
5
- wssys: {};
6
+ wssys: import("vue").ShallowReactive<Record<string, unknown>>;
6
7
  };
7
8
  };
8
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asai-vue-host",
3
- "version": "0.2.62",
3
+ "version": "0.2.64",
4
4
  "description": "asai for you",
5
5
  "author": "Asai",
6
6
  "license": "ISC",
@@ -1,103 +0,0 @@
1
- import { defineComponent as W, inject as k, computed as S, reactive as C, onMounted as U, onBeforeUnmount as v, resolveComponent as f, createElementBlock as L, createBlock as u, unref as d, openBlock as l, Fragment as O, resolveDynamicComponent as $ } from "vue";
2
- const P = /* @__PURE__ */ W({
3
- __name: "AsaiInitPage",
4
- props: {
5
- appmodules: {},
6
- ujt: {}
7
- },
8
- setup(a) {
9
- const i = a, g = k("$vueProxy"), { $global: r, $fn: s, $model: b, $ws: y } = i.ujt;
10
- b.appmodules = i.appmodules;
11
- function w() {
12
- let e = s.As?.localGet("as-user-code");
13
- e && (e = s.As.toObj(e), r.code.pri = e[0], r.code.pub = e[1]), r.code.pri && s.As.localGet("as-user-info") && (r.user.info = s.As.toObj(s.AsAES.dec(s.As.localGet("as-user-info")))), s.inittoken();
14
- }
15
- function m() {
16
- r?.sys?.onwebws && s.ws.web.wsListen({ ty: "publish/web" }, (e) => {
17
- const t = e?.db?.lang, n = !!r.user?.info?.us;
18
- t === "nousername" && !n || (e?.db?.lang && (e.db.langpm ? e.db.con = s.lg("asai.hostmsg." + e.db.lang, e.db.langpm) || e.db.con : e.db.con = s.lg("asai.hostmsg." + e.db.lang) || e.db.con), e?.db === "pong" ? s.ws.web.wsApi("ping").then((c) => {
19
- }) : e?.db?.bs ? p(e.db.bs) : e?.db?.con && r?.msg?.fn?.(e.db), e?.db?.exit && n && s.exit());
20
- });
21
- }
22
- function j() {
23
- const e = r.link?.ws?.web;
24
- return !(!e || e.sec && !s.gettoken(0));
25
- }
26
- function p(e) {
27
- if (Array.isArray(e) && e[0]?.[0])
28
- try {
29
- e.forEach((t) => {
30
- s.As.setObjValByPath(y.wssys, t[0], t[1]);
31
- });
32
- } catch {
33
- }
34
- }
35
- r.rlv = S(() => !r.location.hash || r.location.hash == "/" || r.sys?.router?.rights?.lv0?.find((e) => r.location.hash.includes(e)) ? 0 : r.sys?.router?.rights?.lv1?.find((e) => r.location.hash.includes(e)) ? 1 : r.sys?.router?.rights?.lv2?.find((e) => r.location.hash.includes(e)) ? 2 : r.sys?.router?.rights?.lv3?.find((e) => r.location.hash.includes(e)) ? 3 : r.sys?.router?.config?.lv || 0);
36
- function h(e, t) {
37
- try {
38
- console.error(t + " Error:", e);
39
- let n = "";
40
- e?.error?.stack && typeof e?.error?.stack == "string" ? n = e.error.stack : e?.error?.message && typeof e?.error?.message == "string" ? n = e.error.message : e?.message && typeof e?.message == "string" ? n = e.message : e?.reason?.message && typeof e?.reason?.message == "string" ? n = e.reason.message : e?.reason && typeof e?.reason == "string" ? n = e.reason : e && typeof e == "string" && (n = e), n && (n = "Web " + t + ` Error:
41
- ` + n, console.error(n), s.$log(n), r?.msg?.fn?.({
42
- type: "err",
43
- con: n
44
- })), e.preventDefault();
45
- } catch (n) {
46
- console.error("Try Error:", n);
47
- }
48
- }
49
- const o = C({
50
- catchErrorUnhandledrejection: null,
51
- catchErrorCatch: null
52
- });
53
- return U(() => {
54
- s.initweb(g).then(() => {
55
- let e = [];
56
- if (s?.useApi?.(i.ujt, "web"), r?.sys?.tyrobot && (s.useApi?.(i.ujt, r.sys.tyrobot), s.useWs?.(i.ujt, r.sys.tyrobot)), w(), r?.sys?.onwebws && (s.useWs?.(i.ujt, "web"), m(), j() && e.push(s.ws.web?.init?.())), r?.sys?.local?.lang || e.push(
57
- s.initmodel("/sys/setting/settinglang.json").then((t) => {
58
- typeof t?.data == "string" ? r.config.langcur = JSON.parse(t?.data || "{}")?.lang : r.config.langcur = (t?.data || {})?.lang;
59
- })
60
- ), r?.sys?.aes?.lv && !r.sys.aesfns && s.AsaiVueAES?.useAES) {
61
- const { toAES: t, fromAES: n } = s.AsaiVueAES.useAES(i.ujt);
62
- r.sys.aesfns = { allaes: r.sys.aes.lv > 1, toAES: t, fromAES: n };
63
- }
64
- Promise.all(e).then(() => {
65
- s.changelang(r.config.langcur).then((t) => {
66
- !window?.$CFG?.title && r.lang.configweb?.webtit && (document.title = r.lang.configweb?.webtit), r.stat.webclient = 1, r.sys.catcherror && (o.catchErrorUnhandledrejection = (c) => {
67
- h(c, "Unhandledrejection");
68
- }, window?.addEventListener?.("unhandledrejection", o.catchErrorUnhandledrejection), o.catchErrorCatch = (c) => {
69
- h(c, "Catch");
70
- }, window?.addEventListener?.("error", o.catchErrorCatch));
71
- });
72
- });
73
- });
74
- }), v(() => {
75
- s.offweb(), r.sys.catcherror && (o.catchErrorUnhandledrejection && (window.removeEventListener("unhandledrejection", o.catchErrorUnhandledrejection), o.catchErrorUnhandledrejection = null), o.catchErrorCatch && (window.removeEventListener("error", o.catchErrorCatch), o.catchErrorCatch = null)), r?.sys?.onwebws || s.ws.web.wsListenOff({
76
- ty: "publish/web"
77
- });
78
- }), (e, t) => {
79
- const n = f("AsaiWebServer"), c = f("AsaiWebServerNode"), A = f("AsaiWebServerUser"), E = f("AsaiWebServerUserOnline");
80
- return d(r).stat.webclient ? (l(), L(O, { key: 0 }, [
81
- d(r).rlv === 0 ? (l(), u(n, {
82
- key: 0,
83
- ujt: a.ujt
84
- }, null, 8, ["ujt"])) : d(r).rlv === 1 ? (l(), u(c, {
85
- key: 1,
86
- ujt: a.ujt
87
- }, null, 8, ["ujt"])) : d(r).rlv === 2 ? (l(), u(A, {
88
- key: 2,
89
- ujt: a.ujt
90
- }, null, 8, ["ujt"])) : (l(), u(E, {
91
- key: 3,
92
- ujt: a.ujt
93
- }, null, 8, ["ujt"]))
94
- ], 64)) : (l(), u($("PageLoadClient"), {
95
- key: 1,
96
- ujt: a.ujt
97
- }, null, 8, ["ujt"]));
98
- };
99
- }
100
- });
101
- export {
102
- P as default
103
- };