@das-fed/ui 7.1.0-dev.11 → 7.1.0-dev.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,55 +1,55 @@
1
1
  import '@das-fed/ui/packages/business-components/video-dialog/style.css';
2
- import { getCurrentScope as ue, onScopeDispose as de, getCurrentInstance as ve, onMounted as te, nextTick as P, unref as l, ref as h, watch as F, defineComponent as D, useCssVars as pe, computed as T, createElementBlock as S, openBlock as p, normalizeClass as fe, renderSlot as oe, createCommentVNode as I, Fragment as H, renderList as me, createBlock as R, withCtx as k, withModifiers as _, createVNode as f, createElementVNode as m, toDisplayString as j, toRefs as Ce } from "vue";
3
- import { withInstall as ge } from "@das-fed/utils/with-install/index";
2
+ import { getCurrentScope as ue, onScopeDispose as de, getCurrentInstance as pe, onMounted as te, nextTick as x, unref as l, ref as w, watch as S, defineComponent as U, useCssVars as ve, computed as P, createElementBlock as z, openBlock as v, normalizeClass as fe, renderSlot as oe, createCommentVNode as I, Fragment as B, renderList as me, createBlock as R, withCtx as C, withModifiers as h, createVNode as f, createElementVNode as m, toDisplayString as j, toRefs as ge, mergeProps as Ce } from "vue";
3
+ import { withInstall as ye } from "@das-fed/utils/with-install/index";
4
4
  import { t as y, setI18nRule as ke } from "@das-fed/web/packages/i18n/index";
5
- import { DasDialog as ye } from "@das-fed/ui/packages/components/dialog/index";
6
- import { DasTooltip as w } from "@das-fed/ui/packages/components/tooltip/index";
7
- import { DasIconFullscreen2 as _e } from "@das-fed/ui/packages/icons/fullscreen-2/index";
8
- import { DasAutoRegisterIcon as he, DasIcon as $ } from "@das-fed/ui/packages/components/icon/index";
9
- import { DasLivePlayer as we } from "@das-fed/ui/packages/components/live-player/index";
10
- import { DasSpin as be } from "@das-fed/ui/packages/components/spin/index";
11
- import { DasHlsPlayer as Ie } from "@das-fed/ui/packages/components/hls-player/index";
12
- import Ee from "dayjs";
5
+ import { DasDialog as he } from "@das-fed/ui/packages/components/dialog/index";
6
+ import { DasTooltip as _ } from "@das-fed/ui/packages/components/tooltip/index";
7
+ import { DasIconFullscreen2 as we } from "@das-fed/ui/packages/icons/fullscreen-2/index";
8
+ import { DasAutoRegisterIcon as _e, DasIcon as $ } from "@das-fed/ui/packages/components/icon/index";
9
+ import { DasLivePlayer as be } from "@das-fed/ui/packages/components/live-player/index";
10
+ import { DasSpin as Ie } from "@das-fed/ui/packages/components/spin/index";
11
+ import { DasHlsPlayer as Ee } from "@das-fed/ui/packages/components/hls-player/index";
12
+ import Re from "dayjs";
13
13
  import { createService as M } from "@das-fed/utils/api-services/src/create-service";
14
- import { getProjectInfo as q, getToken as Re } from "@das-fed/utils/common-info";
14
+ import { getProjectInfo as q, getToken as Ne } from "@das-fed/utils/common-info";
15
15
  var G;
16
- const A = typeof window < "u", Ne = (t) => typeof t == "string", Fe = () => {
16
+ const A = typeof window < "u", Se = (t) => typeof t == "string", ze = () => {
17
17
  };
18
18
  A && ((G = window == null ? void 0 : window.navigator) != null && G.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
19
19
  function ne(t) {
20
20
  return typeof t == "function" ? t() : l(t);
21
21
  }
22
- function Se(t) {
22
+ function Fe(t) {
23
23
  return t;
24
24
  }
25
25
  function le(t) {
26
26
  return ue() ? (de(t), !0) : !1;
27
27
  }
28
28
  function Le(t, n = !0) {
29
- ve() ? te(t) : n ? t() : P(t);
29
+ pe() ? te(t) : n ? t() : x(t);
30
30
  }
31
31
  function ie(t) {
32
32
  var n;
33
33
  const e = ne(t);
34
34
  return (n = e == null ? void 0 : e.$el) != null ? n : e;
35
35
  }
36
- const Oe = A ? window : void 0, ze = A ? window.document : void 0;
36
+ const Oe = A ? window : void 0, Ue = A ? window.document : void 0;
37
37
  function De(...t) {
38
- let n, e, i, a;
39
- if (Ne(t[0]) || Array.isArray(t[0]) ? ([e, i, a] = t, n = Oe) : [n, e, i, a] = t, !n)
40
- return Fe;
38
+ let n, e, i, r;
39
+ if (Se(t[0]) || Array.isArray(t[0]) ? ([e, i, r] = t, n = Oe) : [n, e, i, r] = t, !n)
40
+ return ze;
41
41
  Array.isArray(e) || (e = [e]), Array.isArray(i) || (i = [i]);
42
- const o = [], s = () => {
43
- o.forEach((r) => r()), o.length = 0;
44
- }, C = (r, d, g, b) => (r.addEventListener(d, g, b), () => r.removeEventListener(d, g, b)), c = F(() => [ie(n), ne(a)], ([r, d]) => {
45
- s(), r && o.push(...e.flatMap((g) => i.map((b) => C(r, g, b, d))));
46
- }, { immediate: !0, flush: "post" }), u = () => {
47
- c(), s();
42
+ const o = [], c = () => {
43
+ o.forEach((a) => a()), o.length = 0;
44
+ }, g = (a, p, k, b) => (a.addEventListener(p, k, b), () => a.removeEventListener(p, k, b)), u = S(() => [ie(n), ne(r)], ([a, p]) => {
45
+ c(), a && o.push(...e.flatMap((k) => i.map((b) => g(a, k, b, p))));
46
+ }, { immediate: !0, flush: "post" }), s = () => {
47
+ u(), c();
48
48
  };
49
- return le(u), u;
49
+ return le(s), s;
50
50
  }
51
- function Ue(t, n = !1) {
52
- const e = h(), i = () => e.value = !!t();
51
+ function $e(t, n = !1) {
52
+ const e = w(), i = () => e.value = !!t();
53
53
  return i(), Le(i, n), e;
54
54
  }
55
55
  const W = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}, Y = "__vueuse_ssr_handlers__";
@@ -97,50 +97,50 @@ const Z = [
97
97
  ]
98
98
  ];
99
99
  function ae(t, n = {}) {
100
- const { document: e = ze, autoExit: i = !1 } = n, a = t || (e == null ? void 0 : e.querySelector("html")), o = h(!1);
101
- let s = Z[0];
102
- const C = Ue(() => {
100
+ const { document: e = Ue, autoExit: i = !1 } = n, r = t || (e == null ? void 0 : e.querySelector("html")), o = w(!1);
101
+ let c = Z[0];
102
+ const g = $e(() => {
103
103
  if (e) {
104
104
  for (const N of Z)
105
105
  if (N[1] in e)
106
- return s = N, !0;
106
+ return c = N, !0;
107
107
  } else
108
108
  return !1;
109
109
  return !1;
110
- }), [c, u, r, , d] = s;
111
- async function g() {
112
- C.value && (e != null && e[r] && await e[u](), o.value = !1);
110
+ }), [u, s, a, , p] = c;
111
+ async function k() {
112
+ g.value && (e != null && e[a] && await e[s](), o.value = !1);
113
113
  }
114
114
  async function b() {
115
- if (!C.value)
115
+ if (!g.value)
116
116
  return;
117
- await g();
118
- const N = ie(a);
119
- N && (await N[c](), o.value = !0);
117
+ await k();
118
+ const N = ie(r);
119
+ N && (await N[u](), o.value = !0);
120
120
  }
121
- async function L() {
122
- o.value ? await g() : await b();
121
+ async function F() {
122
+ o.value ? await k() : await b();
123
123
  }
124
- return e && De(e, d, () => {
125
- o.value = !!(e != null && e[r]);
126
- }, !1), i && le(g), {
127
- isSupported: C,
124
+ return e && De(e, p, () => {
125
+ o.value = !!(e != null && e[a]);
126
+ }, !1), i && le(k), {
127
+ isSupported: g,
128
128
  isFullscreen: o,
129
129
  enter: b,
130
- exit: g,
131
- toggle: L
130
+ exit: k,
131
+ toggle: F
132
132
  };
133
133
  }
134
134
  var K;
135
135
  (function(t) {
136
136
  t.UP = "UP", t.RIGHT = "RIGHT", t.DOWN = "DOWN", t.LEFT = "LEFT", t.NONE = "NONE";
137
137
  })(K || (K = {}));
138
- var $e = Object.defineProperty, X = Object.getOwnPropertySymbols, Pe = Object.prototype.hasOwnProperty, Te = Object.prototype.propertyIsEnumerable, J = (t, n, e) => n in t ? $e(t, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[n] = e, xe = (t, n) => {
138
+ var Pe = Object.defineProperty, X = Object.getOwnPropertySymbols, Te = Object.prototype.hasOwnProperty, xe = Object.prototype.propertyIsEnumerable, J = (t, n, e) => n in t ? Pe(t, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[n] = e, Be = (t, n) => {
139
139
  for (var e in n || (n = {}))
140
- Pe.call(n, e) && J(t, e, n[e]);
140
+ Te.call(n, e) && J(t, e, n[e]);
141
141
  if (X)
142
142
  for (var e of X(n))
143
- Te.call(n, e) && J(t, e, n[e]);
143
+ xe.call(n, e) && J(t, e, n[e]);
144
144
  return t;
145
145
  };
146
146
  const He = {
@@ -169,10 +169,10 @@ const He = {
169
169
  easeOutBack: [0.34, 1.56, 0.64, 1],
170
170
  easeInOutBack: [0.68, -0.6, 0.32, 1.6]
171
171
  };
172
- xe({
173
- linear: Se
172
+ Be({
173
+ linear: Fe
174
174
  }, He);
175
- const Be = /* @__PURE__ */ D({
175
+ const Ve = /* @__PURE__ */ U({
176
176
  __name: "GridItem",
177
177
  props: {
178
178
  active: { type: Boolean },
@@ -180,38 +180,36 @@ const Be = /* @__PURE__ */ D({
180
180
  },
181
181
  emits: ["itemClick"],
182
182
  setup(t, { emit: n }) {
183
- pe((r) => ({
184
- "9b3a2c32": u.value
183
+ ve((s) => ({
184
+ a769b0be: u.value
185
185
  }));
186
- const e = t, i = n, a = h(), { toggle: o, isFullscreen: s } = ae(a), C = () => {
187
- a.value != document.fullscreenElement && (s.value ? (s.value = !1, P(() => {
188
- o();
189
- })) : o());
190
- }, c = () => {
186
+ const e = t, i = n, r = w(), { toggle: o } = ae(r), c = () => {
187
+ o();
188
+ }, g = () => {
191
189
  i("itemClick");
192
- }, u = T(() => `calc(100% / ${Math.sqrt(e.gridNum)})`);
193
- return (r, d) => (p(), S(
190
+ }, u = P(() => `calc(100% / ${Math.sqrt(e.gridNum)})`);
191
+ return (s, a) => (v(), z(
194
192
  "div",
195
193
  {
196
194
  ref_key: "containerRef",
197
- ref: a,
195
+ ref: r,
198
196
  class: fe(["wrapper", { "is-active": e.active }]),
199
- onDblclick: d[0] || (d[0] = (g) => C()),
200
- onClick: d[1] || (d[1] = (g) => c())
197
+ onDblclick: a[0] || (a[0] = (p) => c()),
198
+ onClick: a[1] || (a[1] = (p) => g())
201
199
  },
202
200
  [
203
- oe(r.$slots, "default", {}, void 0, !0)
201
+ oe(s.$slots, "default", {}, void 0, !0)
204
202
  ],
205
203
  34
206
204
  /* CLASS, NEED_HYDRATION */
207
205
  ));
208
206
  }
209
- }), B = (t, n) => {
207
+ }), H = (t, n) => {
210
208
  const e = t.__vccOpts || t;
211
- for (const [i, a] of n)
212
- e[i] = a;
209
+ for (const [i, r] of n)
210
+ e[i] = r;
213
211
  return e;
214
- }, Ve = /* @__PURE__ */ B(Be, [["__scopeId", "data-v-100b67ca"]]), je = { class: "layout-wrapper" }, Me = /* @__PURE__ */ D({
212
+ }, je = /* @__PURE__ */ H(Ve, [["__scopeId", "data-v-97d987a9"]]), Me = { class: "layout-wrapper" }, Ae = /* @__PURE__ */ U({
215
213
  __name: "GridLayout",
216
214
  props: {
217
215
  gridNum: {},
@@ -220,23 +218,23 @@ const Be = /* @__PURE__ */ D({
220
218
  },
221
219
  emits: ["update:activeIndex"],
222
220
  setup(t, { emit: n }) {
223
- const e = t, i = n, a = (o) => {
221
+ const e = t, i = n, r = (o) => {
224
222
  i("update:activeIndex", o);
225
223
  };
226
- return (o, s) => (p(), S("div", je, [
224
+ return (o, c) => (v(), z("div", Me, [
227
225
  I(' :active="index === activeIndex" '),
228
- (p(!0), S(
229
- H,
226
+ (v(!0), z(
227
+ B,
230
228
  null,
231
- me(e.gridNum, (C, c) => (p(), R(Ve, {
229
+ me(e.gridNum, (g, u) => (v(), R(je, {
232
230
  active: !1,
233
231
  "grid-num": e.gridNum,
234
- onItemClick: (u) => a(c)
232
+ onItemClick: (s) => r(u)
235
233
  }, {
236
- default: k(() => [
237
- o.showFn(c) ? oe(o.$slots, "default", {
234
+ default: C(() => [
235
+ o.showFn(u) ? oe(o.$slots, "default", {
238
236
  key: 0,
239
- index: c
237
+ index: u
240
238
  }, void 0, !0) : I("v-if", !0)
241
239
  ]),
242
240
  _: 2
@@ -247,123 +245,123 @@ const Be = /* @__PURE__ */ D({
247
245
  ))
248
246
  ]));
249
247
  }
250
- }), Ae = /* @__PURE__ */ B(Me, [["__scopeId", "data-v-661e2289"]]), Qe = /* @__PURE__ */ D({
248
+ }), Qe = /* @__PURE__ */ H(Ae, [["__scopeId", "data-v-661e2289"]]), qe = /* @__PURE__ */ U({
251
249
  __name: "DirectionControl",
252
250
  emits: ["change"],
253
251
  setup(t, { emit: n }) {
254
- const e = n, i = (a) => {
255
- e("change", a);
252
+ const e = n, i = (r) => {
253
+ e("change", r);
256
254
  };
257
- return (a, o) => (p(), S(
255
+ return (r, o) => (v(), z(
258
256
  "div",
259
257
  {
260
258
  class: "direction-control",
261
- onDblclick: o[9] || (o[9] = _((s) => s.stopPropagation(), ["stop"]))
259
+ onDblclick: o[9] || (o[9] = h((c) => c.stopPropagation(), ["stop"]))
262
260
  },
263
261
  [
264
- f(l(w), {
262
+ f(l(_), {
265
263
  content: l(y)("左上")
266
264
  }, {
267
- default: k(() => [
265
+ default: C(() => [
268
266
  m("div", {
269
267
  class: "icon icon-top-left",
270
- onClick: o[0] || (o[0] = _((s) => i("leftUp"), ["stop"]))
268
+ onClick: o[0] || (o[0] = h((c) => i("leftUp"), ["stop"]))
271
269
  })
272
270
  ]),
273
271
  _: 1
274
272
  /* STABLE */
275
273
  }, 8, ["content"]),
276
- f(l(w), {
274
+ f(l(_), {
277
275
  content: l(y)("上")
278
276
  }, {
279
- default: k(() => [
277
+ default: C(() => [
280
278
  m("div", {
281
279
  class: "icon icon-top",
282
- onClick: o[1] || (o[1] = _((s) => i("up"), ["stop"]))
280
+ onClick: o[1] || (o[1] = h((c) => i("up"), ["stop"]))
283
281
  })
284
282
  ]),
285
283
  _: 1
286
284
  /* STABLE */
287
285
  }, 8, ["content"]),
288
- f(l(w), {
286
+ f(l(_), {
289
287
  content: l(y)("右上")
290
288
  }, {
291
- default: k(() => [
289
+ default: C(() => [
292
290
  m("div", {
293
291
  class: "icon icon-top-right",
294
- onClick: o[2] || (o[2] = _((s) => i("rightUp"), ["stop"]))
292
+ onClick: o[2] || (o[2] = h((c) => i("rightUp"), ["stop"]))
295
293
  })
296
294
  ]),
297
295
  _: 1
298
296
  /* STABLE */
299
297
  }, 8, ["content"]),
300
- f(l(w), {
298
+ f(l(_), {
301
299
  content: l(y)("左")
302
300
  }, {
303
- default: k(() => [
301
+ default: C(() => [
304
302
  m("div", {
305
303
  class: "icon icon-left",
306
- onClick: o[3] || (o[3] = _((s) => i("left"), ["stop"]))
304
+ onClick: o[3] || (o[3] = h((c) => i("left"), ["stop"]))
307
305
  })
308
306
  ]),
309
307
  _: 1
310
308
  /* STABLE */
311
309
  }, 8, ["content"]),
312
- f(l(w), {
310
+ f(l(_), {
313
311
  content: l(y)("自动")
314
312
  }, {
315
- default: k(() => [
313
+ default: C(() => [
316
314
  m("div", {
317
315
  class: "icon icon-auto",
318
- onClick: o[4] || (o[4] = _((s) => i("auto"), ["stop"]))
316
+ onClick: o[4] || (o[4] = h((c) => i("auto"), ["stop"]))
319
317
  })
320
318
  ]),
321
319
  _: 1
322
320
  /* STABLE */
323
321
  }, 8, ["content"]),
324
- f(l(w), {
322
+ f(l(_), {
325
323
  content: l(y)("右")
326
324
  }, {
327
- default: k(() => [
325
+ default: C(() => [
328
326
  m("div", {
329
327
  class: "icon icon-right",
330
- onClick: o[5] || (o[5] = _((s) => i("right"), ["stop"]))
328
+ onClick: o[5] || (o[5] = h((c) => i("right"), ["stop"]))
331
329
  })
332
330
  ]),
333
331
  _: 1
334
332
  /* STABLE */
335
333
  }, 8, ["content"]),
336
- f(l(w), {
334
+ f(l(_), {
337
335
  content: l(y)("左下")
338
336
  }, {
339
- default: k(() => [
337
+ default: C(() => [
340
338
  m("div", {
341
339
  class: "icon icon-bottom-left",
342
- onClick: o[6] || (o[6] = _((s) => i("leftDown"), ["stop"]))
340
+ onClick: o[6] || (o[6] = h((c) => i("leftDown"), ["stop"]))
343
341
  })
344
342
  ]),
345
343
  _: 1
346
344
  /* STABLE */
347
345
  }, 8, ["content"]),
348
- f(l(w), {
346
+ f(l(_), {
349
347
  content: l(y)("下")
350
348
  }, {
351
- default: k(() => [
349
+ default: C(() => [
352
350
  m("div", {
353
351
  class: "icon icon-bottom",
354
- onClick: o[7] || (o[7] = _((s) => i("down"), ["stop"]))
352
+ onClick: o[7] || (o[7] = h((c) => i("down"), ["stop"]))
355
353
  })
356
354
  ]),
357
355
  _: 1
358
356
  /* STABLE */
359
357
  }, 8, ["content"]),
360
- f(l(w), {
358
+ f(l(_), {
361
359
  content: l(y)("右下")
362
360
  }, {
363
- default: k(() => [
361
+ default: C(() => [
364
362
  m("div", {
365
363
  class: "icon icon-bottom-right",
366
- onClick: o[8] || (o[8] = _((s) => i("rightDown"), ["stop"]))
364
+ onClick: o[8] || (o[8] = h((c) => i("rightDown"), ["stop"]))
367
365
  })
368
366
  ]),
369
367
  _: 1
@@ -374,10 +372,10 @@ const Be = /* @__PURE__ */ D({
374
372
  /* NEED_HYDRATION */
375
373
  ));
376
374
  }
377
- }), qe = /* @__PURE__ */ B(Qe, [["__scopeId", "data-v-db2e8ec2"]]), Ge = { class: "video-wrapper" }, We = { class: "video-top" }, Ye = { class: "video-top_l" }, Ze = { class: "video-title-wrapper" }, Ke = { class: "video-title" }, Xe = { class: "video-top_r" }, Je = {
375
+ }), Ge = /* @__PURE__ */ H(qe, [["__scopeId", "data-v-db2e8ec2"]]), We = { class: "video-wrapper" }, Ye = { class: "video-top" }, Ze = { class: "video-top_l" }, Ke = { class: "video-title-wrapper" }, Xe = { class: "video-title" }, Je = { class: "video-top_r" }, et = {
378
376
  key: 0,
379
377
  class: "play-status"
380
- }, et = { class: "video-bottom" }, tt = { class: "video-bottom_r" }, ot = /* @__PURE__ */ D({
378
+ }, tt = { class: "video-bottom" }, ot = { class: "video-bottom_r" }, nt = /* @__PURE__ */ U({
381
379
  __name: "index",
382
380
  props: {
383
381
  videoUrl: {},
@@ -394,7 +392,7 @@ const Be = /* @__PURE__ */ D({
394
392
  emits: ["close", "directionControl", "zoomControl", "handleClick"],
395
393
  setup(t, { emit: n }) {
396
394
  const e = t, i = n;
397
- he({
395
+ _e({
398
396
  muted: import("@das-fed/ui/packages/icons/muted"),
399
397
  volume: import("@das-fed/ui/packages/icons/volume"),
400
398
  shrink: import("@das-fed/ui/packages/icons/shrink"),
@@ -402,97 +400,97 @@ const Be = /* @__PURE__ */ D({
402
400
  "direction-control": import("@das-fed/ui/packages/icons/direction-control"),
403
401
  screenshot: import("@das-fed/ui/packages/icons/screenshot")
404
402
  });
405
- const a = h(!0), o = h(), s = h(!1), C = h(), c = T(() => {
406
- var v;
407
- return (v = C.value) == null ? void 0 : v.video;
408
- }), u = h(!1), r = h(!0), d = (v) => {
409
- o.value = v, !e.isHls && o.value.on(window.mpegts.Events.ERROR, (E) => {
403
+ const r = w(!0), o = w(), c = w(!1), g = w(), u = P(() => {
404
+ var d;
405
+ return (d = g.value) == null ? void 0 : d.video;
406
+ }), s = w(!1), a = w(!0), p = (d) => {
407
+ o.value = d, !e.isHls && o.value.on(window.mpegts.Events.ERROR, (E) => {
410
408
  });
411
- }, g = () => {
412
- a.value = !a.value, i("handleClick", a.value ? "MUTE" : "UNMUTE"), o.value && (o.value.muted = a.value);
409
+ }, k = () => {
410
+ r.value = !r.value, i("handleClick", r.value ? "MUTE" : "UNMUTE"), o.value && (o.value.muted = r.value);
413
411
  }, b = () => {
414
- s.value = !s.value;
415
- }, L = h(""), N = () => {
416
- const v = document.createElement("canvas");
417
- if (i("handleClick", "SCREENSHOT"), c.value) {
418
- v.width = c.value.clientWidth, v.height = c.value.clientHeight;
419
- const E = v.getContext("2d");
420
- E == null || E.drawImage(c.value, 0, 0, v.width, v.height);
421
- const z = v.toDataURL("image/jpg"), ce = `【${e.title}】${Ee().format("YYYYMMDDHHmmss").toString()}.jpg`;
422
- if (L.value = z, "download" in document.createElement("a")) {
423
- const O = document.createElement("a");
424
- O.download = ce, O.style.display = "none", O.href = z, document.body.appendChild(O), document.body.appendChild(v), O.click(), URL.revokeObjectURL(O.href), document.body.removeChild(O), document.body.removeChild(v);
412
+ c.value = !c.value;
413
+ }, F = w(""), N = () => {
414
+ const d = document.createElement("canvas");
415
+ if (i("handleClick", "SCREENSHOT"), u.value) {
416
+ d.width = u.value.clientWidth, d.height = u.value.clientHeight;
417
+ const E = d.getContext("2d");
418
+ E == null || E.drawImage(u.value, 0, 0, d.width, d.height);
419
+ const O = d.toDataURL("image/jpg"), ce = `【${e.title}】${Re().format("YYYYMMDDHHmmss").toString()}.jpg`;
420
+ if (F.value = O, "download" in document.createElement("a")) {
421
+ const L = document.createElement("a");
422
+ L.download = ce, L.style.display = "none", L.href = O, document.body.appendChild(L), document.body.appendChild(d), L.click(), URL.revokeObjectURL(L.href), document.body.removeChild(L), document.body.removeChild(d);
425
423
  }
426
424
  }
427
- }, V = (v) => {
428
- i("directionControl", v);
429
- }, x = (v) => {
430
- i("zoomControl", v);
431
- }, U = (v) => e.authType.includes(v);
432
- return F(
433
- () => c.value,
425
+ }, V = (d) => {
426
+ i("directionControl", d);
427
+ }, T = (d) => {
428
+ i("zoomControl", d);
429
+ }, D = (d) => e.authType.includes(d);
430
+ return S(
431
+ () => u.value,
434
432
  () => {
435
- c.value && c.value.addEventListener("ended", () => {
436
- u.value = !0, e.type === "playback" && (r.value = !1);
433
+ u.value && u.value.addEventListener("ended", () => {
434
+ s.value = !0, e.type === "playback" && (a.value = !1);
437
435
  });
438
436
  }
439
- ), F(
440
- () => c.value,
437
+ ), S(
438
+ () => u.value,
441
439
  () => {
442
- c.value && P(() => {
443
- c.value.playbackRate = e.playbackRate || 1;
440
+ u.value && x(() => {
441
+ u.value.playbackRate = e.playbackRate || 1;
444
442
  });
445
443
  }
446
- ), F(
444
+ ), S(
447
445
  () => o.value,
448
446
  () => {
449
- o.value && P(() => {
450
- o.value.muted = a.value;
447
+ o.value && x(() => {
448
+ o.value.muted = r.value;
451
449
  });
452
450
  }
453
- ), F(
451
+ ), S(
454
452
  () => e.playbackRate,
455
453
  () => {
456
- c.value && (c.value.playbackRate = e.playbackRate || 1);
454
+ u.value && (u.value.playbackRate = e.playbackRate || 1);
457
455
  },
458
456
  {
459
457
  immediate: !0
460
458
  }
461
- ), F(
459
+ ), S(
462
460
  () => e.paused,
463
461
  () => {
464
462
  o.value && (e.paused ? o.value.pause() : o.value.play());
465
463
  }
466
- ), F(
464
+ ), S(
467
465
  () => e.videoUrl,
468
466
  () => {
469
- r.value = !1, P(() => {
470
- r.value = !0;
467
+ a.value = !1, x(() => {
468
+ a.value = !0;
471
469
  });
472
470
  }
473
- ), (v, E) => (p(), S("div", Ge, [
474
- f(l(be), {
471
+ ), (d, E) => (v(), z("div", We, [
472
+ f(l(Ie), {
475
473
  spinning: e.loading,
476
474
  type: "component",
477
475
  tip: l(y)("加载中...")
478
476
  }, {
479
- default: k(() => [
480
- m("div", We, [
481
- m("div", Ye, [
482
- m("div", Ze, [
477
+ default: C(() => [
478
+ m("div", Ye, [
479
+ m("div", Ze, [
480
+ m("div", Ke, [
483
481
  m(
484
482
  "div",
485
- Ke,
483
+ Xe,
486
484
  j(e.title.length > 20 ? e.title.slice(0, 19) + "..." : e.title),
487
485
  1
488
486
  /* TEXT */
489
487
  )
490
488
  ])
491
489
  ]),
492
- m("div", Xe, [
493
- ["live"].includes(v.type) ? (p(), S(
490
+ m("div", Je, [
491
+ ["live"].includes(d.type) ? (v(), z(
494
492
  "span",
495
- Je,
493
+ et,
496
494
  j(l(y)("正在实时预览")),
497
495
  1
498
496
  /* TEXT */
@@ -500,39 +498,39 @@ const Be = /* @__PURE__ */ D({
500
498
  I(' <das-icon v-if="isFullscreen" class="icon close-icon" icon="close" @click.stop="handleClose"></das-icon> ')
501
499
  ])
502
500
  ]),
503
- v.isHls ? (p(), S(
504
- H,
501
+ d.isHls ? (v(), z(
502
+ B,
505
503
  { key: 1 },
506
504
  [
507
- e.videoUrl && r.value ? (p(), R(l(Ie), {
505
+ e.videoUrl && a.value ? (v(), R(l(Ee), {
508
506
  key: 0,
509
507
  ref_key: "dasLivePlayerRef",
510
- ref: C,
511
- muted: a.value,
512
- onLoaded: d,
508
+ ref: g,
509
+ muted: r.value,
510
+ onLoaded: p,
513
511
  src: e.videoUrl
514
512
  }, null, 8, ["muted", "src"])) : I("v-if", !0)
515
513
  ],
516
514
  64
517
515
  /* STABLE_FRAGMENT */
518
- )) : (p(), S(
519
- H,
516
+ )) : (v(), z(
517
+ B,
520
518
  { key: 0 },
521
519
  [
522
- e.videoUrl && r.value ? (p(), R(l(we), {
520
+ e.videoUrl && a.value ? (v(), R(l(be), {
523
521
  key: 0,
524
522
  type: "flv",
525
523
  ref_key: "dasLivePlayerRef",
526
- ref: C,
527
- muted: a.value,
528
- onLoaded: d,
524
+ ref: g,
525
+ muted: r.value,
526
+ onLoaded: p,
529
527
  src: e.videoUrl
530
528
  }, null, 8, ["muted", "src"])) : I("v-if", !0)
531
529
  ],
532
530
  64
533
531
  /* STABLE_FRAGMENT */
534
532
  )),
535
- m("div", et, [
533
+ m("div", tt, [
536
534
  E[3] || (E[3] = m(
537
535
  "div",
538
536
  { class: "video-bottom_l" },
@@ -540,80 +538,80 @@ const Be = /* @__PURE__ */ D({
540
538
  -1
541
539
  /* CACHED */
542
540
  )),
543
- m("div", tt, [
541
+ m("div", ot, [
544
542
  m(
545
543
  "div",
546
544
  {
547
545
  class: "controls",
548
- onDblclick: E[2] || (E[2] = _((z) => z.stopPropagation(), ["stop"]))
546
+ onDblclick: E[2] || (E[2] = h((O) => O.stopPropagation(), ["stop"]))
549
547
  },
550
548
  [
551
- f(l(w), {
549
+ f(l(_), {
552
550
  content: l(y)("声音")
553
551
  }, {
554
- default: k(() => [
552
+ default: C(() => [
555
553
  f(l($), {
556
554
  class: "icon icon-volume",
557
- icon: a.value ? "muted" : "volume",
558
- onClick: _(g, ["stop"])
555
+ icon: r.value ? "muted" : "volume",
556
+ onClick: h(k, ["stop"])
559
557
  }, null, 8, ["icon"])
560
558
  ]),
561
559
  _: 1
562
560
  /* STABLE */
563
561
  }, 8, ["content"]),
564
- f(l(w), {
562
+ f(l(_), {
565
563
  content: l(y)("截图")
566
564
  }, {
567
- default: k(() => [
565
+ default: C(() => [
568
566
  f(l($), {
569
567
  class: "icon icon-screenshot",
570
568
  icon: "screenshot",
571
- onClick: _(N, ["stop"])
569
+ onClick: h(N, ["stop"])
572
570
  })
573
571
  ]),
574
572
  _: 1
575
573
  /* STABLE */
576
574
  }, 8, ["content"]),
577
- U("control") ? (p(), R(l(w), {
575
+ D("control") ? (v(), R(l(_), {
578
576
  key: 0,
579
577
  content: l(y)("聚焦-")
580
578
  }, {
581
- default: k(() => [
582
- ["live", "polling"].includes(e.type) ? (p(), R(l($), {
579
+ default: C(() => [
580
+ ["live", "polling"].includes(e.type) ? (v(), R(l($), {
583
581
  key: 0,
584
582
  class: "icon icon-shrink",
585
583
  icon: "shrink",
586
- onClick: E[0] || (E[0] = _((z) => x("zoomOut"), ["stop"]))
584
+ onClick: E[0] || (E[0] = h((O) => T("zoomOut"), ["stop"]))
587
585
  })) : I("v-if", !0)
588
586
  ]),
589
587
  _: 1
590
588
  /* STABLE */
591
589
  }, 8, ["content"])) : I("v-if", !0),
592
- U("control") ? (p(), R(l(w), {
590
+ D("control") ? (v(), R(l(_), {
593
591
  key: 1,
594
592
  content: l(y)("聚焦+")
595
593
  }, {
596
- default: k(() => [
597
- ["live", "polling"].includes(e.type) ? (p(), R(l($), {
594
+ default: C(() => [
595
+ ["live", "polling"].includes(e.type) ? (v(), R(l($), {
598
596
  key: 0,
599
597
  class: "icon icon-enlarge",
600
598
  icon: "enlarge",
601
- onClick: E[1] || (E[1] = _((z) => x("zoomIn"), ["stop"]))
599
+ onClick: E[1] || (E[1] = h((O) => T("zoomIn"), ["stop"]))
602
600
  })) : I("v-if", !0)
603
601
  ]),
604
602
  _: 1
605
603
  /* STABLE */
606
604
  }, 8, ["content"])) : I("v-if", !0),
607
- U("control") ? (p(), R(l(w), {
605
+ D("control") ? (v(), R(l(_), {
608
606
  key: 2,
609
607
  content: l(y)("方向控制")
610
608
  }, {
611
- default: k(() => [
612
- ["live", "polling"].includes(e.type) ? (p(), R(l($), {
609
+ default: C(() => [
610
+ ["live", "polling"].includes(e.type) ? (v(), R(l($), {
613
611
  key: 0,
614
612
  class: "icon icon-direction-control",
615
613
  icon: "direction-control",
616
- onClick: _(b, ["stop"])
614
+ onClick: h(b, ["stop"])
617
615
  })) : I("v-if", !0)
618
616
  ]),
619
617
  _: 1
@@ -625,7 +623,7 @@ const Be = /* @__PURE__ */ D({
625
623
  )
626
624
  ])
627
625
  ]),
628
- s.value ? (p(), R(qe, {
626
+ c.value ? (v(), R(Ge, {
629
627
  key: 2,
630
628
  onChange: V
631
629
  })) : I("v-if", !0)
@@ -635,36 +633,36 @@ const Be = /* @__PURE__ */ D({
635
633
  }, 8, ["spinning", "tip"])
636
634
  ]));
637
635
  }
638
- }), nt = /* @__PURE__ */ B(ot, [["__scopeId", "data-v-4db322a4"]]), lt = "/api/device-relation/deviceproject/v1/project/device/video", it = "v1", at = M(`/api/enterpriseright/permission/${it}`);
639
- let Q = M(`${lt}`, se);
640
- function se(t) {
636
+ }), lt = /* @__PURE__ */ H(nt, [["__scopeId", "data-v-4db322a4"]]), it = "/api/device-relation/deviceproject/v1/project/device/video", at = "v1", rt = M(`/api/enterpriseright/permission/${at}`);
637
+ let Q = M(`${it}`, re);
638
+ function re(t) {
641
639
  const n = q() ? q().id : 1;
642
640
  return t.params || (t.params = {}), t.params.project = n, t.params.projectId = n, t;
643
641
  }
644
- function re(t) {
642
+ function se(t) {
645
643
  const n = new URLSearchParams("");
646
644
  for (let [e, i] of Object.entries(t))
647
645
  n.append(e, i);
648
646
  return n.toString();
649
647
  }
650
648
  function ee(t) {
651
- return Q.post(`/ptz?${re(t)}`)().run();
649
+ return Q.post(`/ptz?${se(t)}`)().run();
652
650
  }
653
651
  function st(t) {
654
- return Q.post(`/url/preview?${re(t)}`)().run();
652
+ return Q.post(`/url/preview?${se(t)}`)().run();
655
653
  }
656
- at.post("data/device-auth");
657
- function rt(t) {
654
+ rt.post("data/device-auth");
655
+ function ct(t) {
658
656
  return new Promise((n) => {
659
- Q = M(t, se), n("");
657
+ Q = M(t, re), n("");
660
658
  });
661
659
  }
662
- const ct = (t) => {
663
- const n = Re();
660
+ const ut = (t) => {
661
+ const n = Ne();
664
662
  return `${t}?token=${n}`;
665
663
  };
666
- h([]);
667
- const ut = /* @__PURE__ */ D({
664
+ w([]);
665
+ const dt = /* @__PURE__ */ U({
668
666
  props: {
669
667
  deviceInfo: {
670
668
  type: Object,
@@ -687,101 +685,101 @@ const ut = /* @__PURE__ */ D({
687
685
  const {
688
686
  deviceInfo: e,
689
687
  source: i,
690
- isHls: a,
688
+ isHls: r,
691
689
  baseURL: o
692
- } = Ce(t), s = h(!1), C = h(""), c = async () => {
690
+ } = ge(t), c = w(!1), g = w(""), u = async () => {
693
691
  var b;
694
692
  if (!((b = e.value) != null && b.deviceId)) return;
695
- s.value = !0;
696
- const [d, g] = await st({
693
+ c.value = !0;
694
+ const [p, k] = await st({
697
695
  productId: e.value.productId,
698
696
  deviceId: e.value.deviceId,
699
697
  source: i.value
700
698
  });
701
- if (!d) {
702
- let L = a.value ? "httpHlsStreamURL" : "wsFlvStreamURL";
703
- C.value = ct(g == null ? void 0 : g[L]);
699
+ if (!p) {
700
+ let F = r.value ? "httpHlsStreamURL" : "wsFlvStreamURL";
701
+ g.value = ut(k == null ? void 0 : k[F]);
704
702
  }
705
- s.value = !1;
706
- }, u = (d) => {
703
+ c.value = !1;
704
+ }, s = (p) => {
707
705
  ee({
708
706
  productId: e.value.productId,
709
707
  deviceId: e.value.deviceId,
710
- direction: d,
708
+ direction: p,
711
709
  zoom: "",
712
710
  source: i.value || "web"
713
711
  });
714
- }, r = (d) => {
712
+ }, a = (p) => {
715
713
  ee({
716
714
  productId: e.value.productId,
717
715
  deviceId: e.value.deviceId,
718
716
  direction: "",
719
- zoom: d,
717
+ zoom: p,
720
718
  source: i.value || "web"
721
719
  });
722
720
  };
723
721
  return te(async () => {
724
- o.value && await rt(o.value), c();
725
- }), F(() => e.value, () => {
726
- c();
722
+ o.value && await ct(o.value), u();
723
+ }), S(() => e.value, () => {
724
+ u();
727
725
  }, {
728
726
  deep: !0
729
- }), () => f(H, null, [n.default({
730
- videoUrl: C.value,
731
- loading: s.value,
732
- onDirectionControl: u,
733
- onZoomControl: r,
734
- isHls: a.value
727
+ }), () => f(B, null, [n.default({
728
+ videoUrl: g.value,
729
+ loading: c.value,
730
+ onDirectionControl: s,
731
+ onZoomControl: a,
732
+ isHls: r.value
735
733
  })]);
736
734
  }
737
735
  });
738
- function dt(t) {
739
- const n = h(0), e = h(), {
736
+ function pt(t) {
737
+ const n = w(0), e = w(), {
740
738
  toggle: i,
741
- isFullscreen: a,
739
+ isFullscreen: r,
742
740
  exit: o
743
- } = ae(e), s = (u, r) => {
744
- a.value && o();
745
- }, C = (u) => {
746
- var r;
747
- (r = t == null ? void 0 : t.handleClick) == null || r.call(t, u);
741
+ } = ae(e), c = (s, a) => {
742
+ r.value && o();
743
+ }, g = (s) => {
744
+ var a;
745
+ (a = t == null ? void 0 : t.handleClick) == null || a.call(t, s);
748
746
  };
749
747
  return {
750
- render: () => f(Ae, {
748
+ render: () => f(Qe, {
751
749
  ref: e,
752
750
  gridNum: t.gridNum,
753
751
  activeIndex: n.value,
754
- "onUpdate:activeIndex": (u) => n.value = u,
755
- showFn: (u) => !!t.deviceList[u]
752
+ "onUpdate:activeIndex": (s) => n.value = s,
753
+ showFn: (s) => !!t.deviceList[s]
756
754
  }, {
757
755
  default: ({
758
- index: u
756
+ index: s
759
757
  }) => {
760
- const r = t.deviceList[u], d = t.source, g = t.isHls, b = t.baseURL;
761
- return f(ut, {
762
- deviceInfo: r,
758
+ const a = t.deviceList[s], p = t.source, k = t.isHls, b = t.baseURL;
759
+ return f(dt, {
760
+ deviceInfo: a,
763
761
  baseURL: b,
764
- source: d,
765
- isHls: g
762
+ source: p,
763
+ isHls: k
766
764
  }, {
767
765
  default: ({
768
- videoUrl: L,
766
+ videoUrl: F,
769
767
  onDirectionControl: N,
770
768
  onZoomControl: V,
771
- loading: x,
772
- isHls: U
773
- }) => f(nt, {
769
+ loading: T,
770
+ isHls: D
771
+ }) => f(lt, {
774
772
  type: "live",
775
- loading: x,
776
- isFullscreen: a.value,
777
- videoUrl: L,
778
- title: r.deviceName,
779
- onClose: () => s(),
773
+ loading: T,
774
+ isFullscreen: r.value,
775
+ videoUrl: F,
776
+ title: a.deviceName,
777
+ onClose: () => c(),
780
778
  onDirectionControl: N,
781
779
  onZoomControl: V,
782
- onHandleClick: C,
783
- authType: r.authType === 2 ? ["control"] : [],
784
- isHls: U
780
+ onHandleClick: g,
781
+ authType: a.authType === 2 ? ["control"] : [],
782
+ isHls: D
785
783
  }, null)
786
784
  });
787
785
  }
@@ -789,7 +787,7 @@ function dt(t) {
789
787
  toggleFullscreen: i
790
788
  };
791
789
  }
792
- const vt = /* @__PURE__ */ D({
790
+ const vt = /* @__PURE__ */ U({
793
791
  __name: "index",
794
792
  props: {
795
793
  visible: { type: Boolean, default: !1 },
@@ -797,43 +795,49 @@ const vt = /* @__PURE__ */ D({
797
795
  gridNum: { default: 4 },
798
796
  source: {},
799
797
  isHls: { type: Boolean, default: !1 },
798
+ draggable: { type: Boolean, default: !0 },
799
+ resizable: { type: Boolean, default: !0 },
800
800
  dialogTitle: { default: "" },
801
801
  baseURL: { default: "/api/device-relation/deviceproject/v1/project/device/video" },
802
802
  handleClick: {}
803
803
  },
804
804
  emits: ["update:visible"],
805
805
  setup(t, { emit: n }) {
806
- const e = t, i = T(() => e.dialogTitle || y("视频监控")), a = n, o = T({
806
+ const e = t, i = P(() => e.dialogTitle || y("视频监控")), r = n, o = P({
807
807
  get: () => e.visible,
808
- set: (u) => a("update:visible", u)
809
- }), { render: s, toggleFullscreen: C } = dt(e), c = T(() => {
810
- let u = {};
808
+ set: (s) => r("update:visible", s)
809
+ }), { render: c, toggleFullscreen: g } = pt(e), u = P(() => {
810
+ let s = {};
811
811
  switch (e.gridNum) {
812
812
  case 1:
813
- u = "one-video";
813
+ s = { width: "933px", height: "595px" };
814
814
  break;
815
815
  case 4:
816
- u = "four-video";
816
+ s = { width: "933px", height: "595px" };
817
817
  break;
818
818
  case 9:
819
- u = "nine-video";
819
+ s = { width: "1370px", height: "840px" };
820
820
  break;
821
821
  }
822
- return u;
822
+ return s;
823
823
  });
824
- return (u, r) => (p(), R(l(ye), {
824
+ return (s, a) => (v(), R(l(he), Ce({
825
825
  size: "mini",
826
826
  title: i.value,
827
- "custom-class": `das-linakge-video-dialog ${c.value}`,
827
+ "custom-class": "das-linakge-video-dialog",
828
828
  modelValue: o.value,
829
- "onUpdate:modelValue": r[0] || (r[0] = (d) => o.value = d),
829
+ "onUpdate:modelValue": a[0] || (a[0] = (p) => o.value = p),
830
830
  bodyStyle: { padding: 0 },
831
831
  "close-on-click-modal": !1,
832
832
  "close-on-press-escape": !1,
833
833
  modal: !1,
834
- "header-style": { display: "flex", justifyContent: "space-between", alignItems: "center" }
835
- }, {
836
- header: k(() => [
834
+ "header-style": { display: "flex", justifyContent: "space-between", alignItems: "center" },
835
+ draggable: s.draggable,
836
+ resizable: s.resizable,
837
+ width: u.value.width,
838
+ height: u.value.height
839
+ }, s.$attrs), {
840
+ header: C(() => [
837
841
  m("div", null, [
838
842
  m(
839
843
  "span",
@@ -843,28 +847,28 @@ const vt = /* @__PURE__ */ D({
843
847
  /* TEXT */
844
848
  )
845
849
  ]),
846
- f(l(w), {
850
+ f(l(_), {
847
851
  content: l(y)("页面全屏")
848
852
  }, {
849
- default: k(() => [
850
- f(l(_e), {
853
+ default: C(() => [
854
+ f(l(we), {
851
855
  class: "icon",
852
856
  color: "#999",
853
- onClick: l(C)
857
+ onClick: l(g)
854
858
  }, null, 8, ["onClick"])
855
859
  ]),
856
860
  _: 1
857
861
  /* STABLE */
858
862
  }, 8, ["content"])
859
863
  ]),
860
- default: k(() => [
861
- o.value ? (p(), R(l(s), { key: 0 })) : I("v-if", !0)
864
+ default: C(() => [
865
+ o.value ? (v(), R(l(c), { key: 0 })) : I("v-if", !0)
862
866
  ]),
863
867
  _: 1
864
868
  /* STABLE */
865
- }, 8, ["title", "custom-class", "modelValue"]));
869
+ }, 16, ["title", "modelValue", "draggable", "resizable", "width", "height"]));
866
870
  }
867
- }), pt = {
871
+ }), ft = {
868
872
  加载中: { "zh-CN": "加载中", en: "Loading", _appCode: "framework" },
869
873
  正在实时预览: { "zh-CN": "正在实时预览", en: "Real-time Video", _appCode: "framework" },
870
874
  声音: { "zh-CN": "声音", en: "Sound", _appCode: "framework" },
@@ -886,10 +890,10 @@ const vt = /* @__PURE__ */ D({
886
890
  "聚焦-": { "zh-CN": "聚焦-", en: "Focus-", _appCode: "framework" },
887
891
  "聚焦+": { "zh-CN": "聚焦+", en: "Focus+", _appCode: "framework" }
888
892
  };
889
- ke(pt);
890
- const Nt = ge(vt), Ft = () => h(null);
893
+ ke(ft);
894
+ const St = ye(vt), zt = () => w(null);
891
895
  export {
892
- Nt as DasVideoDialog,
893
- Ft as DasVideoDialogRef,
894
- dt as useVideo
896
+ St as DasVideoDialog,
897
+ zt as DasVideoDialogRef,
898
+ pt as useVideo
895
899
  };