inl-ui 0.1.20 → 0.1.22

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.
Files changed (43) hide show
  1. package/README.md +49 -49
  2. package/dist/components/index.cjs +65 -23
  3. package/dist/components/index.d.ts +50 -10
  4. package/dist/components/index.js +64 -24
  5. package/dist/components/style.css +2 -1
  6. package/dist/hooks/index.cjs +5 -9
  7. package/dist/hooks/index.js +5 -9
  8. package/dist/iconfont.js +69 -69
  9. package/dist/index.cjs +71 -31
  10. package/dist/index.d.ts +68 -28
  11. package/dist/index.js +70 -31
  12. package/dist/style.css +1 -0
  13. package/dist/theme/index.js +70 -70
  14. package/dist/theme/scripts/dark-vars.js +21 -21
  15. package/dist/theme/scripts/default-vars.js +25 -25
  16. package/dist/theme/scripts/light-vars.js +22 -22
  17. package/dist/theme/style/color/bezierEasing.less +110 -110
  18. package/dist/theme/style/color/colorPalette.less +81 -81
  19. package/dist/theme/style/color/colors.less +162 -162
  20. package/dist/theme/style/color/tinyColor.less +1184 -1184
  21. package/dist/theme/style/compact.less +4 -4
  22. package/dist/theme/style/dark.less +4 -4
  23. package/dist/theme/style/default.less +4 -4
  24. package/dist/theme/style/index.less +2 -2
  25. package/dist/theme/style/index.tsx +2 -2
  26. package/dist/theme/style/themes/compact.less +295 -295
  27. package/dist/theme/style/themes/dark.less +790 -790
  28. package/dist/theme/style/themes/default.less +1067 -1067
  29. package/dist/theme/style/themes/index.less +7 -7
  30. package/dist/theme/style/themes/var-dark.less +343 -343
  31. package/dist/theme/style/themes/var-default.less +184 -184
  32. package/dist/theme/style/themes/variable.less +1122 -1122
  33. package/dist/theme/style/variable.less +4 -4
  34. package/dist/tplib/index.cjs +10 -16
  35. package/dist/tplib/index.d.ts +0 -1
  36. package/dist/tplib/index.js +10 -16
  37. package/dist/video/index.cjs +65 -23
  38. package/dist/video/index.d.ts +47 -7
  39. package/dist/video/index.js +64 -24
  40. package/dist/video/style.css +2 -1
  41. package/dist/videoMobile/index.cjs +7 -11
  42. package/dist/videoMobile/index.js +7 -11
  43. package/package.json +3 -1
package/README.md CHANGED
@@ -1,49 +1,49 @@
1
- # 工业PC ui库
2
-
3
- 前端通用库,包括组件、hooks、utils等。
4
-
5
- ### 运行
6
-
7
- + 开发模式 yarn dev
8
- + 生产打包 yarn build
9
- + 生成文档 yarn build:docs
10
- + 打包图扑工具 yarn buildtp
11
-
12
- ### 使用方法
13
-
14
- ```javascript
15
- import inl from 'inl-ui';
16
- import 'inl-ui/dist/style.css';
17
-
18
- vue.use(inl)
19
- ```
20
-
21
-
22
-
23
- ### 激活主题
24
-
25
- **vite.config.ts**
26
-
27
- ```javascript
28
- const additionalData = require("inl-ui/dist/theme").default;
29
-
30
- ...
31
-
32
- css: {
33
- preprocessorOptions: {
34
- less: {
35
- javascriptEnabled: true,
36
- additionalData,
37
- },
38
- },
39
- },
40
- ```
41
-
42
- ### 文档链接
43
-
44
- ##### [组件文档](./src/components/README.md)
45
-
46
- ##### [hooks文档](./src/hooks/README.md)
47
-
48
- ##### [Utils文档](./src/utils/README.md)
49
-
1
+ # 工业PC ui库
2
+
3
+ 前端通用库,包括组件、hooks、utils等。
4
+
5
+ ### 运行
6
+
7
+ + 开发模式 yarn dev
8
+ + 生产打包 yarn build
9
+ + 生成文档 yarn build:docs
10
+ + 打包图扑工具 yarn buildtp
11
+
12
+ ### 使用方法
13
+
14
+ ```javascript
15
+ import inl from 'inl-ui';
16
+ import 'inl-ui/dist/style.css';
17
+
18
+ vue.use(inl)
19
+ ```
20
+
21
+
22
+
23
+ ### 激活主题
24
+
25
+ **vite.config.ts**
26
+
27
+ ```javascript
28
+ const additionalData = require("inl-ui/dist/theme").default;
29
+
30
+ ...
31
+
32
+ css: {
33
+ preprocessorOptions: {
34
+ less: {
35
+ javascriptEnabled: true,
36
+ additionalData,
37
+ },
38
+ },
39
+ },
40
+ ```
41
+
42
+ ### 文档链接
43
+
44
+ ##### [组件文档](./src/components/README.md)
45
+
46
+ ##### [hooks文档](./src/hooks/README.md)
47
+
48
+ ##### [Utils文档](./src/utils/README.md)
49
+
@@ -13,6 +13,7 @@ var dayjs = require('dayjs');
13
13
  var qiankun = require('qiankun');
14
14
  require('vite-plugin-qiankun');
15
15
  var renderWithQiankun = require('vite-plugin-qiankun/dist/helper');
16
+ var EZUIKit = require('ezuikit-js');
16
17
  var mobile = require('@sszj-temp/mobile');
17
18
 
18
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -20,6 +21,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
20
21
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
21
22
  var ___default = /*#__PURE__*/_interopDefaultLegacy(_);
22
23
  var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
24
+ var EZUIKit__default = /*#__PURE__*/_interopDefaultLegacy(EZUIKit);
23
25
 
24
26
  const config = {
25
27
  prefix: "inl",
@@ -5068,7 +5070,7 @@ class WebRtcMt$1 {
5068
5070
  }
5069
5071
  }
5070
5072
  }
5071
- retryTime;
5073
+ // protected retryTime;
5072
5074
  // 拉流创建播放器
5073
5075
  createVideo(plays) {
5074
5076
  this.mediaServerAddrMap.set(plays.videoElm, plays);
@@ -5079,7 +5081,6 @@ class WebRtcMt$1 {
5079
5081
  fetch(addRtspProxyUrl, {
5080
5082
  method: "GET"
5081
5083
  }).then(response => {
5082
- this.retryTime = 0;
5083
5084
  response.json().then(res => {
5084
5085
  if (res.code === 0) {
5085
5086
  this.startPlay(plays);
@@ -5091,12 +5092,9 @@ class WebRtcMt$1 {
5091
5092
  }
5092
5093
  });
5093
5094
  }).catch(err => {
5094
- if (!this.retryTime) {
5095
- this.retryTime = 60;
5096
- setTimeout(() => {
5097
- this.rePlay();
5098
- }, 60 * 1e3);
5099
- }
5095
+ setTimeout(() => {
5096
+ this.rePlay();
5097
+ }, 3 * 60 * 1e3);
5100
5098
  });
5101
5099
  });
5102
5100
  }
@@ -5155,7 +5153,7 @@ class WebRtcMt$1 {
5155
5153
  this.stopPlay();
5156
5154
  setTimeout(() => {
5157
5155
  this.init(this.opt);
5158
- }, 1e3);
5156
+ }, 5 * 1e3);
5159
5157
  }
5160
5158
  // 播放
5161
5159
  play(videoElm) {
@@ -7598,9 +7596,9 @@ const VideoPlayerV2 = vue.defineComponent({
7598
7596
  });
7599
7597
  vue.onBeforeUnmount(() => {
7600
7598
  stopPlay();
7601
- stopV(`videoPlayer_${uuid}`);
7602
- const videoElement = document.getElementById(uuid);
7599
+ const videoElement = document.getElementById(`videoPlayer_${uuid}`);
7603
7600
  if (videoElement) {
7601
+ videoElement.pause();
7604
7602
  videoElement.src = null;
7605
7603
  videoElement.srcObject = null;
7606
7604
  videoElement.remove();
@@ -8043,23 +8041,12 @@ const VideoBoxV2 = vue.defineComponent({
8043
8041
  camera.value = res.data.data;
8044
8042
  streams.value = JSON.parse(camera.value.brandTypePo?.streamTypeDict || "[]");
8045
8043
  };
8046
- let interval;
8047
8044
  let timeout;
8048
8045
  let show = vue.ref(true);
8049
- const timer = setInterval(() => {
8050
- show.value = false;
8051
- setTimeout(() => {
8052
- show.value = true;
8053
- }, 500);
8054
- }, _prop.intervalTime * (0.5 + Math.random()));
8055
- vue.onBeforeUnmount(() => {
8056
- clearInterval(interval);
8057
- clearInterval(timer);
8058
- });
8046
+ vue.onBeforeUnmount(() => {});
8059
8047
  const fill = vue.ref("fill");
8060
8048
  vue.watch(() => _prop.camera, val => {
8061
8049
  if (val && Object.keys(val).length != 0) {
8062
- clearInterval(interval);
8063
8050
  getVideoParams(val);
8064
8051
  getVideoDetail(val);
8065
8052
  const fillVal = localStorage.getItem(val);
@@ -8665,6 +8652,60 @@ const AlarmVideo = vue.defineComponent({
8665
8652
  });
8666
8653
  var alarmVideo = installComponent(AlarmVideo, "alarm-video");
8667
8654
 
8655
+ const CloudVideo = vue.defineComponent({
8656
+ props: {
8657
+ // 视频信息|视频源uuid
8658
+ cameraId: {
8659
+ require: true,
8660
+ type: String
8661
+ },
8662
+ channelNo: {
8663
+ type: Number,
8664
+ default: 1
8665
+ },
8666
+ // token
8667
+ token: {
8668
+ type: String,
8669
+ default: ""
8670
+ },
8671
+ // template
8672
+ template: {
8673
+ type: String,
8674
+ default: ""
8675
+ }
8676
+ },
8677
+ emits: [],
8678
+ setup(prop, _context) {
8679
+ const uuid = vue.ref(UUID());
8680
+ const initVideo = async () => {
8681
+ const res = await axios__default["default"].post("https://open.ys7.com/api/lapp/v2/live/address/get", void 0, {
8682
+ params: {
8683
+ accessToken: prop.token,
8684
+ deviceSerial: prop.cameraId,
8685
+ channelNo: prop.channelNo || 1
8686
+ }
8687
+ });
8688
+ const parent = document.getElementById(`cloudVideo_${uuid.value}`)?.parentNode;
8689
+ const opt = {
8690
+ id: `cloudVideo_${uuid.value}`,
8691
+ url: res.data.data.url,
8692
+ accessToken: prop.token,
8693
+ template: "pcLive",
8694
+ height: parent?.clientHeight
8695
+ };
8696
+ new EZUIKit__default["default"].EZUIKitPlayer(opt);
8697
+ };
8698
+ vue.onMounted(() => {
8699
+ initVideo();
8700
+ });
8701
+ return () => vue.createVNode("div", {
8702
+ "id": `cloudVideo_${uuid.value}`,
8703
+ "class": "cloudVideo"
8704
+ }, null);
8705
+ }
8706
+ });
8707
+ var cloudVideo = installComponent(CloudVideo, "cloud-video");
8708
+
8668
8709
  const appName = "live";
8669
8710
  class WebRtcMt {
8670
8711
  constructor(opt) {
@@ -11247,6 +11288,7 @@ var index = installComponent(SszComment, "ssz-comment");
11247
11288
  exports.AlarmVideo = alarmVideo;
11248
11289
  exports.ChangeThemeSelect = index$6;
11249
11290
  exports.ChildLayout = childLayout;
11291
+ exports.CloudVideo = cloudVideo;
11250
11292
  exports.Demo = index$9;
11251
11293
  exports.FontSelect = index$1;
11252
11294
  exports.HeaderMenu = index$5;
@@ -3,7 +3,7 @@ import { PropType } from 'vue';
3
3
  import * as vue_jsx_runtime from 'vue/jsx-runtime';
4
4
  import * as _ant_design_icons_vue_lib_components_IconFont from '@ant-design/icons-vue/lib/components/IconFont';
5
5
 
6
- declare const _default$j: vue.DefineComponent<{
6
+ declare const _default$k: vue.DefineComponent<{
7
7
  name: {
8
8
  type: StringConstructor;
9
9
  default: string;
@@ -17,7 +17,7 @@ declare const _default$j: vue.DefineComponent<{
17
17
  name: string;
18
18
  }, {}>;
19
19
 
20
- declare const _default$i: vue.FunctionalComponent<_ant_design_icons_vue_lib_components_IconFont.IconFontProps, {}, any>;
20
+ declare const _default$j: vue.FunctionalComponent<_ant_design_icons_vue_lib_components_IconFont.IconFontProps, {}, any>;
21
21
 
22
22
  interface IMenuItem {
23
23
  id: string;
@@ -31,7 +31,7 @@ interface IMenuItem {
31
31
  subList: IMenuItem[];
32
32
  }
33
33
  type MenuList = IMenuItem[];
34
- declare const _default$h: vue.DefineComponent<{
34
+ declare const _default$i: vue.DefineComponent<{
35
35
  userMenu: {
36
36
  type: PropType<MenuList>;
37
37
  required: true;
@@ -128,7 +128,7 @@ declare const _default$h: vue.DefineComponent<{
128
128
  showNotice: boolean;
129
129
  }, {}>;
130
130
 
131
- declare const _default$g: vue.DefineComponent<{
131
+ declare const _default$h: vue.DefineComponent<{
132
132
  isClould: {
133
133
  default: boolean;
134
134
  type: BooleanConstructor;
@@ -190,7 +190,7 @@ declare const _default$g: vue.DefineComponent<{
190
190
  bg: string;
191
191
  }, {}>;
192
192
 
193
- declare const _default$f: vue.DefineComponent<Readonly<vue.ComponentPropsOptions<{
193
+ declare const _default$g: vue.DefineComponent<Readonly<vue.ComponentPropsOptions<{
194
194
  [x: string]: unknown;
195
195
  }>>, () => vue_jsx_runtime.JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, never[], never, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<readonly string[] | vue.ExtractPropTypes<Readonly<vue.ComponentObjectPropsOptions<{
196
196
  [x: string]: unknown;
@@ -198,7 +198,7 @@ declare const _default$f: vue.DefineComponent<Readonly<vue.ComponentPropsOptions
198
198
  [x: number]: string;
199
199
  } | {}, {}>;
200
200
 
201
- declare const _default$e: vue.DefineComponent<{
201
+ declare const _default$f: vue.DefineComponent<{
202
202
  withHeader: {
203
203
  type: BooleanConstructor;
204
204
  default: boolean;
@@ -269,9 +269,9 @@ declare const getDetailContainer: () => vue.DefineComponent<{
269
269
  unmountOnDeactived: boolean;
270
270
  }, {}>;
271
271
 
272
- declare const _default$d: vue.DefineComponent<{}, () => vue_jsx_runtime.JSX.Element, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{}>>, {}, {}>;
272
+ declare const _default$e: vue.DefineComponent<{}, () => vue_jsx_runtime.JSX.Element, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{}>>, {}, {}>;
273
273
 
274
- declare const _default$c: vue.DefineComponent<{
274
+ declare const _default$d: vue.DefineComponent<{
275
275
  teams: {
276
276
  type: {
277
277
  (arrayLength: number): any[];
@@ -338,7 +338,7 @@ declare const _default$c: vue.DefineComponent<{
338
338
  version: string;
339
339
  }, {}>;
340
340
 
341
- declare const _default$b: vue.DefineComponent<{
341
+ declare const _default$c: vue.DefineComponent<{
342
342
  theme: {
343
343
  type: StringConstructor;
344
344
  default: string;
@@ -378,6 +378,46 @@ declare const _default$b: vue.DefineComponent<{
378
378
  countDown: number;
379
379
  }, {}>;
380
380
 
381
+ declare const _default$b: vue.DefineComponent<{
382
+ cameraId: {
383
+ require: boolean;
384
+ type: StringConstructor;
385
+ };
386
+ channelNo: {
387
+ type: NumberConstructor;
388
+ default: number;
389
+ };
390
+ token: {
391
+ type: StringConstructor;
392
+ default: string;
393
+ };
394
+ template: {
395
+ type: StringConstructor;
396
+ default: string;
397
+ };
398
+ }, () => vue_jsx_runtime.JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, never[], never, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
399
+ cameraId: {
400
+ require: boolean;
401
+ type: StringConstructor;
402
+ };
403
+ channelNo: {
404
+ type: NumberConstructor;
405
+ default: number;
406
+ };
407
+ token: {
408
+ type: StringConstructor;
409
+ default: string;
410
+ };
411
+ template: {
412
+ type: StringConstructor;
413
+ default: string;
414
+ };
415
+ }>> & {}, {
416
+ token: string;
417
+ template: string;
418
+ channelNo: number;
419
+ }, {}>;
420
+
381
421
  interface videoInfo$1 {
382
422
  [key: string]: string | number | boolean | videoInfo$1 | Array<videoInfo$1>;
383
423
  }
@@ -1064,4 +1104,4 @@ declare const _default: vue.DefineComponent<{
1064
1104
  commentHeight: string;
1065
1105
  }, {}>;
1066
1106
 
1067
- export { _default$b as AlarmVideo, _default$d as ChangeThemeSelect, _default$e as ChildLayout, _default$j as Demo, _default$1 as FontSelect, _default$6 as HeaderMenu, _default$i as IconFont, _default$5 as IconSelect, ImportModal, _default$h as Layout, _default$f as LayoutTable, _default$g as Login, _default$2 as ParamManager, ParamManagerV2, _default$3 as PeopleSelect, _default$c as PollingPlay, _default$4 as QueryFormContainer, _default as SszComment, _default$8 as VideoBox, _default$7 as VideoBoxV2, _default$9 as VideoPlayerV1, _default$a as VideoPlayerV2, getDetailContainer, getMenuDetail };
1107
+ export { _default$c as AlarmVideo, _default$e as ChangeThemeSelect, _default$f as ChildLayout, _default$b as CloudVideo, _default$k as Demo, _default$1 as FontSelect, _default$6 as HeaderMenu, _default$j as IconFont, _default$5 as IconSelect, ImportModal, _default$i as Layout, _default$g as LayoutTable, _default$h as Login, _default$2 as ParamManager, ParamManagerV2, _default$3 as PeopleSelect, _default$d as PollingPlay, _default$4 as QueryFormContainer, _default as SszComment, _default$8 as VideoBox, _default$7 as VideoBoxV2, _default$9 as VideoPlayerV1, _default$a as VideoPlayerV2, getDetailContainer, getMenuDetail };
@@ -9,6 +9,7 @@ import dayjs from 'dayjs';
9
9
  import { loadMicroApp } from 'qiankun';
10
10
  import 'vite-plugin-qiankun';
11
11
  import { qiankunWindow } from 'vite-plugin-qiankun/dist/helper';
12
+ import EZUIKit from 'ezuikit-js';
12
13
  import { XPopup, CommentBlock, setAxiosOption } from '@sszj-temp/mobile';
13
14
 
14
15
  const config = {
@@ -5058,7 +5059,7 @@ class WebRtcMt$1 {
5058
5059
  }
5059
5060
  }
5060
5061
  }
5061
- retryTime;
5062
+ // protected retryTime;
5062
5063
  // 拉流创建播放器
5063
5064
  createVideo(plays) {
5064
5065
  this.mediaServerAddrMap.set(plays.videoElm, plays);
@@ -5069,7 +5070,6 @@ class WebRtcMt$1 {
5069
5070
  fetch(addRtspProxyUrl, {
5070
5071
  method: "GET"
5071
5072
  }).then(response => {
5072
- this.retryTime = 0;
5073
5073
  response.json().then(res => {
5074
5074
  if (res.code === 0) {
5075
5075
  this.startPlay(plays);
@@ -5081,12 +5081,9 @@ class WebRtcMt$1 {
5081
5081
  }
5082
5082
  });
5083
5083
  }).catch(err => {
5084
- if (!this.retryTime) {
5085
- this.retryTime = 60;
5086
- setTimeout(() => {
5087
- this.rePlay();
5088
- }, 60 * 1e3);
5089
- }
5084
+ setTimeout(() => {
5085
+ this.rePlay();
5086
+ }, 3 * 60 * 1e3);
5090
5087
  });
5091
5088
  });
5092
5089
  }
@@ -5145,7 +5142,7 @@ class WebRtcMt$1 {
5145
5142
  this.stopPlay();
5146
5143
  setTimeout(() => {
5147
5144
  this.init(this.opt);
5148
- }, 1e3);
5145
+ }, 5 * 1e3);
5149
5146
  }
5150
5147
  // 播放
5151
5148
  play(videoElm) {
@@ -7588,9 +7585,9 @@ const VideoPlayerV2 = defineComponent({
7588
7585
  });
7589
7586
  onBeforeUnmount(() => {
7590
7587
  stopPlay();
7591
- stopV(`videoPlayer_${uuid}`);
7592
- const videoElement = document.getElementById(uuid);
7588
+ const videoElement = document.getElementById(`videoPlayer_${uuid}`);
7593
7589
  if (videoElement) {
7590
+ videoElement.pause();
7594
7591
  videoElement.src = null;
7595
7592
  videoElement.srcObject = null;
7596
7593
  videoElement.remove();
@@ -8033,23 +8030,12 @@ const VideoBoxV2 = defineComponent({
8033
8030
  camera.value = res.data.data;
8034
8031
  streams.value = JSON.parse(camera.value.brandTypePo?.streamTypeDict || "[]");
8035
8032
  };
8036
- let interval;
8037
8033
  let timeout;
8038
8034
  let show = ref(true);
8039
- const timer = setInterval(() => {
8040
- show.value = false;
8041
- setTimeout(() => {
8042
- show.value = true;
8043
- }, 500);
8044
- }, _prop.intervalTime * (0.5 + Math.random()));
8045
- onBeforeUnmount(() => {
8046
- clearInterval(interval);
8047
- clearInterval(timer);
8048
- });
8035
+ onBeforeUnmount(() => {});
8049
8036
  const fill = ref("fill");
8050
8037
  watch(() => _prop.camera, val => {
8051
8038
  if (val && Object.keys(val).length != 0) {
8052
- clearInterval(interval);
8053
8039
  getVideoParams(val);
8054
8040
  getVideoDetail(val);
8055
8041
  const fillVal = localStorage.getItem(val);
@@ -8655,6 +8641,60 @@ const AlarmVideo = defineComponent({
8655
8641
  });
8656
8642
  var alarmVideo = installComponent(AlarmVideo, "alarm-video");
8657
8643
 
8644
+ const CloudVideo = defineComponent({
8645
+ props: {
8646
+ // 视频信息|视频源uuid
8647
+ cameraId: {
8648
+ require: true,
8649
+ type: String
8650
+ },
8651
+ channelNo: {
8652
+ type: Number,
8653
+ default: 1
8654
+ },
8655
+ // token
8656
+ token: {
8657
+ type: String,
8658
+ default: ""
8659
+ },
8660
+ // template
8661
+ template: {
8662
+ type: String,
8663
+ default: ""
8664
+ }
8665
+ },
8666
+ emits: [],
8667
+ setup(prop, _context) {
8668
+ const uuid = ref(UUID());
8669
+ const initVideo = async () => {
8670
+ const res = await axios.post("https://open.ys7.com/api/lapp/v2/live/address/get", void 0, {
8671
+ params: {
8672
+ accessToken: prop.token,
8673
+ deviceSerial: prop.cameraId,
8674
+ channelNo: prop.channelNo || 1
8675
+ }
8676
+ });
8677
+ const parent = document.getElementById(`cloudVideo_${uuid.value}`)?.parentNode;
8678
+ const opt = {
8679
+ id: `cloudVideo_${uuid.value}`,
8680
+ url: res.data.data.url,
8681
+ accessToken: prop.token,
8682
+ template: "pcLive",
8683
+ height: parent?.clientHeight
8684
+ };
8685
+ new EZUIKit.EZUIKitPlayer(opt);
8686
+ };
8687
+ onMounted(() => {
8688
+ initVideo();
8689
+ });
8690
+ return () => createVNode("div", {
8691
+ "id": `cloudVideo_${uuid.value}`,
8692
+ "class": "cloudVideo"
8693
+ }, null);
8694
+ }
8695
+ });
8696
+ var cloudVideo = installComponent(CloudVideo, "cloud-video");
8697
+
8658
8698
  const appName = "live";
8659
8699
  class WebRtcMt {
8660
8700
  constructor(opt) {
@@ -11234,4 +11274,4 @@ const SszComment = defineComponent({
11234
11274
  });
11235
11275
  var index = installComponent(SszComment, "ssz-comment");
11236
11276
 
11237
- export { alarmVideo as AlarmVideo, index$6 as ChangeThemeSelect, childLayout as ChildLayout, index$9 as Demo, index$1 as FontSelect, index$5 as HeaderMenu, IconFont$1 as IconFont, icons as IconSelect, ImportModal, index$8 as Layout, table as LayoutTable, index$7 as Login, index$2 as ParamManager, ParamManagerV2, index$3 as PeopleSelect, pollingPlay as PollingPlay, index$4 as QueryFormContainer, index as SszComment, videoBox as VideoBox, VideoBoxV2$1 as VideoBoxV2, videoPlayerV1 as VideoPlayerV1, videoPlayerV2 as VideoPlayerV2, getDetailContainer, getMenuDetail };
11277
+ export { alarmVideo as AlarmVideo, index$6 as ChangeThemeSelect, childLayout as ChildLayout, cloudVideo as CloudVideo, index$9 as Demo, index$1 as FontSelect, index$5 as HeaderMenu, IconFont$1 as IconFont, icons as IconSelect, ImportModal, index$8 as Layout, table as LayoutTable, index$7 as Login, index$2 as ParamManager, ParamManagerV2, index$3 as PeopleSelect, pollingPlay as PollingPlay, index$4 as QueryFormContainer, index as SszComment, videoBox as VideoBox, VideoBoxV2$1 as VideoBoxV2, videoPlayerV1 as VideoPlayerV1, videoPlayerV2 as VideoPlayerV2, getDetailContainer, getMenuDetail };
@@ -1,2 +1,3 @@
1
1
  .playVideos{display:flex;flex-direction:column;height:100%;padding-left:20px}.playVideos .operate{display:flex;justify-content:space-between;margin:5px 0}.playVideos .operate .button{cursor:pointer}.playVideos .grid{display:grid;flex:1;overflow:hidden}.playVideos .grid .video{background:#000;border:1px solid hsla(216,7%,59%,.3);height:100%;object-fit:fill;overflow:hidden;width:100%}.playVideos .grid.full{height:100%;left:0;position:fixed;top:0;width:100%;z-index:10}.playVideos .type1{grid-template-columns:1fr;grid-template-rows:1fr}.playVideos .type4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.playVideos .type8{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.playVideos .type8 .video:first-child{grid-column:1/4;grid-row:1/4}.playVideos .type9{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.playVideos .type13{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.playVideos .type13 .video:first-child{grid-column:1/3;grid-row:1/3}.playVideos .type16{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}@keyframes moveBottom{0%{bottom:0}to{bottom:-66px}}.videoComponent{background:#000;height:100%;position:relative;width:100%}.videoComponent.fill{object-fit:fill}.videoComponent.contain{object-fit:contain}.videoBox{height:100%;overflow:hidden;position:relative}.videoBox.alarm:before{border:2px solid #ea5858;box-shadow:inset 0 0 10px 8px rgba(234,88,88,.5);content:"";height:100%;pointer-events:none;position:absolute;top:0;width:100%;z-index:7}.videoBox:hover .selectFields{animation-duration:1s;animation-fill-mode:both;animation-name:moveBottom}.videoBox:hover .footer-min{display:flex}.videoBox:hover .footer-min .name-min span,.videoBox:hover .footer-min .tool{display:block}.videoBox .selectFields{background:rgba(0,0,0,.3);bottom:0;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr;height:66px;position:absolute;width:100%}.videoBox .selectFields .info{border:0;color:#fff;line-height:33px;overflow:hidden;padding:0 5px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.videoBox .selectFields .info .value{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.videoBox .footer-min{align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,100%,.04);border-radius:4px 4px 0 0;bottom:0;display:none;height:44px;justify-content:space-between;position:absolute;width:100%}.videoBox .footer-min .name-min{align-items:center;display:flex;padding-left:15px}.videoBox .footer-min .name-min span{color:#fff;display:none;font-size:16px;font-weight:600}.videoBox .footer-min .tool{display:none}.videoBox .footer-min .tool img{cursor:pointer;height:20px;margin-right:15px;width:20px}.videoControls{align-items:center;display:flex;flex-direction:column;width:100%}.videoControls .videoControl{height:126px;position:relative;width:126px}.videoControls .videoControl .bg{height:100%;position:relative;width:100%}.videoControls .videoControl img{cursor:pointer;position:absolute}.videoControls .videoControl .up{left:52px;top:14px}.videoControls .videoControl .lup{left:26px;top:26px;transform:rotate(-45deg)}.videoControls .videoControl .rup{left:78px;top:27px;transform:rotate(45deg)}.videoControls .videoControl .left{left:14px;top:52px;transform:rotate(-90deg)}.videoControls .videoControl .right{left:90px;top:52px;transform:rotate(90deg)}.videoControls .videoControl .ldown{left:26px;top:78px;transform:rotate(215deg)}.videoControls .videoControl .down{left:52px;top:90px;transform:rotate(180deg)}.videoControls .videoControl .rdown{left:78px;top:78px;transform:rotate(135deg)}.videoControls .btns{background:#e0e7f2;border-radius:19px;height:28px;margin:8px 8px 0;padding:3px;width:56px}.videoControls .btns img{cursor:pointer;margin-right:1px}
2
- .videoAlarmDia.dark{background:linear-gradient(90deg,#3e7eff,#1e4e75 30%,#1e4e75 70%,#3e7eff);padding:1px}.videoAlarmDia.dark .ant-modal-close{color:#fff}.videoAlarmDia.dark .ant-modal-header{background-color:#22396f;border-bottom-color:transparent;padding-left:20px}.videoAlarmDia.dark .ant-modal-header .ant-modal-title{align-items:center;background-image:linear-gradient(90deg,#2852a8 0,rgba(40,82,168,0) 50%);color:#fff;display:flex;height:42px;padding-left:10px}.videoAlarmDia.dark .ant-modal-content{background-color:#22396f}.videoAlarmDia.dark .ant-modal-content .body,.videoAlarmDia.dark .ant-modal-content .body .alarmList .alarm .name,.videoAlarmDia.dark .ant-modal-content .body .alarmList .title,.videoAlarmDia.dark .ant-modal-content .body .themeImg{color:#fff}.videoAlarmDia.dark .ant-modal-content .body .tabs .tabContainer .allTab .tab{background:#ffffff1a;color:#fff}.videoAlarmDia.dark .ant-modal-content .body .tabs .tabContainer .allTab .tab.active{background:#3e7eff;color:#fff}.videoAlarmDia .ant-modal-body{padding-top:18px}.videoAlarmDia .body{display:flex;flex-direction:column;height:660px}.videoAlarmDia .body .title{color:#000;font-size:18px}.videoAlarmDia .body .themeImg{height:18px;margin-right:5px;width:18px}.videoAlarmDia .body .current{align-self:center;display:flex;height:400px;justify-content:center;margin:10px 0 25px;width:750px}.videoAlarmDia .body .current .grid{grid-gap:3px;background-color:transparent;display:grid;height:100%;overflow:hidden;width:100%}.videoAlarmDia .body .current .grid .videoBox{background-color:#000}.videoAlarmDia .body .alarmList{display:flex;flex-wrap:wrap;justify-content:flex-start;max-height:80px;overflow:auto}.videoAlarmDia .body .alarmList .title{font-size:14px;font-weight:600;margin-bottom:10px}.videoAlarmDia .body .alarmList .alarm{align-items:center;border-radius:5px;color:#000;cursor:pointer;height:24px;margin-bottom:10px;margin-right:10px;padding:5px}.videoAlarmDia .body .alarmList .alarm img{height:16px;margin-right:5px;width:16px}.videoAlarmDia .body .alarmList .alarm .name{font-size:14px;white-space:nowrap}.videoAlarmDia .body .alarmList .alarm1{background:rgba(234,88,88,.1);color:#354052}.videoAlarmDia .body .alarmList .alarm2{background:rgba(255,146,20,.1);color:#354052}.videoAlarmDia .body .alarmList .alarm3{background:rgba(255,196,20,.1);color:#354052}.videoAlarmDia .body .alarmList .alarm4{background:rgba(62,126,255,.1);color:#354052}.videoAlarmDia .body .tip{align-items:center;display:flex;margin:0}.videoAlarmDia .body .tip .sumNum{margin-right:16px}.videoAlarmDia .body .tip .timeNum{color:#3e7eff;font-weight:600;margin-right:5px}.videoAlarmDia .body .tabs{align-items:center;display:flex;margin:10px 0 5px}.videoAlarmDia .body .tabs .themeImg{cursor:pointer;overflow:visible}.videoAlarmDia .body .tabs .endIcon{margin-left:10px}.videoAlarmDia .body .tabs .tabContainer{display:flex;overflow:hidden}.videoAlarmDia .body .tabs .tabContainer .allTab{display:flex;height:40px;left:0;position:relative}.videoAlarmDia .body .tabs .tabContainer .allTab .tab{background:#f2f3f8;border-radius:4px;cursor:pointer;font-size:14px;height:32px;line-height:32px;margin-right:10px;padding:0 10px;position:relative;text-align:center;white-space:nowrap}.videoAlarmDia .body .tabs .tabContainer .allTab .tab.active{background:#1d33a2;color:#fff}.videoAlarmDia .body .tabs .tabContainer .allTab .tab.active:after{border:10px solid transparent;border-top-color:#1d33a2;content:"";height:0;left:50%;position:absolute;top:30px;width:0}.videoAlarmDia .body .numLine{align-items:center;display:flex}.videoAlarmDia .body .numLine .cameraNum{color:#3e7eff;font-weight:600}.videoAlarmDia .body .numLine .tipImg{height:18px;margin:0 5px 0 25px;width:18px}.videoAlarmDia .body .numLine .alarmNum{color:#fa4141;font-weight:600}.videoAlarmDia .body .otherAlarm{align-items:center;display:flex}.videoAlarmDia .body .otherAlarm .ant-tag{cursor:pointer;font-size:14px}.videoAlarmDia .body .otherAlarm .tipImg{height:18px;margin-right:5px;width:18px}.videoAlarmDia .body .otherAlarm .annotation{height:12px;margin:2px;width:12px}.videoAlarmDia .body .type1{grid-template-columns:1fr;grid-template-rows:1fr}.videoAlarmDia .body .type4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.videoAlarmDia .body .type8{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.videoAlarmDia .body .type8 .videoBox:first-child{grid-column:1/4;grid-row:1/4}.videoAlarmDia .body .type9{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.videoAlarmDia .body .type13{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.videoAlarmDia .body .type13 .videoBox:first-child{grid-column:1/3;grid-row:1/3}.videoAlarmDia .body .type16{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}
2
+ .videoAlarmDia.dark{background:linear-gradient(90deg,#3e7eff,#1e4e75 30%,#1e4e75 70%,#3e7eff);padding:1px}.videoAlarmDia.dark .ant-modal-close{color:#fff}.videoAlarmDia.dark .ant-modal-header{background-color:#22396f;border-bottom-color:transparent;padding-left:20px}.videoAlarmDia.dark .ant-modal-header .ant-modal-title{align-items:center;background-image:linear-gradient(90deg,#2852a8 0,rgba(40,82,168,0) 50%);color:#fff;display:flex;height:42px;padding-left:10px}.videoAlarmDia.dark .ant-modal-content{background-color:#22396f}.videoAlarmDia.dark .ant-modal-content .body,.videoAlarmDia.dark .ant-modal-content .body .alarmList .alarm .name,.videoAlarmDia.dark .ant-modal-content .body .alarmList .title,.videoAlarmDia.dark .ant-modal-content .body .themeImg{color:#fff}.videoAlarmDia.dark .ant-modal-content .body .tabs .tabContainer .allTab .tab{background:#ffffff1a;color:#fff}.videoAlarmDia.dark .ant-modal-content .body .tabs .tabContainer .allTab .tab.active{background:#3e7eff;color:#fff}.videoAlarmDia .ant-modal-body{padding-top:18px}.videoAlarmDia .body{display:flex;flex-direction:column;height:660px}.videoAlarmDia .body .title{color:#000;font-size:18px}.videoAlarmDia .body .themeImg{height:18px;margin-right:5px;width:18px}.videoAlarmDia .body .current{align-self:center;display:flex;height:400px;justify-content:center;margin:10px 0 25px;width:750px}.videoAlarmDia .body .current .grid{grid-gap:3px;background-color:transparent;display:grid;height:100%;overflow:hidden;width:100%}.videoAlarmDia .body .current .grid .videoBox{background-color:#000}.videoAlarmDia .body .alarmList{display:flex;flex-wrap:wrap;justify-content:flex-start;max-height:80px;overflow:auto}.videoAlarmDia .body .alarmList .title{font-size:14px;font-weight:600;margin-bottom:10px}.videoAlarmDia .body .alarmList .alarm{align-items:center;border-radius:5px;color:#000;cursor:pointer;height:24px;margin-bottom:10px;margin-right:10px;padding:5px}.videoAlarmDia .body .alarmList .alarm img{height:16px;margin-right:5px;width:16px}.videoAlarmDia .body .alarmList .alarm .name{font-size:14px;white-space:nowrap}.videoAlarmDia .body .alarmList .alarm1{background:rgba(234,88,88,.1);color:#354052}.videoAlarmDia .body .alarmList .alarm2{background:rgba(255,146,20,.1);color:#354052}.videoAlarmDia .body .alarmList .alarm3{background:rgba(255,196,20,.1);color:#354052}.videoAlarmDia .body .alarmList .alarm4{background:rgba(62,126,255,.1);color:#354052}.videoAlarmDia .body .tip{align-items:center;display:flex;margin:0}.videoAlarmDia .body .tip .sumNum{margin-right:16px}.videoAlarmDia .body .tip .timeNum{color:#3e7eff;font-weight:600;margin-right:5px}.videoAlarmDia .body .tabs{align-items:center;display:flex;margin:10px 0 5px}.videoAlarmDia .body .tabs .themeImg{cursor:pointer;overflow:visible}.videoAlarmDia .body .tabs .endIcon{margin-left:10px}.videoAlarmDia .body .tabs .tabContainer{display:flex;overflow:hidden}.videoAlarmDia .body .tabs .tabContainer .allTab{display:flex;height:40px;left:0;position:relative}.videoAlarmDia .body .tabs .tabContainer .allTab .tab{background:#f2f3f8;border-radius:4px;cursor:pointer;font-size:14px;height:32px;line-height:32px;margin-right:10px;padding:0 10px;position:relative;text-align:center;white-space:nowrap}.videoAlarmDia .body .tabs .tabContainer .allTab .tab.active{background:#1d33a2;color:#fff}.videoAlarmDia .body .tabs .tabContainer .allTab .tab.active:after{border:10px solid transparent;border-top-color:#1d33a2;content:"";height:0;left:50%;position:absolute;top:30px;width:0}.videoAlarmDia .body .numLine{align-items:center;display:flex}.videoAlarmDia .body .numLine .cameraNum{color:#3e7eff;font-weight:600}.videoAlarmDia .body .numLine .tipImg{height:18px;margin:0 5px 0 25px;width:18px}.videoAlarmDia .body .numLine .alarmNum{color:#fa4141;font-weight:600}.videoAlarmDia .body .otherAlarm{align-items:center;display:flex}.videoAlarmDia .body .otherAlarm .ant-tag{cursor:pointer;font-size:14px}.videoAlarmDia .body .otherAlarm .tipImg{height:18px;margin-right:5px;width:18px}.videoAlarmDia .body .otherAlarm .annotation{height:12px;margin:2px;width:12px}.videoAlarmDia .body .type1{grid-template-columns:1fr;grid-template-rows:1fr}.videoAlarmDia .body .type4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.videoAlarmDia .body .type8{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.videoAlarmDia .body .type8 .videoBox:first-child{grid-column:1/4;grid-row:1/4}.videoAlarmDia .body .type9{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr}.videoAlarmDia .body .type13{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}.videoAlarmDia .body .type13 .videoBox:first-child{grid-column:1/3;grid-row:1/3}.videoAlarmDia .body .type16{grid-template-columns:1fr 1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr 1fr}
3
+ .cloudVideo{height:100%}
@@ -4773,7 +4773,7 @@ class WebRtcMt {
4773
4773
  }
4774
4774
  }
4775
4775
  }
4776
- retryTime;
4776
+ // protected retryTime;
4777
4777
  // 拉流创建播放器
4778
4778
  createVideo(plays) {
4779
4779
  this.mediaServerAddrMap.set(plays.videoElm, plays);
@@ -4784,7 +4784,6 @@ class WebRtcMt {
4784
4784
  fetch(addRtspProxyUrl, {
4785
4785
  method: "GET"
4786
4786
  }).then(response => {
4787
- this.retryTime = 0;
4788
4787
  response.json().then(res => {
4789
4788
  if (res.code === 0) {
4790
4789
  this.startPlay(plays);
@@ -4796,12 +4795,9 @@ class WebRtcMt {
4796
4795
  }
4797
4796
  });
4798
4797
  }).catch(err => {
4799
- if (!this.retryTime) {
4800
- this.retryTime = 60;
4801
- setTimeout(() => {
4802
- this.rePlay();
4803
- }, 60 * 1e3);
4804
- }
4798
+ setTimeout(() => {
4799
+ this.rePlay();
4800
+ }, 3 * 60 * 1e3);
4805
4801
  });
4806
4802
  });
4807
4803
  }
@@ -4860,7 +4856,7 @@ class WebRtcMt {
4860
4856
  this.stopPlay();
4861
4857
  setTimeout(() => {
4862
4858
  this.init(this.opt);
4863
- }, 1e3);
4859
+ }, 5 * 1e3);
4864
4860
  }
4865
4861
  // 播放
4866
4862
  play(videoElm) {
@@ -4764,7 +4764,7 @@ class WebRtcMt {
4764
4764
  }
4765
4765
  }
4766
4766
  }
4767
- retryTime;
4767
+ // protected retryTime;
4768
4768
  // 拉流创建播放器
4769
4769
  createVideo(plays) {
4770
4770
  this.mediaServerAddrMap.set(plays.videoElm, plays);
@@ -4775,7 +4775,6 @@ class WebRtcMt {
4775
4775
  fetch(addRtspProxyUrl, {
4776
4776
  method: "GET"
4777
4777
  }).then(response => {
4778
- this.retryTime = 0;
4779
4778
  response.json().then(res => {
4780
4779
  if (res.code === 0) {
4781
4780
  this.startPlay(plays);
@@ -4787,12 +4786,9 @@ class WebRtcMt {
4787
4786
  }
4788
4787
  });
4789
4788
  }).catch(err => {
4790
- if (!this.retryTime) {
4791
- this.retryTime = 60;
4792
- setTimeout(() => {
4793
- this.rePlay();
4794
- }, 60 * 1e3);
4795
- }
4789
+ setTimeout(() => {
4790
+ this.rePlay();
4791
+ }, 3 * 60 * 1e3);
4796
4792
  });
4797
4793
  });
4798
4794
  }
@@ -4851,7 +4847,7 @@ class WebRtcMt {
4851
4847
  this.stopPlay();
4852
4848
  setTimeout(() => {
4853
4849
  this.init(this.opt);
4854
- }, 1e3);
4850
+ }, 5 * 1e3);
4855
4851
  }
4856
4852
  // 播放
4857
4853
  play(videoElm) {