nxd-plugin 1.8.36 → 1.8.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/YCServiceSummary-CP4xYmeZ.mjs +2 -0
- package/dist/chunks/{component-Agent-D29NaL88.mjs → component-Agent-Cm2BEfcV.mjs} +27651 -1519
- package/dist/chunks/{component-AiChat-Bzf6wZyI.mjs → component-AiChat-C0nCRTDL.mjs} +123 -119
- package/dist/chunks/{component-AqiMonitor-gS8g8KDE.mjs → component-AqiMonitor-buvqeOgY.mjs} +1 -1
- package/dist/chunks/{component-ChartCumulativePre-CvyKwsPW.mjs → component-ChartCumulativePre-C4PgcnVy.mjs} +2 -2
- package/dist/chunks/{component-ChartServiceMaterial-KRWvovRh.mjs → component-ChartServiceMaterial-C7a1Qqo_.mjs} +2 -2
- package/dist/chunks/{component-Duty-i4nBQusH.mjs → component-Duty-DOs3Ug6k.mjs} +2 -2
- package/dist/chunks/{component-EarlyWarningStatistic-CXrIkKI_.mjs → component-EarlyWarningStatistic-CXmSRC_Z.mjs} +2 -2
- package/dist/chunks/{component-EarlyWarningStatistic2-D-zuoouJ.mjs → component-EarlyWarningStatistic2-DBipE3hf.mjs} +2 -2
- package/dist/chunks/{component-Forecast72h-C2m-Ne5P.mjs → component-Forecast72h-CU8p9veB.mjs} +1 -1
- package/dist/chunks/{component-GeologyLiveAlarm-C3Ssmndq.mjs → component-GeologyLiveAlarm-Br4JKabm.mjs} +2 -2
- package/dist/chunks/{component-GridForecastMsg-LDtXqNeM.mjs → component-GridForecastMsg-8ERFdIt7.mjs} +1 -1
- package/dist/chunks/{component-HDSeaLegend-BmNyQHuI.mjs → component-HDSeaLegend-DQXZYgpR.mjs} +2 -2
- package/dist/chunks/component-HdCameraList-CzJDCIUd.mjs +917 -0
- package/dist/chunks/{component-HdFarmStation-BTOmaaWt.mjs → component-HdFarmStation-Bw9K6NJn.mjs} +2 -2
- package/dist/chunks/{component-HdFarmStationDialog-CkH1eGWm.mjs → component-HdFarmStationDialog-jR-LBbQP.mjs} +1 -1
- package/dist/chunks/{component-HdForecastProducts-BcKsIy_n.mjs → component-HdForecastProducts-TXRVg26S.mjs} +1 -1
- package/dist/chunks/{component-HdHeatChart-B-h_hgJp.mjs → component-HdHeatChart-DZak9Ft6.mjs} +59 -57
- package/dist/chunks/{component-HdHeatChartDialog-BIsVNy9X.mjs → component-HdHeatChartDialog-D1fXxl0L.mjs} +2 -2
- package/dist/chunks/{component-HdHeatService-CHzEmx91.mjs → component-HdHeatService-B6jbZMfm.mjs} +1 -1
- package/dist/chunks/{component-HdInsectDetailList-BQTfYfMc.mjs → component-HdInsectDetailList-B3sikKhM.mjs} +1 -1
- package/dist/chunks/{component-HdInsectList-D4Iarp80.mjs → component-HdInsectList-BhwtKWGc.mjs} +1 -1
- package/dist/chunks/{component-HdMajorActivity-hlL1pGqv.mjs → component-HdMajorActivity-EC4Hvfqb.mjs} +2 -2
- package/dist/chunks/{component-HdObservation-woG4mrUI.mjs → component-HdObservation-DZLNEWhN.mjs} +3 -3
- package/dist/chunks/{component-HdPreSituation-CdWpaMIg.mjs → component-HdPreSituation-DBGR2Ryu.mjs} +3 -3
- package/dist/chunks/{component-HdQxServiceEffects-yzTTrD3Y.mjs → component-HdQxServiceEffects-dREiY6bN.mjs} +1 -1
- package/dist/chunks/{component-HdRadarList-D_N_guo4.mjs → component-HdRadarList-BxHqX6lK.mjs} +3 -3
- package/dist/chunks/{component-HdRadarTime-DybdASv9.mjs → component-HdRadarTime-BmXlFJFB.mjs} +1 -1
- package/dist/chunks/{component-HdRadarTimeLine-DHT424Im.mjs → component-HdRadarTimeLine-DuKt7347.mjs} +1 -1
- package/dist/chunks/{component-HdRisk-DcNOlbLx.mjs → component-HdRisk-CAF1JxIu.mjs} +2 -2
- package/dist/chunks/{component-HdSeaCase-ChC0ymj7.mjs → component-HdSeaCase-DVhbtYSc.mjs} +1 -1
- package/dist/chunks/{component-HdServiceMarterial-BuRNsOe2.mjs → component-HdServiceMarterial-CAXKIPOW.mjs} +2 -2
- package/dist/chunks/{component-HdServiceRequirements-CGS2T6WP.mjs → component-HdServiceRequirements-ByhUd4ey.mjs} +2 -2
- package/dist/chunks/{component-HdSoil-JM7eY_Eh.mjs → component-HdSoil-qNATYOOB.mjs} +2 -2
- package/dist/chunks/{component-HdSoilDetailList-CGJatowZ.mjs → component-HdSoilDetailList-BbihIcJ9.mjs} +1 -1
- package/dist/chunks/{component-HdStationTem-BnGd0Kr8.mjs → component-HdStationTem-C7eTBEla.mjs} +3 -3
- package/dist/chunks/{component-HdSuggestion-Bu3p88AM.mjs → component-HdSuggestion-BGz6-uaw.mjs} +2 -2
- package/dist/chunks/{component-HdThreeWeatherTrend-gBmaKPJO.mjs → component-HdThreeWeatherTrend-CZTzNuEZ.mjs} +3 -3
- package/dist/chunks/{component-HdWaveForcast-DAomA302.mjs → component-HdWaveForcast-CFfbmxOJ.mjs} +2 -2
- package/dist/chunks/{component-HighQuality-B5w1Oj8P.mjs → component-HighQuality-qHBWb-O7.mjs} +1 -1
- package/dist/chunks/{component-HighWayEarlyWarningRed-D6__uUfN.mjs → component-HighWayEarlyWarningRed-D5xK5D0V.mjs} +2 -2
- package/dist/chunks/{component-HighWayFreeze-xhldTKjj.mjs → component-HighWayFreeze-Bfzy5Py4.mjs} +2 -2
- package/dist/chunks/{component-HighwayLiveAlarm-DcerA_u-.mjs → component-HighwayLiveAlarm-C0NVxNlc.mjs} +2 -2
- package/dist/chunks/{component-HighwayLiveAlarmNew-BLJnYWBS.mjs → component-HighwayLiveAlarmNew-BkPc1uHT.mjs} +3 -3
- package/dist/chunks/{component-HighwayStations-CmK4R6Wm.mjs → component-HighwayStations-gLCzqaFg.mjs} +2 -2
- package/dist/chunks/{component-HighwayWeatherForecast-BctSpjXK.mjs → component-HighwayWeatherForecast-Di4k_gXe.mjs} +5 -5
- package/dist/chunks/{component-IframeWeb-BLQFQ6jc.mjs → component-IframeWeb-BI6ARPim.mjs} +1 -1
- package/dist/chunks/{component-ImageGeneration-DQ4OGc0D.mjs → component-ImageGeneration-HZcmty4a.mjs} +2 -2
- package/dist/chunks/{component-IntroducePic-BP8vtQK5.mjs → component-IntroducePic-BzcpXcDu.mjs} +1 -1
- package/dist/chunks/{component-LithiumBatteryMiningArea-BZtZ2YBw.mjs → component-LithiumBatteryMiningArea-CWmowyvH.mjs} +2 -2
- package/dist/chunks/{component-MapPopup-BZG6kZ9L.mjs → component-MapPopup-BMpK3HDv.mjs} +1 -1
- package/dist/chunks/{component-MaterialPreview-lC-1xPcu.mjs → component-MaterialPreview-opXV5MsP.mjs} +1 -1
- package/dist/chunks/{component-PieLegend-wogLQDom.mjs → component-PieLegend-DbYkitpz.mjs} +1 -1
- package/dist/chunks/{component-PrecipitationRanking-D8H4DZ6-.mjs → component-PrecipitationRanking-DCkl4WcA.mjs} +3 -3
- package/dist/chunks/{component-RadarChart-DSM9HZzL.mjs → component-RadarChart-elpvJJcV.mjs} +2 -2
- package/dist/chunks/{component-RadarLegend-C-9IG-GR.mjs → component-RadarLegend-CooXza3E.mjs} +1 -1
- package/dist/chunks/{component-RadarShortTerm-lgnAptGu.mjs → component-RadarShortTerm-ev61YTDw.mjs} +4 -4
- package/dist/chunks/{component-RadarTime-CjVaenhV.mjs → component-RadarTime-CvudM45Q.mjs} +2 -2
- package/dist/chunks/{component-RenderMarkdown-f42yP-ij.mjs → component-RenderMarkdown-hrLIIwgE.mjs} +2 -2
- package/dist/chunks/{component-ReservoirLiveAlarm-Ctun5rt_.mjs → component-ReservoirLiveAlarm-CzZpNTun.mjs} +3 -3
- package/dist/chunks/{component-ServiceMaterial-QPWaL8VY.mjs → component-ServiceMaterial-9oH_DZq1.mjs} +2 -2
- package/dist/chunks/{component-ServiceMaterialsBtn-BM4fjaAw.mjs → component-ServiceMaterialsBtn-ckhadvV7.mjs} +2 -2
- package/dist/chunks/{component-StationDialog-DUx5DNpl.mjs → component-StationDialog-XTeGI3qA.mjs} +3 -3
- package/dist/chunks/{component-StationList-CDlf1xJh.mjs → component-StationList-rrmZM7q1.mjs} +3 -3
- package/dist/chunks/{component-TimeBasedForecast-DOoea8hY.mjs → component-TimeBasedForecast-C8eEmt7r.mjs} +4 -4
- package/dist/chunks/{component-Typhoon-Cl4n7nf1.mjs → component-Typhoon-RsStDsjO.mjs} +2 -2
- package/dist/chunks/{component-WarningLine-BM_UKefj.mjs → component-WarningLine-gmXFFeUv.mjs} +2 -2
- package/dist/chunks/{component-WarningSignal-BB09ahTi.mjs → component-WarningSignal-CjQjyTr4.mjs} +3 -3
- package/dist/chunks/{component-WeatherForecast-d92kvD06.mjs → component-WeatherForecast-CtNxOx9i.mjs} +4 -4
- package/dist/chunks/{component-YCDataMonitor-D1jl2sEw.mjs → component-YCDataMonitor-CI7XRJ83.mjs} +1 -1
- package/dist/chunks/{component-YCDataService-DG60--e8.mjs → component-YCDataService-DkIDLzWF.mjs} +3 -3
- package/dist/chunks/{component-YCHighWaySummary-CRzdB9gf.mjs → component-YCHighWaySummary-B3VElvls.mjs} +2 -2
- package/dist/chunks/{component-YCHome-BQrWRywc.mjs → component-YCHome-CiN9AggT.mjs} +4 -4
- package/dist/chunks/{component-YCHomeLegend-D8PCLUMe.mjs → component-YCHomeLegend-DzDo8zz6.mjs} +2 -2
- package/dist/chunks/{component-YCLoginNew-Dcm8obmh.mjs → component-YCLoginNew-IfVsyv0t.mjs} +19 -19
- package/dist/chunks/{component-YCServiceSummary-5xh4q3d6.mjs → component-YCServiceSummary-Dy_GyJoy.mjs} +14 -14
- package/dist/components/Agent/Agent.vue.d.ts +1 -0
- package/dist/nxd-plugin.mjs +73 -73
- package/dist/styles/component-Agent.css +1 -1
- package/dist/styles/component-AiChat.css +1 -1
- package/dist/styles/component-HdHeatChart.css +1 -1
- package/dist/styles/component-YCLoginNew.css +1 -1
- package/package.json +1 -1
- package/dist/chunks/YCServiceSummary-CPxUo9rG.mjs +0 -2
- package/dist/chunks/component-HdCameraList-C5U48T7e.mjs +0 -26871
|
@@ -0,0 +1,917 @@
|
|
|
1
|
+
import { i as e, t } from "./rolldown-runtime-Dd0fQ6-X.mjs";
|
|
2
|
+
import { a as n, g as r, i, n as a, p as o, r as s } from "./component-Agent-Cm2BEfcV.mjs";
|
|
3
|
+
import "./component-Forecast72h-CU8p9veB.mjs";
|
|
4
|
+
import { Fragment as c, Teleport as l, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createVNode as h, defineComponent as g, getCurrentInstance as _, nextTick as v, onMounted as y, onUnmounted as b, openBlock as x, ref as S, renderList as C, toDisplayString as w, unref as T, vModelCheckbox as ee, vModelText as te, vShow as ne, watch as E, withCtx as re, withDirectives as D, withKeys as ie, withModifiers as ae } from "vue";
|
|
5
|
+
import "element-plus/es/components/select/style/css";
|
|
6
|
+
import "element-plus/es/components/option/style/css";
|
|
7
|
+
import { ElOption as oe, ElSelect as se } from "element-plus";
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region node_modules/flv.js/src/utils/logger.js
|
|
10
|
+
var O = /* @__PURE__ */ e((/* @__PURE__ */ t(((e, t) => {
|
|
11
|
+
var n = typeof Reflect == "object" ? Reflect : null, r = n && typeof n.apply == "function" ? n.apply : function(e, t, n) {
|
|
12
|
+
return Function.prototype.apply.call(e, t, n);
|
|
13
|
+
}, i = n && typeof n.ownKeys == "function" ? n.ownKeys : Object.getOwnPropertySymbols ? function(e) {
|
|
14
|
+
return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));
|
|
15
|
+
} : function(e) {
|
|
16
|
+
return Object.getOwnPropertyNames(e);
|
|
17
|
+
};
|
|
18
|
+
function a(e) {
|
|
19
|
+
console && console.warn && console.warn(e);
|
|
20
|
+
}
|
|
21
|
+
var o = Number.isNaN || function(e) {
|
|
22
|
+
return e !== e;
|
|
23
|
+
};
|
|
24
|
+
function s() {
|
|
25
|
+
s.init.call(this);
|
|
26
|
+
}
|
|
27
|
+
t.exports = s, t.exports.once = y, s.EventEmitter = s, s.prototype._events = void 0, s.prototype._eventsCount = 0, s.prototype._maxListeners = void 0;
|
|
28
|
+
var c = 10;
|
|
29
|
+
function l(e) {
|
|
30
|
+
if (typeof e != "function") throw TypeError("The \"listener\" argument must be of type Function. Received type " + typeof e);
|
|
31
|
+
}
|
|
32
|
+
Object.defineProperty(s, "defaultMaxListeners", {
|
|
33
|
+
enumerable: !0,
|
|
34
|
+
get: function() {
|
|
35
|
+
return c;
|
|
36
|
+
},
|
|
37
|
+
set: function(e) {
|
|
38
|
+
if (typeof e != "number" || e < 0 || o(e)) throw RangeError("The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received " + e + ".");
|
|
39
|
+
c = e;
|
|
40
|
+
}
|
|
41
|
+
}), s.init = function() {
|
|
42
|
+
(this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;
|
|
43
|
+
}, s.prototype.setMaxListeners = function(e) {
|
|
44
|
+
if (typeof e != "number" || e < 0 || o(e)) throw RangeError("The value of \"n\" is out of range. It must be a non-negative number. Received " + e + ".");
|
|
45
|
+
return this._maxListeners = e, this;
|
|
46
|
+
};
|
|
47
|
+
function u(e) {
|
|
48
|
+
return e._maxListeners === void 0 ? s.defaultMaxListeners : e._maxListeners;
|
|
49
|
+
}
|
|
50
|
+
s.prototype.getMaxListeners = function() {
|
|
51
|
+
return u(this);
|
|
52
|
+
}, s.prototype.emit = function(e) {
|
|
53
|
+
for (var t = [], n = 1; n < arguments.length; n++) t.push(arguments[n]);
|
|
54
|
+
var i = e === "error", a = this._events;
|
|
55
|
+
if (a !== void 0) i &&= a.error === void 0;
|
|
56
|
+
else if (!i) return !1;
|
|
57
|
+
if (i) {
|
|
58
|
+
var o;
|
|
59
|
+
if (t.length > 0 && (o = t[0]), o instanceof Error) throw o;
|
|
60
|
+
var s = /* @__PURE__ */ Error("Unhandled error." + (o ? " (" + o.message + ")" : ""));
|
|
61
|
+
throw s.context = o, s;
|
|
62
|
+
}
|
|
63
|
+
var c = a[e];
|
|
64
|
+
if (c === void 0) return !1;
|
|
65
|
+
if (typeof c == "function") r(c, this, t);
|
|
66
|
+
else for (var l = c.length, u = g(c, l), n = 0; n < l; ++n) r(u[n], this, t);
|
|
67
|
+
return !0;
|
|
68
|
+
};
|
|
69
|
+
function d(e, t, n, r) {
|
|
70
|
+
var i, o, s;
|
|
71
|
+
if (l(n), o = e._events, o === void 0 ? (o = e._events = Object.create(null), e._eventsCount = 0) : (o.newListener !== void 0 && (e.emit("newListener", t, n.listener ? n.listener : n), o = e._events), s = o[t]), s === void 0) s = o[t] = n, ++e._eventsCount;
|
|
72
|
+
else if (typeof s == "function" ? s = o[t] = r ? [n, s] : [s, n] : r ? s.unshift(n) : s.push(n), i = u(e), i > 0 && s.length > i && !s.warned) {
|
|
73
|
+
s.warned = !0;
|
|
74
|
+
var c = /* @__PURE__ */ Error("Possible EventEmitter memory leak detected. " + s.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit");
|
|
75
|
+
c.name = "MaxListenersExceededWarning", c.emitter = e, c.type = t, c.count = s.length, a(c);
|
|
76
|
+
}
|
|
77
|
+
return e;
|
|
78
|
+
}
|
|
79
|
+
s.prototype.addListener = function(e, t) {
|
|
80
|
+
return d(this, e, t, !1);
|
|
81
|
+
}, s.prototype.on = s.prototype.addListener, s.prototype.prependListener = function(e, t) {
|
|
82
|
+
return d(this, e, t, !0);
|
|
83
|
+
};
|
|
84
|
+
function f() {
|
|
85
|
+
if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);
|
|
86
|
+
}
|
|
87
|
+
function p(e, t, n) {
|
|
88
|
+
var r = {
|
|
89
|
+
fired: !1,
|
|
90
|
+
wrapFn: void 0,
|
|
91
|
+
target: e,
|
|
92
|
+
type: t,
|
|
93
|
+
listener: n
|
|
94
|
+
}, i = f.bind(r);
|
|
95
|
+
return i.listener = n, r.wrapFn = i, i;
|
|
96
|
+
}
|
|
97
|
+
s.prototype.once = function(e, t) {
|
|
98
|
+
return l(t), this.on(e, p(this, e, t)), this;
|
|
99
|
+
}, s.prototype.prependOnceListener = function(e, t) {
|
|
100
|
+
return l(t), this.prependListener(e, p(this, e, t)), this;
|
|
101
|
+
}, s.prototype.removeListener = function(e, t) {
|
|
102
|
+
var n, r, i, a, o;
|
|
103
|
+
if (l(t), r = this._events, r === void 0 || (n = r[e], n === void 0)) return this;
|
|
104
|
+
if (n === t || n.listener === t) --this._eventsCount === 0 ? this._events = Object.create(null) : (delete r[e], r.removeListener && this.emit("removeListener", e, n.listener || t));
|
|
105
|
+
else if (typeof n != "function") {
|
|
106
|
+
for (i = -1, a = n.length - 1; a >= 0; a--) if (n[a] === t || n[a].listener === t) {
|
|
107
|
+
o = n[a].listener, i = a;
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
if (i < 0) return this;
|
|
111
|
+
i === 0 ? n.shift() : _(n, i), n.length === 1 && (r[e] = n[0]), r.removeListener !== void 0 && this.emit("removeListener", e, o || t);
|
|
112
|
+
}
|
|
113
|
+
return this;
|
|
114
|
+
}, s.prototype.off = s.prototype.removeListener, s.prototype.removeAllListeners = function(e) {
|
|
115
|
+
var t, n = this._events, r;
|
|
116
|
+
if (n === void 0) return this;
|
|
117
|
+
if (n.removeListener === void 0) return arguments.length === 0 ? (this._events = Object.create(null), this._eventsCount = 0) : n[e] !== void 0 && (--this._eventsCount === 0 ? this._events = Object.create(null) : delete n[e]), this;
|
|
118
|
+
if (arguments.length === 0) {
|
|
119
|
+
var i = Object.keys(n), a;
|
|
120
|
+
for (r = 0; r < i.length; ++r) a = i[r], a !== "removeListener" && this.removeAllListeners(a);
|
|
121
|
+
return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this;
|
|
122
|
+
}
|
|
123
|
+
if (t = n[e], typeof t == "function") this.removeListener(e, t);
|
|
124
|
+
else if (t !== void 0) for (r = t.length - 1; r >= 0; r--) this.removeListener(e, t[r]);
|
|
125
|
+
return this;
|
|
126
|
+
};
|
|
127
|
+
function m(e, t, n) {
|
|
128
|
+
var r = e._events;
|
|
129
|
+
if (r === void 0) return [];
|
|
130
|
+
var i = r[t];
|
|
131
|
+
return i === void 0 ? [] : typeof i == "function" ? n ? [i.listener || i] : [i] : n ? v(i) : g(i, i.length);
|
|
132
|
+
}
|
|
133
|
+
s.prototype.listeners = function(e) {
|
|
134
|
+
return m(this, e, !0);
|
|
135
|
+
}, s.prototype.rawListeners = function(e) {
|
|
136
|
+
return m(this, e, !1);
|
|
137
|
+
}, s.listenerCount = function(e, t) {
|
|
138
|
+
return typeof e.listenerCount == "function" ? e.listenerCount(t) : h.call(e, t);
|
|
139
|
+
}, s.prototype.listenerCount = h;
|
|
140
|
+
function h(e) {
|
|
141
|
+
var t = this._events;
|
|
142
|
+
if (t !== void 0) {
|
|
143
|
+
var n = t[e];
|
|
144
|
+
if (typeof n == "function") return 1;
|
|
145
|
+
if (n !== void 0) return n.length;
|
|
146
|
+
}
|
|
147
|
+
return 0;
|
|
148
|
+
}
|
|
149
|
+
s.prototype.eventNames = function() {
|
|
150
|
+
return this._eventsCount > 0 ? i(this._events) : [];
|
|
151
|
+
};
|
|
152
|
+
function g(e, t) {
|
|
153
|
+
for (var n = Array(t), r = 0; r < t; ++r) n[r] = e[r];
|
|
154
|
+
return n;
|
|
155
|
+
}
|
|
156
|
+
function _(e, t) {
|
|
157
|
+
for (; t + 1 < e.length; t++) e[t] = e[t + 1];
|
|
158
|
+
e.pop();
|
|
159
|
+
}
|
|
160
|
+
function v(e) {
|
|
161
|
+
for (var t = Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n];
|
|
162
|
+
return t;
|
|
163
|
+
}
|
|
164
|
+
function y(e, t) {
|
|
165
|
+
return new Promise(function(n, r) {
|
|
166
|
+
function i(n) {
|
|
167
|
+
e.removeListener(t, a), r(n);
|
|
168
|
+
}
|
|
169
|
+
function a() {
|
|
170
|
+
typeof e.removeListener == "function" && e.removeListener("error", i), n([].slice.call(arguments));
|
|
171
|
+
}
|
|
172
|
+
x(e, t, a, { once: !0 }), t !== "error" && b(e, i, { once: !0 });
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
function b(e, t, n) {
|
|
176
|
+
typeof e.on == "function" && x(e, "error", t, n);
|
|
177
|
+
}
|
|
178
|
+
function x(e, t, n, r) {
|
|
179
|
+
if (typeof e.on == "function") r.once ? e.once(t, n) : e.on(t, n);
|
|
180
|
+
else if (typeof e.addEventListener == "function") e.addEventListener(t, function i(a) {
|
|
181
|
+
r.once && e.removeEventListener(t, i), n(a);
|
|
182
|
+
});
|
|
183
|
+
else throw TypeError("The \"emitter\" argument must be of type EventEmitter. Received type " + typeof e);
|
|
184
|
+
}
|
|
185
|
+
})))()), k = class e {
|
|
186
|
+
static e(t, n) {
|
|
187
|
+
(!t || e.FORCE_GLOBAL_TAG) && (t = e.GLOBAL_TAG);
|
|
188
|
+
let r = `[${t}] > ${n}`;
|
|
189
|
+
e.ENABLE_CALLBACK && e.emitter.emit("log", "error", r), e.ENABLE_ERROR && (console.error ? console.error(r) : console.warn ? console.warn(r) : console.log(r));
|
|
190
|
+
}
|
|
191
|
+
static i(t, n) {
|
|
192
|
+
(!t || e.FORCE_GLOBAL_TAG) && (t = e.GLOBAL_TAG);
|
|
193
|
+
let r = `[${t}] > ${n}`;
|
|
194
|
+
e.ENABLE_CALLBACK && e.emitter.emit("log", "info", r), e.ENABLE_INFO && (console.info ? console.info(r) : console.log(r));
|
|
195
|
+
}
|
|
196
|
+
static w(t, n) {
|
|
197
|
+
(!t || e.FORCE_GLOBAL_TAG) && (t = e.GLOBAL_TAG);
|
|
198
|
+
let r = `[${t}] > ${n}`;
|
|
199
|
+
e.ENABLE_CALLBACK && e.emitter.emit("log", "warn", r), e.ENABLE_WARN && (console.warn ? console.warn(r) : console.log(r));
|
|
200
|
+
}
|
|
201
|
+
static d(t, n) {
|
|
202
|
+
(!t || e.FORCE_GLOBAL_TAG) && (t = e.GLOBAL_TAG);
|
|
203
|
+
let r = `[${t}] > ${n}`;
|
|
204
|
+
e.ENABLE_CALLBACK && e.emitter.emit("log", "debug", r), e.ENABLE_DEBUG && (console.debug ? console.debug(r) : console.log(r));
|
|
205
|
+
}
|
|
206
|
+
static v(t, n) {
|
|
207
|
+
(!t || e.FORCE_GLOBAL_TAG) && (t = e.GLOBAL_TAG);
|
|
208
|
+
let r = `[${t}] > ${n}`;
|
|
209
|
+
e.ENABLE_CALLBACK && e.emitter.emit("log", "verbose", r), e.ENABLE_VERBOSE && console.log(r);
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
k.GLOBAL_TAG = "flv.js", k.FORCE_GLOBAL_TAG = !1, k.ENABLE_ERROR = !0, k.ENABLE_INFO = !0, k.ENABLE_WARN = !0, k.ENABLE_DEBUG = !0, k.ENABLE_VERBOSE = !0, k.ENABLE_CALLBACK = !1, k.emitter = new O.default();
|
|
213
|
+
//#endregion
|
|
214
|
+
//#region node_modules/flv.js/src/utils/browser.js
|
|
215
|
+
var A = {};
|
|
216
|
+
function j() {
|
|
217
|
+
let e = self.navigator.userAgent.toLowerCase(), t = /(edge)\/([\w.]+)/.exec(e) || /(opr)[\/]([\w.]+)/.exec(e) || /(chrome)[ \/]([\w.]+)/.exec(e) || /(iemobile)[\/]([\w.]+)/.exec(e) || /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(firefox)[ \/]([\w.]+)/.exec(e) || [], n = /(ipad)/.exec(e) || /(ipod)/.exec(e) || /(windows phone)/.exec(e) || /(iphone)/.exec(e) || /(kindle)/.exec(e) || /(android)/.exec(e) || /(windows)/.exec(e) || /(mac)/.exec(e) || /(linux)/.exec(e) || /(cros)/.exec(e) || [], r = {
|
|
218
|
+
browser: t[5] || t[3] || t[1] || "",
|
|
219
|
+
version: t[2] || t[4] || "0",
|
|
220
|
+
majorVersion: t[4] || t[2] || "0",
|
|
221
|
+
platform: n[0] || ""
|
|
222
|
+
}, i = {};
|
|
223
|
+
if (r.browser) {
|
|
224
|
+
i[r.browser] = !0;
|
|
225
|
+
let e = r.majorVersion.split(".");
|
|
226
|
+
i.version = {
|
|
227
|
+
major: parseInt(r.majorVersion, 10),
|
|
228
|
+
string: r.version
|
|
229
|
+
}, e.length > 1 && (i.version.minor = parseInt(e[1], 10)), e.length > 2 && (i.version.build = parseInt(e[2], 10));
|
|
230
|
+
}
|
|
231
|
+
if (r.platform && (i[r.platform] = !0), (i.chrome || i.opr || i.safari) && (i.webkit = !0), i.rv || i.iemobile) {
|
|
232
|
+
i.rv && delete i.rv;
|
|
233
|
+
let e = "msie";
|
|
234
|
+
r.browser = e, i[e] = !0;
|
|
235
|
+
}
|
|
236
|
+
if (i.edge) {
|
|
237
|
+
delete i.edge;
|
|
238
|
+
let e = "msedge";
|
|
239
|
+
r.browser = e, i[e] = !0;
|
|
240
|
+
}
|
|
241
|
+
if (i.opr) {
|
|
242
|
+
let e = "opera";
|
|
243
|
+
r.browser = e, i[e] = !0;
|
|
244
|
+
}
|
|
245
|
+
if (i.safari && i.android) {
|
|
246
|
+
let e = "android";
|
|
247
|
+
r.browser = e, i[e] = !0;
|
|
248
|
+
}
|
|
249
|
+
i.name = r.browser, i.platform = r.platform;
|
|
250
|
+
for (let e in A) A.hasOwnProperty(e) && delete A[e];
|
|
251
|
+
Object.assign(A, i);
|
|
252
|
+
}
|
|
253
|
+
j();
|
|
254
|
+
//#endregion
|
|
255
|
+
//#region node_modules/flv.js/src/utils/exception.js
|
|
256
|
+
var M = class {
|
|
257
|
+
constructor(e) {
|
|
258
|
+
this._message = e;
|
|
259
|
+
}
|
|
260
|
+
get name() {
|
|
261
|
+
return "RuntimeException";
|
|
262
|
+
}
|
|
263
|
+
get message() {
|
|
264
|
+
return this._message;
|
|
265
|
+
}
|
|
266
|
+
toString() {
|
|
267
|
+
return this.name + ": " + this.message;
|
|
268
|
+
}
|
|
269
|
+
}, N = class extends M {
|
|
270
|
+
constructor(e) {
|
|
271
|
+
super(e);
|
|
272
|
+
}
|
|
273
|
+
get name() {
|
|
274
|
+
return "NotImplementedException";
|
|
275
|
+
}
|
|
276
|
+
}, P = {
|
|
277
|
+
kIdle: 0,
|
|
278
|
+
kConnecting: 1,
|
|
279
|
+
kBuffering: 2,
|
|
280
|
+
kError: 3,
|
|
281
|
+
kComplete: 4
|
|
282
|
+
}, F = {
|
|
283
|
+
OK: "OK",
|
|
284
|
+
EXCEPTION: "Exception",
|
|
285
|
+
HTTP_STATUS_CODE_INVALID: "HttpStatusCodeInvalid",
|
|
286
|
+
CONNECTING_TIMEOUT: "ConnectingTimeout",
|
|
287
|
+
EARLY_EOF: "EarlyEof",
|
|
288
|
+
UNRECOVERABLE_EARLY_EOF: "UnrecoverableEarlyEof"
|
|
289
|
+
}, I = class {
|
|
290
|
+
constructor(e) {
|
|
291
|
+
this._type = e || "undefined", this._status = P.kIdle, this._needStash = !1, this._onContentLengthKnown = null, this._onURLRedirect = null, this._onDataArrival = null, this._onError = null, this._onComplete = null;
|
|
292
|
+
}
|
|
293
|
+
destroy() {
|
|
294
|
+
this._status = P.kIdle, this._onContentLengthKnown = null, this._onURLRedirect = null, this._onDataArrival = null, this._onError = null, this._onComplete = null;
|
|
295
|
+
}
|
|
296
|
+
isWorking() {
|
|
297
|
+
return this._status === P.kConnecting || this._status === P.kBuffering;
|
|
298
|
+
}
|
|
299
|
+
get type() {
|
|
300
|
+
return this._type;
|
|
301
|
+
}
|
|
302
|
+
get status() {
|
|
303
|
+
return this._status;
|
|
304
|
+
}
|
|
305
|
+
get needStashBuffer() {
|
|
306
|
+
return this._needStash;
|
|
307
|
+
}
|
|
308
|
+
get onContentLengthKnown() {
|
|
309
|
+
return this._onContentLengthKnown;
|
|
310
|
+
}
|
|
311
|
+
set onContentLengthKnown(e) {
|
|
312
|
+
this._onContentLengthKnown = e;
|
|
313
|
+
}
|
|
314
|
+
get onURLRedirect() {
|
|
315
|
+
return this._onURLRedirect;
|
|
316
|
+
}
|
|
317
|
+
set onURLRedirect(e) {
|
|
318
|
+
this._onURLRedirect = e;
|
|
319
|
+
}
|
|
320
|
+
get onDataArrival() {
|
|
321
|
+
return this._onDataArrival;
|
|
322
|
+
}
|
|
323
|
+
set onDataArrival(e) {
|
|
324
|
+
this._onDataArrival = e;
|
|
325
|
+
}
|
|
326
|
+
get onError() {
|
|
327
|
+
return this._onError;
|
|
328
|
+
}
|
|
329
|
+
set onError(e) {
|
|
330
|
+
this._onError = e;
|
|
331
|
+
}
|
|
332
|
+
get onComplete() {
|
|
333
|
+
return this._onComplete;
|
|
334
|
+
}
|
|
335
|
+
set onComplete(e) {
|
|
336
|
+
this._onComplete = e;
|
|
337
|
+
}
|
|
338
|
+
open(e, t) {
|
|
339
|
+
throw new N("Unimplemented abstract function!");
|
|
340
|
+
}
|
|
341
|
+
abort() {
|
|
342
|
+
throw new N("Unimplemented abstract function!");
|
|
343
|
+
}
|
|
344
|
+
}, ce = class extends I {
|
|
345
|
+
static isSupported() {
|
|
346
|
+
try {
|
|
347
|
+
let e = A.msedge && A.version.minor >= 15048, t = A.msedge ? e : !0;
|
|
348
|
+
return self.fetch && self.ReadableStream && t;
|
|
349
|
+
} catch {
|
|
350
|
+
return !1;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
constructor(e, t) {
|
|
354
|
+
super("fetch-stream-loader"), this.TAG = "FetchStreamLoader", this._seekHandler = e, this._config = t, this._needStash = !0, this._requestAbort = !1, this._contentLength = null, this._receivedLength = 0;
|
|
355
|
+
}
|
|
356
|
+
destroy() {
|
|
357
|
+
this.isWorking() && this.abort(), super.destroy();
|
|
358
|
+
}
|
|
359
|
+
open(e, t) {
|
|
360
|
+
this._dataSource = e, this._range = t;
|
|
361
|
+
let n = e.url;
|
|
362
|
+
this._config.reuseRedirectedURL && e.redirectedURL != null && (n = e.redirectedURL);
|
|
363
|
+
let r = this._seekHandler.getConfig(n, t), i = new self.Headers();
|
|
364
|
+
if (typeof r.headers == "object") {
|
|
365
|
+
let e = r.headers;
|
|
366
|
+
for (let t in e) e.hasOwnProperty(t) && i.append(t, e[t]);
|
|
367
|
+
}
|
|
368
|
+
let a = {
|
|
369
|
+
method: "GET",
|
|
370
|
+
headers: i,
|
|
371
|
+
mode: "cors",
|
|
372
|
+
cache: "default",
|
|
373
|
+
referrerPolicy: "no-referrer-when-downgrade"
|
|
374
|
+
};
|
|
375
|
+
if (typeof this._config.headers == "object") for (let e in this._config.headers) i.append(e, this._config.headers[e]);
|
|
376
|
+
e.cors === !1 && (a.mode = "same-origin"), e.withCredentials && (a.credentials = "include"), e.referrerPolicy && (a.referrerPolicy = e.referrerPolicy), self.AbortController && (this._abortController = new self.AbortController(), a.signal = this._abortController.signal), this._status = P.kConnecting, self.fetch(r.url, a).then((e) => {
|
|
377
|
+
if (this._requestAbort) {
|
|
378
|
+
this._status = P.kIdle, e.body.cancel();
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
if (e.ok && e.status >= 200 && e.status <= 299) {
|
|
382
|
+
if (e.url !== r.url && this._onURLRedirect) {
|
|
383
|
+
let t = this._seekHandler.removeURLParameters(e.url);
|
|
384
|
+
this._onURLRedirect(t);
|
|
385
|
+
}
|
|
386
|
+
let t = e.headers.get("Content-Length");
|
|
387
|
+
return t != null && (this._contentLength = parseInt(t), this._contentLength !== 0 && this._onContentLengthKnown && this._onContentLengthKnown(this._contentLength)), this._pump.call(this, e.body.getReader());
|
|
388
|
+
} else if (this._status = P.kError, this._onError) this._onError(F.HTTP_STATUS_CODE_INVALID, {
|
|
389
|
+
code: e.status,
|
|
390
|
+
msg: e.statusText
|
|
391
|
+
});
|
|
392
|
+
else throw new M("FetchStreamLoader: Http code invalid, " + e.status + " " + e.statusText);
|
|
393
|
+
}).catch((e) => {
|
|
394
|
+
if (!(this._abortController && this._abortController.signal.aborted)) if (this._status = P.kError, this._onError) this._onError(F.EXCEPTION, {
|
|
395
|
+
code: -1,
|
|
396
|
+
msg: e.message
|
|
397
|
+
});
|
|
398
|
+
else throw e;
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
abort() {
|
|
402
|
+
if (this._requestAbort = !0, (this._status !== P.kBuffering || !A.chrome) && this._abortController) try {
|
|
403
|
+
this._abortController.abort();
|
|
404
|
+
} catch {}
|
|
405
|
+
}
|
|
406
|
+
_pump(e) {
|
|
407
|
+
return e.read().then((t) => {
|
|
408
|
+
if (t.done) if (this._contentLength !== null && this._receivedLength < this._contentLength) {
|
|
409
|
+
this._status = P.kError;
|
|
410
|
+
let e = F.EARLY_EOF, t = {
|
|
411
|
+
code: -1,
|
|
412
|
+
msg: "Fetch stream meet Early-EOF"
|
|
413
|
+
};
|
|
414
|
+
if (this._onError) this._onError(e, t);
|
|
415
|
+
else throw new M(t.msg);
|
|
416
|
+
} else this._status = P.kComplete, this._onComplete && this._onComplete(this._range.from, this._range.from + this._receivedLength - 1);
|
|
417
|
+
else {
|
|
418
|
+
if (this._abortController && this._abortController.signal.aborted) {
|
|
419
|
+
this._status = P.kComplete;
|
|
420
|
+
return;
|
|
421
|
+
} else if (this._requestAbort === !0) return this._status = P.kComplete, e.cancel();
|
|
422
|
+
this._status = P.kBuffering;
|
|
423
|
+
let n = t.value.buffer, r = this._range.from + this._receivedLength;
|
|
424
|
+
this._receivedLength += n.byteLength, this._onDataArrival && this._onDataArrival(n, r, this._receivedLength), this._pump(e);
|
|
425
|
+
}
|
|
426
|
+
}).catch((e) => {
|
|
427
|
+
if (this._abortController && this._abortController.signal.aborted) {
|
|
428
|
+
this._status = P.kComplete;
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
if (e.code === 11 && A.msedge) return;
|
|
432
|
+
this._status = P.kError;
|
|
433
|
+
let t = 0, n = null;
|
|
434
|
+
if ((e.code === 19 || e.message === "network error") && (this._contentLength === null || this._contentLength !== null && this._receivedLength < this._contentLength) ? (t = F.EARLY_EOF, n = {
|
|
435
|
+
code: e.code,
|
|
436
|
+
msg: "Fetch stream meet Early-EOF"
|
|
437
|
+
}) : (t = F.EXCEPTION, n = {
|
|
438
|
+
code: e.code,
|
|
439
|
+
msg: e.message
|
|
440
|
+
}), this._onError) this._onError(t, n);
|
|
441
|
+
else throw new M(n.msg);
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
}, L = /* @__PURE__ */ e(s()), le = { class: "HdCameraList" }, ue = { class: "HdCameraList-header" }, de = { class: "HdCameraList-headerContent" }, fe = { class: "HdCameraList-title" }, pe = { class: "HdCameraList-markerCheck" }, me = { class: "HdCameraList-toolbar" }, he = { class: "HdCameraList-search" }, ge = { class: "HdCameraList-count" }, _e = { class: "HdCameraList-body" }, ve = ["onClick"], ye = { class: "HdCameraList-thumb" }, be = ["src"], xe = {
|
|
445
|
+
key: 1,
|
|
446
|
+
class: "HdCameraList-thumbPlaceholder"
|
|
447
|
+
}, Se = { class: "HdCameraList-info" }, Ce = ["title"], we = {
|
|
448
|
+
key: 0,
|
|
449
|
+
class: "HdCameraList-meta"
|
|
450
|
+
}, Te = {
|
|
451
|
+
key: 0,
|
|
452
|
+
class: "HdCameraList-empty"
|
|
453
|
+
}, Ee = { class: "HdCameraList-player" }, De = { class: "HdCameraList-playerHead" }, Oe = { class: "HdCameraList-playerHeadTitle" }, ke = { class: "HdCameraList-playerBody" }, Ae = {
|
|
454
|
+
key: 0,
|
|
455
|
+
class: "HdCameraList-videoState HdCameraList-videoState--loading"
|
|
456
|
+
}, je = {
|
|
457
|
+
key: 1,
|
|
458
|
+
class: "HdCameraList-videoState HdCameraList-videoState--error"
|
|
459
|
+
}, R = /* @__PURE__ */ o(/* @__PURE__ */ g({
|
|
460
|
+
__name: "HdCameraList",
|
|
461
|
+
props: {
|
|
462
|
+
serviceTypeID: { default: "" },
|
|
463
|
+
baseHttp: { default: "" },
|
|
464
|
+
appKey: { default: "" },
|
|
465
|
+
appSalt: { default: "" },
|
|
466
|
+
httpUrl: { default: "" },
|
|
467
|
+
ids: { default: () => ({}) },
|
|
468
|
+
title: { default: "" },
|
|
469
|
+
list: { default: () => [] },
|
|
470
|
+
cameraApiUrl: { default: "" },
|
|
471
|
+
cameraCodeField: { default: "monitoring_id" },
|
|
472
|
+
streamProxyPrefix: { default: "/proxyApi-camera" },
|
|
473
|
+
streamProxyTarget: { default: "http://58.59.29.51:11014" },
|
|
474
|
+
streamProxyEnabled: {
|
|
475
|
+
type: Boolean,
|
|
476
|
+
default: !0
|
|
477
|
+
},
|
|
478
|
+
playType: { default: "海洋" }
|
|
479
|
+
},
|
|
480
|
+
emits: [
|
|
481
|
+
"close",
|
|
482
|
+
"play",
|
|
483
|
+
"addMarker",
|
|
484
|
+
"clearMarker"
|
|
485
|
+
],
|
|
486
|
+
setup(e, { emit: t }) {
|
|
487
|
+
let o = _()?.appContext.config.globalProperties.$bus, s = e, g = t;
|
|
488
|
+
S([]);
|
|
489
|
+
let O = S({
|
|
490
|
+
title: "",
|
|
491
|
+
list: []
|
|
492
|
+
}), k = S("all"), A = S(""), j = S(""), M = S(!1), N = S(null), P = S(""), F = S(!1), I = S(""), R = S(null), z = S(null), B = S(null), V = S(!1), Me = u(() => s.title || O.value.title || "实景监控"), H = u(() => s.list.length ? s.list : O.value.list), Ne = u(() => {
|
|
493
|
+
let e = /* @__PURE__ */ new Map();
|
|
494
|
+
return e.set("all", "全部"), H.value.forEach((t) => {
|
|
495
|
+
t.location && !e.has(t.location) && e.set(t.location, t.location);
|
|
496
|
+
}), Array.from(e.entries()).map(([e, t]) => ({
|
|
497
|
+
value: e,
|
|
498
|
+
label: t
|
|
499
|
+
}));
|
|
500
|
+
}), U = u(() => {
|
|
501
|
+
let e = H.value;
|
|
502
|
+
k.value !== "all" && (e = e.filter((e) => e.location === k.value));
|
|
503
|
+
let t = j.value.trim().toLowerCase();
|
|
504
|
+
return t && (e = e.filter((e) => e.name.toLowerCase().includes(t))), e;
|
|
505
|
+
}), W = () => {
|
|
506
|
+
j.value = A.value;
|
|
507
|
+
}, Pe = (e) => /^https?:\/\//i.test(e), Fe = (e) => {
|
|
508
|
+
if (!e) return "";
|
|
509
|
+
if (Pe(e)) return e;
|
|
510
|
+
let t = s.baseHttp || "";
|
|
511
|
+
return `${t}${t && !t.endsWith("/") && !e.startsWith("/") ? "/" : ""}${e}`;
|
|
512
|
+
}, Ie = () => {
|
|
513
|
+
if (z.value) {
|
|
514
|
+
try {
|
|
515
|
+
z.value.pause(), z.value.unload(), z.value.detachMediaElement(), z.value.destroy();
|
|
516
|
+
} catch (e) {
|
|
517
|
+
console.warn("HdCameraList 销毁 flv 播放器失败", e);
|
|
518
|
+
}
|
|
519
|
+
z.value = null;
|
|
520
|
+
}
|
|
521
|
+
}, Le = () => {
|
|
522
|
+
if (B.value) {
|
|
523
|
+
try {
|
|
524
|
+
B.value.destroy();
|
|
525
|
+
} catch (e) {
|
|
526
|
+
console.warn("HdCameraList 销毁 hls 播放器失败", e);
|
|
527
|
+
}
|
|
528
|
+
B.value = null;
|
|
529
|
+
}
|
|
530
|
+
}, G = () => {
|
|
531
|
+
Ie(), Le(), R.value && (R.value.pause(), R.value.removeAttribute("src"), R.value.load());
|
|
532
|
+
}, K = (e) => {
|
|
533
|
+
if (!s.streamProxyEnabled || !e || !s.streamProxyPrefix || !s.streamProxyTarget) return console.log("[HdCameraList] proxyStreamUrl skip", {
|
|
534
|
+
enabled: s.streamProxyEnabled,
|
|
535
|
+
url: e,
|
|
536
|
+
prefix: s.streamProxyPrefix,
|
|
537
|
+
target: s.streamProxyTarget
|
|
538
|
+
}), e;
|
|
539
|
+
try {
|
|
540
|
+
let t = new URL(s.streamProxyTarget), n = new URL(e);
|
|
541
|
+
if (n.host === t.host) {
|
|
542
|
+
let t = `${s.streamProxyPrefix}${n.pathname}${n.search}`;
|
|
543
|
+
return console.log("[HdCameraList] proxyStreamUrl rewrite", e, "->", t), t;
|
|
544
|
+
}
|
|
545
|
+
} catch {
|
|
546
|
+
if (e.startsWith(s.streamProxyTarget)) {
|
|
547
|
+
let t = e.replace(s.streamProxyTarget, s.streamProxyPrefix);
|
|
548
|
+
return console.log("[HdCameraList] proxyStreamUrl rewrite fallback", e, "->", t), t;
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
return console.log("[HdCameraList] proxyStreamUrl no match", e, s.streamProxyTarget), e;
|
|
552
|
+
}, Re = (e) => {
|
|
553
|
+
let t = e.toLowerCase();
|
|
554
|
+
return t.includes(".m3u8") || t.includes("/hls/") || t.includes("application/x-mpegurl");
|
|
555
|
+
}, ze = (e) => {
|
|
556
|
+
if (R.value) {
|
|
557
|
+
G();
|
|
558
|
+
try {
|
|
559
|
+
let t = K(e);
|
|
560
|
+
a.isSupported() ? (B.value = new a({ liveDurationInfinity: !0 }), B.value.loadSource(t), B.value.attachMedia(R.value), B.value.on(a.Events.MANIFEST_PARSED, () => {
|
|
561
|
+
R.value?.play().catch(() => {});
|
|
562
|
+
}), B.value.on(a.Events.ERROR, (e, t) => {
|
|
563
|
+
console.error("[HdCameraList] hls error", t), t.fatal && (I.value = "HLS 视频流播放失败");
|
|
564
|
+
})) : R.value.canPlayType("application/vnd.apple.mpegurl") ? (R.value.src = t, R.value.play().catch(() => {})) : I.value = "当前浏览器不支持 HLS 视频播放";
|
|
565
|
+
} catch (e) {
|
|
566
|
+
I.value = "HLS 播放器初始化失败", console.error("HdCameraList hls 播放器初始化失败", e);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}, Be = (e) => {
|
|
570
|
+
if (R.value) {
|
|
571
|
+
if (!L.default.isSupported()) {
|
|
572
|
+
I.value = "当前浏览器不支持 FLV 视频播放";
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
575
|
+
G();
|
|
576
|
+
try {
|
|
577
|
+
let t = K(e);
|
|
578
|
+
console.log("[HdCameraList] try http flv", t), z.value = L.default.createPlayer({
|
|
579
|
+
type: "flv",
|
|
580
|
+
url: t,
|
|
581
|
+
isLive: !0,
|
|
582
|
+
hasVideo: !0,
|
|
583
|
+
hasAudio: !1
|
|
584
|
+
}, {
|
|
585
|
+
enableWorker: !1,
|
|
586
|
+
reuseRedirectedURL: !0,
|
|
587
|
+
enableStashBuffer: !1,
|
|
588
|
+
stashInitialSize: 1280,
|
|
589
|
+
autoCleanupSourceBuffer: !0,
|
|
590
|
+
customLoader: ce
|
|
591
|
+
}), z.value.attachMediaElement(R.value), z.value.load(), z.value.play().catch(() => {}), z.value.on(L.default.Events.ERROR, (e, t, n) => {
|
|
592
|
+
console.error("[HdCameraList] http flv error", e, t, n), I.value = "FLV 视频流播放失败";
|
|
593
|
+
});
|
|
594
|
+
} catch (e) {
|
|
595
|
+
I.value = "视频播放器初始化失败", console.error("HdCameraList flv 播放器初始化失败", e);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}, Ve = (e) => {
|
|
599
|
+
Re(e) ? ze(e) : Be(e);
|
|
600
|
+
}, He = (e) => {
|
|
601
|
+
let t = Z(e), n = t?.data ?? t;
|
|
602
|
+
if (!n || typeof n != "object") return "";
|
|
603
|
+
let r = n.flv || n.flvUrl || n.flv_url || "";
|
|
604
|
+
return r ? String(r) : Object.values(n).find((e) => typeof e == "string" && /^rtmp:/i.test(e)) || "";
|
|
605
|
+
}, Ue = async (e) => {
|
|
606
|
+
let t = s.ids?.camera;
|
|
607
|
+
if (!t?.id) throw Error("缺少摄像头流工作流配置");
|
|
608
|
+
let n = e[s.cameraCodeField] ?? e.monitoring_id, i = {
|
|
609
|
+
reqParams: String(n),
|
|
610
|
+
url: s.httpUrl || "https://xha.qdlimap.com:3030/xhayg/rest/videos/getVedioUrl",
|
|
611
|
+
serviceTypeID: s.serviceTypeID
|
|
612
|
+
};
|
|
613
|
+
s.cameraApiUrl && (i.url = s.cameraApiUrl);
|
|
614
|
+
let a = He(await r({
|
|
615
|
+
id: t.id,
|
|
616
|
+
baseHttp: s.baseHttp,
|
|
617
|
+
reqType: t.reqType,
|
|
618
|
+
variables: i,
|
|
619
|
+
isFormData: t.isFormData,
|
|
620
|
+
appKey: s.appKey,
|
|
621
|
+
appSalt: s.appSalt
|
|
622
|
+
}));
|
|
623
|
+
if (!a) throw Error("未获取到视频流地址");
|
|
624
|
+
return a;
|
|
625
|
+
}, q = async (e) => {
|
|
626
|
+
N.value = e, P.value = "", I.value = "", F.value = !0, M.value = !0, g("play", e);
|
|
627
|
+
try {
|
|
628
|
+
let t = "";
|
|
629
|
+
if (s.playType === "农业" && e.videoUrl) t = e.videoUrl;
|
|
630
|
+
else if (e.streamUrl) t = Fe(e.streamUrl);
|
|
631
|
+
else if (s.playType === "农业" && e.previewpic) {
|
|
632
|
+
let { videoUrl: n } = Q(e.previewpic);
|
|
633
|
+
t = n;
|
|
634
|
+
} else t = await Ue(e);
|
|
635
|
+
if (!t) throw Error("未获取到视频流地址");
|
|
636
|
+
P.value = t, await v(), Ve(t);
|
|
637
|
+
} catch (e) {
|
|
638
|
+
I.value = e?.message || "视频流加载失败", console.error("HdCameraList 加载视频流失败", e);
|
|
639
|
+
} finally {
|
|
640
|
+
F.value = !1;
|
|
641
|
+
}
|
|
642
|
+
}, J = () => {
|
|
643
|
+
G(), M.value = !1, N.value = null, P.value = "", I.value = "";
|
|
644
|
+
}, We = () => {
|
|
645
|
+
g("close", "HdCameraList", Y());
|
|
646
|
+
}, Ge = (e) => {
|
|
647
|
+
console.log(e, "row"), q(e);
|
|
648
|
+
}, Y = () => {
|
|
649
|
+
g("clearMarker", "hdCamera");
|
|
650
|
+
}, X = () => {
|
|
651
|
+
let e = H.value.filter((e) => e.lat && e.lon);
|
|
652
|
+
if (!e.length) {
|
|
653
|
+
console.warn("HdCameraList 没有有效经纬度数据,跳过绘制");
|
|
654
|
+
return;
|
|
655
|
+
}
|
|
656
|
+
let t = e.map((e) => {
|
|
657
|
+
let t = ["宝山农高蓝莓产业园摄像头", "大村农高蓝莓产业园摄像头"].includes(e.name);
|
|
658
|
+
return {
|
|
659
|
+
...e,
|
|
660
|
+
name: e.name.replace("摄像头", ""),
|
|
661
|
+
cameraImage: t ? i : n
|
|
662
|
+
};
|
|
663
|
+
}), r = {
|
|
664
|
+
clickOpen: !0,
|
|
665
|
+
spotObject: [{
|
|
666
|
+
offsetX: -12,
|
|
667
|
+
offsetY: -12,
|
|
668
|
+
spotArrone: [],
|
|
669
|
+
minZoom: 6
|
|
670
|
+
}],
|
|
671
|
+
drawArrObj: [],
|
|
672
|
+
onlyLayerID: "hdCamera"
|
|
673
|
+
};
|
|
674
|
+
t.forEach((e) => {
|
|
675
|
+
let t = `
|
|
676
|
+
<div data-markerId="camera-${e.id}" class="hd-camera-marker" style="position:relative;display:inline-block;width:24px;height:24px;">
|
|
677
|
+
<img src="${e.cameraImage}" alt="摄像头" style="width:24px;height:24px;display:block;cursor:pointer;" title="${e.name}" />
|
|
678
|
+
<!--
|
|
679
|
+
<div class="hd-camera-marker-content" style="position:absolute;top:0;left:100%;margin-left:4px;white-space:nowrap;">
|
|
680
|
+
<div class="hd-camera-marker-title" style="color:black;font-weight:bold;font-size:12px;line-height:1.4;text-shadow:0 1px white, 1px 0 white, -1px 0 white, 0 -1px white;">${e.name}</div>
|
|
681
|
+
</div>
|
|
682
|
+
-->
|
|
683
|
+
</div>
|
|
684
|
+
`;
|
|
685
|
+
r.spotObject[0].spotArrone.push({
|
|
686
|
+
lng: Number(e.lon),
|
|
687
|
+
lat: Number(e.lat),
|
|
688
|
+
htmlString: t,
|
|
689
|
+
data: e,
|
|
690
|
+
otherData: { markId: "hdCamera" }
|
|
691
|
+
});
|
|
692
|
+
}), g("addMarker", {
|
|
693
|
+
mapMarker: r,
|
|
694
|
+
removeMarker: "hdCamera"
|
|
695
|
+
});
|
|
696
|
+
}, Z = (e) => {
|
|
697
|
+
if (!e) return null;
|
|
698
|
+
let t = null;
|
|
699
|
+
if (t = e.data === void 0 ? e.result === void 0 ? e : e.result : e.data?.result?.output === void 0 ? e.data?.result === void 0 ? e.data : e.data.result : e.data.result.output, typeof t == "string") try {
|
|
700
|
+
t = JSON.parse(t);
|
|
701
|
+
} catch (e) {
|
|
702
|
+
console.warn("HdCameraList 接口返回非 JSON 字符串", e);
|
|
703
|
+
}
|
|
704
|
+
return t;
|
|
705
|
+
}, Ke = async () => {
|
|
706
|
+
let e = s.ids.data;
|
|
707
|
+
if (!e?.id) {
|
|
708
|
+
console.warn("HdCameraList 缺少数据工作流配置");
|
|
709
|
+
return;
|
|
710
|
+
}
|
|
711
|
+
try {
|
|
712
|
+
let t = Z(await r({
|
|
713
|
+
id: e.id,
|
|
714
|
+
baseHttp: s.baseHttp,
|
|
715
|
+
reqType: e.reqType,
|
|
716
|
+
variables: { serviceTypeID: s.serviceTypeID },
|
|
717
|
+
isFormData: e.isFormData,
|
|
718
|
+
appKey: s.appKey,
|
|
719
|
+
appSalt: s.appSalt
|
|
720
|
+
}));
|
|
721
|
+
console.log(t, "output");
|
|
722
|
+
let n = qe(t);
|
|
723
|
+
O.value = {
|
|
724
|
+
title: t?.title || "",
|
|
725
|
+
list: n.map((e) => Je(e))
|
|
726
|
+
};
|
|
727
|
+
} catch (e) {
|
|
728
|
+
console.error("HdCameraList 加载失败", e);
|
|
729
|
+
}
|
|
730
|
+
}, qe = (e) => e ? Array.isArray(e) ? e : Array.isArray(e.list) ? e.list : Array.isArray(e.ds) ? e.ds : Array.isArray(e.data) ? e.data : [] : [], Q = (e) => {
|
|
731
|
+
if (!e) return {
|
|
732
|
+
picUrl: "",
|
|
733
|
+
videoUrl: ""
|
|
734
|
+
};
|
|
735
|
+
let t = e.split(",").map((e) => e.trim()).filter(Boolean), n = "", r = "";
|
|
736
|
+
return t.forEach((e) => {
|
|
737
|
+
let t = e.toLowerCase();
|
|
738
|
+
t.includes(".m3u8") || t.includes("/hls/") ? r ||= e : n ||= e;
|
|
739
|
+
}), {
|
|
740
|
+
picUrl: n,
|
|
741
|
+
videoUrl: r
|
|
742
|
+
};
|
|
743
|
+
}, Je = (e) => {
|
|
744
|
+
let t = e.id ?? e.monitoring_id ?? Math.random().toString(36).slice(2), n = e.monitoring_id ?? e.id ?? "", r = e.cameranum ?? e.name ?? e.cameraName ?? e.camera_name ?? e.title ?? `摄像头${t}`, i = e.jobSiteName ?? e.location ?? e.areaName ?? e.area_name ?? e.region ?? e.address ?? "", { picUrl: a, videoUrl: o } = Q(e.previewpic ?? e.thumbnail ?? e.pic ?? e.image ?? "");
|
|
745
|
+
return {
|
|
746
|
+
id: t,
|
|
747
|
+
monitoring_id: n,
|
|
748
|
+
name: r,
|
|
749
|
+
location: i,
|
|
750
|
+
previewpic: a,
|
|
751
|
+
videoUrl: o,
|
|
752
|
+
streamUrl: e.streamUrl ?? e.url ?? e.stream_url ?? e.videoUrl ?? e.video_url ?? e.rtmp ?? "",
|
|
753
|
+
lat: e.lat === void 0 ? void 0 : Number(e.lat),
|
|
754
|
+
lon: e.lon === void 0 ? void 0 : Number(e.lon)
|
|
755
|
+
};
|
|
756
|
+
}, $ = async () => {
|
|
757
|
+
await Ke(), V.value && X();
|
|
758
|
+
};
|
|
759
|
+
E(V, (e) => {
|
|
760
|
+
e ? X() : Y();
|
|
761
|
+
});
|
|
762
|
+
let Ye = !1, Xe = () => {
|
|
763
|
+
Ye ||= (document.addEventListener("click", (e) => {
|
|
764
|
+
let t = e.target.closest(".hd-camera-marker");
|
|
765
|
+
if (!t) return;
|
|
766
|
+
e.stopPropagation();
|
|
767
|
+
let n = t.getAttribute("data-markerId")?.replace("camera-", "") || "", r = O.value.list.find((e) => e.id == n);
|
|
768
|
+
r && Ge(r);
|
|
769
|
+
}), !0);
|
|
770
|
+
};
|
|
771
|
+
return y(() => {
|
|
772
|
+
Xe(), o?.on("toComponent", (e) => {
|
|
773
|
+
e.componentName === "HdCameraList" && ($(), X());
|
|
774
|
+
}), $();
|
|
775
|
+
}), b(() => {
|
|
776
|
+
Y();
|
|
777
|
+
}), (e, t) => (x(), p("div", le, [
|
|
778
|
+
m("button", {
|
|
779
|
+
class: "HdCameraList-close",
|
|
780
|
+
onClick: We
|
|
781
|
+
}, [...t[3] ||= [m("span", null, "✕", -1)]]),
|
|
782
|
+
m("div", ue, [m("div", de, [m("h3", fe, w(Me.value), 1), m("label", pe, [D(m("input", {
|
|
783
|
+
"onUpdate:modelValue": t[0] ||= (e) => V.value = e,
|
|
784
|
+
type: "checkbox"
|
|
785
|
+
}, null, 512), [[ee, V.value]]), t[4] ||= m("span", null, "地图标记", -1)])]), t[5] ||= m("img", {
|
|
786
|
+
class: "HdCameraList-headerLine",
|
|
787
|
+
src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbsAAAASBAMAAAAwI22/AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAwUExURQAAAAem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/wem/5bu5GYAAAAPdFJOUwAFwAwc2M8ULQYDn/hGXGnV2UoAAAGZSURBVEjH7ZM/S8NAGId/JYGmmeLspptThurk0CHWRXGo0Nk/S50y6CYSHMRF7Efo4uQXEIpbwUnM6OhnEIeChXjv5ZLLXdLtLCX68vDCe0eGJ7/3AJN1VcL+UImB/SruVJwYTqSAW5V3LLyaPR1c+IIdH12OPZiLcyTAjccZEdccZ0Nn4bXpC3KpCuFu5tkdziX3FJxBSBZZdFk9HempCduMk4xSitJTpOgJSSIPrx10YAUB0tYOwrQ1g12k7ZyODIYXZmQpppLV26rtbDFOXVhua2Fn7WTWwUEyAe5Zc2hiLWTTC3jjk8Hw+jrSM9/Z8raKOAtZVmyr9jbpee4lU9hvSUStw6YvOpqwiXlK9d8IL0Oq5tuqvc3KLMs7q9uyCC0y22aKvDVp4u2SjnJ1c+Wecg7h9gV4CFV8NHpEaw7yF2wVGcIa6OBx/Ax3PI6pRWx6Am98alBbpSODNVTxgAbQUpF3KeVv0s80xMUow8N//YVaqWEV9BJDdby2PBUZ1/te0uU0YzeLa623jjrrvaLOep/+str9ACyAtv25BhHcAAAAAElFTkSuQmCC",
|
|
788
|
+
alt: ""
|
|
789
|
+
}, null, -1)]),
|
|
790
|
+
m("div", me, [
|
|
791
|
+
h(T(se), {
|
|
792
|
+
modelValue: k.value,
|
|
793
|
+
"onUpdate:modelValue": t[1] ||= (e) => k.value = e,
|
|
794
|
+
class: "HdCameraList-select",
|
|
795
|
+
size: "small",
|
|
796
|
+
"popper-class": "HdCameraList-selectPopper",
|
|
797
|
+
placeholder: "全部",
|
|
798
|
+
onChange: W
|
|
799
|
+
}, {
|
|
800
|
+
default: re(() => [(x(!0), p(c, null, C(Ne.value, (e) => (x(), d(T(oe), {
|
|
801
|
+
key: e.value,
|
|
802
|
+
label: e.label,
|
|
803
|
+
value: e.value
|
|
804
|
+
}, null, 8, ["label", "value"]))), 128))]),
|
|
805
|
+
_: 1
|
|
806
|
+
}, 8, ["modelValue"]),
|
|
807
|
+
m("div", he, [D(m("input", {
|
|
808
|
+
"onUpdate:modelValue": t[2] ||= (e) => A.value = e,
|
|
809
|
+
type: "text",
|
|
810
|
+
class: "HdCameraList-searchInput",
|
|
811
|
+
placeholder: "搜索摄像头",
|
|
812
|
+
onKeyup: ie(W, ["enter"])
|
|
813
|
+
}, null, 544), [[te, A.value]]), (x(), p("svg", {
|
|
814
|
+
class: "HdCameraList-searchIcon",
|
|
815
|
+
viewBox: "0 0 24 24",
|
|
816
|
+
width: "14",
|
|
817
|
+
height: "14",
|
|
818
|
+
onClick: W
|
|
819
|
+
}, [...t[6] ||= [m("circle", {
|
|
820
|
+
cx: "11",
|
|
821
|
+
cy: "11",
|
|
822
|
+
r: "7",
|
|
823
|
+
fill: "none",
|
|
824
|
+
stroke: "currentColor",
|
|
825
|
+
"stroke-width": "1.5"
|
|
826
|
+
}, null, -1), m("path", {
|
|
827
|
+
d: "M16 16 L20 20",
|
|
828
|
+
fill: "none",
|
|
829
|
+
stroke: "currentColor",
|
|
830
|
+
"stroke-width": "1.5",
|
|
831
|
+
"stroke-linecap": "round"
|
|
832
|
+
}, null, -1)]]))]),
|
|
833
|
+
m("span", ge, "共 " + w(U.value.length) + " 路", 1)
|
|
834
|
+
]),
|
|
835
|
+
m("div", _e, [(x(!0), p(c, null, C(U.value, (e) => (x(), p("div", {
|
|
836
|
+
key: e.id,
|
|
837
|
+
class: "HdCameraList-item",
|
|
838
|
+
onClick: (t) => q(e)
|
|
839
|
+
}, [
|
|
840
|
+
m("div", ye, [e.previewpic ? (x(), p("img", {
|
|
841
|
+
key: 0,
|
|
842
|
+
src: e.previewpic,
|
|
843
|
+
alt: ""
|
|
844
|
+
}, null, 8, be)) : (x(), p("div", xe, [...t[7] ||= [m("svg", {
|
|
845
|
+
viewBox: "0 0 24 24",
|
|
846
|
+
width: "20",
|
|
847
|
+
height: "20"
|
|
848
|
+
}, [
|
|
849
|
+
m("rect", {
|
|
850
|
+
x: "2",
|
|
851
|
+
y: "6",
|
|
852
|
+
width: "20",
|
|
853
|
+
height: "12",
|
|
854
|
+
rx: "2",
|
|
855
|
+
fill: "none",
|
|
856
|
+
stroke: "currentColor",
|
|
857
|
+
"stroke-width": "1.5"
|
|
858
|
+
}),
|
|
859
|
+
m("circle", {
|
|
860
|
+
cx: "12",
|
|
861
|
+
cy: "12",
|
|
862
|
+
r: "3",
|
|
863
|
+
fill: "none",
|
|
864
|
+
stroke: "currentColor",
|
|
865
|
+
"stroke-width": "1.5"
|
|
866
|
+
}),
|
|
867
|
+
m("circle", {
|
|
868
|
+
cx: "12",
|
|
869
|
+
cy: "12",
|
|
870
|
+
r: "1",
|
|
871
|
+
fill: "currentColor"
|
|
872
|
+
})
|
|
873
|
+
], -1)]]))]),
|
|
874
|
+
m("div", Se, [m("div", {
|
|
875
|
+
class: "HdCameraList-name",
|
|
876
|
+
title: e.name
|
|
877
|
+
}, w(e.name), 9, Ce), e.location ? (x(), p("div", we, w(e.location), 1)) : f("", !0)]),
|
|
878
|
+
t[8] ||= m("div", { class: "HdCameraList-play" }, [m("svg", {
|
|
879
|
+
viewBox: "0 0 24 24",
|
|
880
|
+
width: "18",
|
|
881
|
+
height: "18"
|
|
882
|
+
}, [m("circle", {
|
|
883
|
+
cx: "12",
|
|
884
|
+
cy: "12",
|
|
885
|
+
r: "10",
|
|
886
|
+
fill: "none",
|
|
887
|
+
stroke: "currentColor",
|
|
888
|
+
"stroke-width": "1.5"
|
|
889
|
+
}), m("polygon", {
|
|
890
|
+
points: "10 8 16 12 10 16",
|
|
891
|
+
fill: "currentColor"
|
|
892
|
+
})])], -1)
|
|
893
|
+
], 8, ve))), 128)), U.value.length ? f("", !0) : (x(), p("div", Te, "暂无摄像头"))]),
|
|
894
|
+
(x(), d(l, { to: "body" }, [M.value ? (x(), p("div", {
|
|
895
|
+
key: 0,
|
|
896
|
+
class: "HdCameraList-mask",
|
|
897
|
+
onClick: ae(J, ["self"])
|
|
898
|
+
}, [m("div", Ee, [m("div", De, [
|
|
899
|
+
t[10] ||= m("i", { class: "HdCameraList-playerHeadBar" }, null, -1),
|
|
900
|
+
m("span", Oe, w(N.value?.name), 1),
|
|
901
|
+
m("button", {
|
|
902
|
+
class: "HdCameraList-playerClose",
|
|
903
|
+
onClick: J
|
|
904
|
+
}, [...t[9] ||= [m("span", null, "✕", -1)]])
|
|
905
|
+
]), m("div", ke, [D(m("video", {
|
|
906
|
+
ref_key: "videoRef",
|
|
907
|
+
ref: R,
|
|
908
|
+
class: "HdCameraList-video",
|
|
909
|
+
controls: "",
|
|
910
|
+
autoplay: "",
|
|
911
|
+
playsinline: ""
|
|
912
|
+
}, null, 512), [[ne, !F.value && !I.value]]), F.value ? (x(), p("div", Ae, [...t[11] ||= [m("span", null, "视频加载中...", -1)]])) : I.value ? (x(), p("div", je, [m("span", null, w(I.value), 1)])) : f("", !0)])])])) : f("", !0)]))
|
|
913
|
+
]));
|
|
914
|
+
}
|
|
915
|
+
}), [["__scopeId", "data-v-002d015d"]]);
|
|
916
|
+
//#endregion
|
|
917
|
+
export { R as t };
|