@vtx/player 1.7.14 → 1.7.16

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 (143) hide show
  1. package/README.md +2 -2
  2. package/lib/api/fetch.js +91 -62
  3. package/lib/api/fetch.js.map +1 -1
  4. package/lib/api/index.js +63 -18
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/api/types.d.ts +5 -5
  7. package/lib/bd/PlayerManager.js +68 -38
  8. package/lib/bd/PlayerManager.js.map +1 -1
  9. package/lib/bill-player/index.d.ts +1 -1
  10. package/lib/bill-player/index.js +121 -66
  11. package/lib/bill-player/index.js.map +1 -1
  12. package/lib/bill-player/style/css.js +9 -0
  13. package/lib/bill-player/style/css.js.map +1 -1
  14. package/lib/bill-player/style/index.js +9 -0
  15. package/lib/bill-player/style/index.js.map +1 -1
  16. package/lib/bill-player/style/index.less +297 -297
  17. package/lib/components/set-tag-video/index.js +34 -6
  18. package/lib/components/set-tag-video/index.js.map +1 -1
  19. package/lib/components/set-tag-video/style/css.js.map +1 -1
  20. package/lib/components/set-tag-video/style/index.js.map +1 -1
  21. package/lib/components/set-tag-video/style/index.less +125 -125
  22. package/lib/components/split-screen/index.d.ts +1 -1
  23. package/lib/components/split-screen/index.js +14 -3
  24. package/lib/components/split-screen/index.js.map +1 -1
  25. package/lib/components/split-screen/style/css.js.map +1 -1
  26. package/lib/components/split-screen/style/index.js.map +1 -1
  27. package/lib/components/tag-video/index.js +38 -10
  28. package/lib/components/tag-video/index.js.map +1 -1
  29. package/lib/components/tag-video/style/css.js.map +1 -1
  30. package/lib/components/tag-video/style/index.js.map +1 -1
  31. package/lib/components/tag-video/style/index.less +69 -69
  32. package/lib/components/video-scale/index.d.ts +1 -1
  33. package/lib/components/video-scale/index.js +9 -2
  34. package/lib/components/video-scale/index.js.map +1 -1
  35. package/lib/components/video-scale/style/css.js.map +1 -1
  36. package/lib/components/video-scale/style/index.js.map +1 -1
  37. package/lib/context/index.js +4 -0
  38. package/lib/context/index.js.map +1 -1
  39. package/lib/controls/index.d.ts +11 -11
  40. package/lib/controls/index.js +99 -34
  41. package/lib/controls/index.js.map +1 -1
  42. package/lib/controls/style/css.js +5 -0
  43. package/lib/controls/style/css.js.map +1 -1
  44. package/lib/controls/style/index.js +5 -0
  45. package/lib/controls/style/index.js.map +1 -1
  46. package/lib/controls/style/index.less +188 -188
  47. package/lib/h264/PlayerManager.js +27 -18
  48. package/lib/h264/PlayerManager.js.map +1 -1
  49. package/lib/history-control/index.d.ts +2 -2
  50. package/lib/history-control/index.js +121 -61
  51. package/lib/history-control/index.js.map +1 -1
  52. package/lib/history-control/style/css.js +6 -0
  53. package/lib/history-control/style/css.js.map +1 -1
  54. package/lib/history-control/style/index.js +6 -0
  55. package/lib/history-control/style/index.js.map +1 -1
  56. package/lib/history-control/style/index.less +252 -252
  57. package/lib/history-control-v2/components/grid-item/index.js +79 -38
  58. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  59. package/lib/history-control-v2/components/panel/index.js +114 -44
  60. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  61. package/lib/history-control-v2/context.js +2 -0
  62. package/lib/history-control-v2/context.js.map +1 -1
  63. package/lib/history-control-v2/index.d.ts +4 -4
  64. package/lib/history-control-v2/index.js +166 -97
  65. package/lib/history-control-v2/index.js.map +1 -1
  66. package/lib/history-control-v2/style/css.js +10 -0
  67. package/lib/history-control-v2/style/css.js.map +1 -1
  68. package/lib/history-control-v2/style/index.js +10 -0
  69. package/lib/history-control-v2/style/index.js.map +1 -1
  70. package/lib/history-control-v2/style/index.less +437 -437
  71. package/lib/history-control-v2/utils.js +21 -1
  72. package/lib/history-control-v2/utils.js.map +1 -1
  73. package/lib/history-player/index.d.ts +3 -3
  74. package/lib/history-player/index.js +210 -146
  75. package/lib/history-player/index.js.map +1 -1
  76. package/lib/history-player/style/css.js +3 -0
  77. package/lib/history-player/style/css.js.map +1 -1
  78. package/lib/history-player/style/index.js +3 -0
  79. package/lib/history-player/style/index.js.map +1 -1
  80. package/lib/history-player/style/index.less +102 -102
  81. package/lib/hooks/useSettings.js +6 -1
  82. package/lib/hooks/useSettings.js.map +1 -1
  83. package/lib/icc/PlayerManager.js +57 -26
  84. package/lib/icc/PlayerManager.js.map +1 -1
  85. package/lib/icc/api.d.ts +68 -0
  86. package/lib/icc/api.js +16 -2
  87. package/lib/icc/api.js.map +1 -1
  88. package/lib/icons/index.d.ts +36 -36
  89. package/lib/icons/index.js +171 -23
  90. package/lib/icons/index.js.map +1 -1
  91. package/lib/icons/index.less +32 -32
  92. package/lib/index.js +10 -0
  93. package/lib/index.js.map +1 -1
  94. package/lib/live-channel-player/index.d.ts +1 -1
  95. package/lib/live-channel-player/index.js +67 -31
  96. package/lib/live-channel-player/index.js.map +1 -1
  97. package/lib/live-channel-player/style/css.js +1 -0
  98. package/lib/live-channel-player/style/css.js.map +1 -1
  99. package/lib/live-channel-player/style/index.js +1 -0
  100. package/lib/live-channel-player/style/index.js.map +1 -1
  101. package/lib/live-control/index.d.ts +2 -2
  102. package/lib/live-control/index.js +86 -35
  103. package/lib/live-control/index.js.map +1 -1
  104. package/lib/live-control/style/css.js +4 -0
  105. package/lib/live-control/style/css.js.map +1 -1
  106. package/lib/live-control/style/index.js +4 -0
  107. package/lib/live-control/style/index.js.map +1 -1
  108. package/lib/live-control/style/index.less +99 -99
  109. package/lib/live-control-v2/index.d.ts +3 -3
  110. package/lib/live-control-v2/index.js +153 -65
  111. package/lib/live-control-v2/index.js.map +1 -1
  112. package/lib/live-control-v2/style/css.js +7 -0
  113. package/lib/live-control-v2/style/css.js.map +1 -1
  114. package/lib/live-control-v2/style/index.js +7 -0
  115. package/lib/live-control-v2/style/index.js.map +1 -1
  116. package/lib/live-control-v2/style/index.less +192 -192
  117. package/lib/live-player/index.js +136 -95
  118. package/lib/live-player/index.js.map +1 -1
  119. package/lib/live-player/style/css.js +2 -0
  120. package/lib/live-player/style/css.js.map +1 -1
  121. package/lib/live-player/style/index.js +2 -0
  122. package/lib/live-player/style/index.js.map +1 -1
  123. package/lib/live-player/style/index.less +75 -75
  124. package/lib/player/index.d.ts +1 -1
  125. package/lib/player/index.js +243 -78
  126. package/lib/player/index.js.map +1 -1
  127. package/lib/rsl/PlayerManager.js +64 -18
  128. package/lib/rsl/PlayerManager.js.map +1 -1
  129. package/lib/typings/@vtx/utils/index.d.ts +28 -28
  130. package/lib/typings/h5player.d.ts +146 -146
  131. package/lib/typings/webrtcplayer.d.ts +56 -56
  132. package/lib/typings/wsplayer.d.ts +99 -99
  133. package/lib/utils/index.d.ts +1 -1
  134. package/lib/utils/index.js +91 -12
  135. package/lib/utils/index.js.map +1 -1
  136. package/lib/vite-env.d.ts +1 -1
  137. package/lib/vtxHls/PlayerManager.js +20 -6
  138. package/lib/vtxHls/PlayerManager.js.map +1 -1
  139. package/lib/vtxHls/WhepManager.js +72 -9
  140. package/lib/vtxHls/WhepManager.js.map +1 -1
  141. package/lib/webrtc/PlayerManager.js +41 -28
  142. package/lib/webrtc/PlayerManager.js.map +1 -1
  143. package/package.json +124 -124
@@ -1,99 +1,99 @@
1
-
2
- export declare class Wsplayer {
3
- constructor();
4
-
5
- /**
6
- * 播放实时预览视频
7
- * @param opt.channelList: {Array<Object>} 必填,通道列表
8
- * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
9
- * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
10
- */
11
- // channelList: [{
12
- // id: channelCode, // {String} 通道编码 -- 用于预览,必填
13
- // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填
14
- // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填
15
- // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填
16
- // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填
17
- // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填
18
- // capability: capability, // {String} 能力集 -- 用于云台,选填
19
- // }]
20
- playRealVideo(opts: {
21
- channelList: object[];
22
- streamType?: string | number;
23
- windowIndex?: number
24
- }): void
25
-
26
- /**
27
- * 播放录像回放
28
- * @param opt.channelList {Array<Object>} 通道集合 必填
29
- * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
30
- * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
31
- * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
32
- * @param opt.streamType {String|Number} 码流类型 可选
33
- * @param opt.recordType {String|Number} 录像类型 可选
34
- */
35
- // channelList: [{
36
- // id: channelCode, // {String} 通道编码 -- 用于回放,必填
37
- // }]
38
- playRecordVideo(opts: {
39
- channelList: object[];
40
- startTime: string | number;
41
- endTime: string | number;
42
- recordSource: string | number;
43
- streamType?: string | number;
44
- recordType?: string | number
45
- }): void;
46
-
47
- /**
48
- * 录像暂停
49
- * 只有正在播放的录像调用才有效
50
- */
51
- pause(): void;
52
-
53
- /**
54
- * 录像暂停后播放
55
- * 只有暂停后的录像调用才有效
56
- */
57
- play(): void;
58
-
59
- /**
60
- * 设置播放速度
61
- * @param speed 倍速
62
- */
63
- playSpeed(speed: 0.125 | 0.25 | 0.5 | 1 | 2 | 4 | 8): void;
64
-
65
- /**
66
- * 关闭窗口
67
- * @param index 窗口索引
68
- */
69
- close(index?: number): void;
70
-
71
- /**
72
- * 设置全屏
73
- */
74
- setFullScreen(): void;
75
-
76
- /**
77
- * 设置窗口自适应还是拉伸
78
- * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
79
- */
80
- setPlayerAdapter(playerAdapter: 'selfAdaption' | 'stretching' ): void;
81
-
82
- /**
83
- * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
84
- * @param {number} number
85
- */
86
- setPlayerNum(num: 1 | 4 | 9 | 16 | 25): void;
87
-
88
- /**
89
- * 设置选中的播放器的索引
90
- * @param {number} index
91
- */
92
- setSelectIndex(index: number);
93
-
94
- /**
95
- * 录像跳转播放
96
- * @param {string} time HH:mm:ss格式
97
- */
98
- jumpPlayByTime(time: string);
99
- }
1
+
2
+ export declare class Wsplayer {
3
+ constructor();
4
+
5
+ /**
6
+ * 播放实时预览视频
7
+ * @param opt.channelList: {Array<Object>} 必填,通道列表
8
+ * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
9
+ * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
10
+ */
11
+ // channelList: [{
12
+ // id: channelCode, // {String} 通道编码 -- 用于预览,必填
13
+ // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填
14
+ // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填
15
+ // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填
16
+ // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填
17
+ // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填
18
+ // capability: capability, // {String} 能力集 -- 用于云台,选填
19
+ // }]
20
+ playRealVideo(opts: {
21
+ channelList: object[];
22
+ streamType?: string | number;
23
+ windowIndex?: number
24
+ }): void
25
+
26
+ /**
27
+ * 播放录像回放
28
+ * @param opt.channelList {Array<Object>} 通道集合 必填
29
+ * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
30
+ * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
31
+ * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
32
+ * @param opt.streamType {String|Number} 码流类型 可选
33
+ * @param opt.recordType {String|Number} 录像类型 可选
34
+ */
35
+ // channelList: [{
36
+ // id: channelCode, // {String} 通道编码 -- 用于回放,必填
37
+ // }]
38
+ playRecordVideo(opts: {
39
+ channelList: object[];
40
+ startTime: string | number;
41
+ endTime: string | number;
42
+ recordSource: string | number;
43
+ streamType?: string | number;
44
+ recordType?: string | number
45
+ }): void;
46
+
47
+ /**
48
+ * 录像暂停
49
+ * 只有正在播放的录像调用才有效
50
+ */
51
+ pause(): void;
52
+
53
+ /**
54
+ * 录像暂停后播放
55
+ * 只有暂停后的录像调用才有效
56
+ */
57
+ play(): void;
58
+
59
+ /**
60
+ * 设置播放速度
61
+ * @param speed 倍速
62
+ */
63
+ playSpeed(speed: 0.125 | 0.25 | 0.5 | 1 | 2 | 4 | 8): void;
64
+
65
+ /**
66
+ * 关闭窗口
67
+ * @param index 窗口索引
68
+ */
69
+ close(index?: number): void;
70
+
71
+ /**
72
+ * 设置全屏
73
+ */
74
+ setFullScreen(): void;
75
+
76
+ /**
77
+ * 设置窗口自适应还是拉伸
78
+ * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
79
+ */
80
+ setPlayerAdapter(playerAdapter: 'selfAdaption' | 'stretching' ): void;
81
+
82
+ /**
83
+ * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
84
+ * @param {number} number
85
+ */
86
+ setPlayerNum(num: 1 | 4 | 9 | 16 | 25): void;
87
+
88
+ /**
89
+ * 设置选中的播放器的索引
90
+ * @param {number} index
91
+ */
92
+ setSelectIndex(index: number);
93
+
94
+ /**
95
+ * 录像跳转播放
96
+ * @param {string} time HH:mm:ss格式
97
+ */
98
+ jumpPlayByTime(time: string);
99
+ }
@@ -10,7 +10,7 @@ export declare enum TimeFormat {
10
10
  }
11
11
  /** 生成随机ID */
12
12
  export declare const guidGenerator: () => string;
13
- type PlayerParams = {
13
+ declare type PlayerParams = {
14
14
  /** 视频流地址 */
15
15
  url: string;
16
16
  /** 视频流格式 */
@@ -9,71 +9,103 @@ exports.guidGenerator = void 0;
9
9
  exports.loadCss = loadCss;
10
10
  exports.loadJs = loadJs;
11
11
  exports.secondsToTime = exports.secondsToString = void 0;
12
+
12
13
  var _jsBase = require("js-base64");
14
+
13
15
  var _moment = _interopRequireDefault(require("moment"));
16
+
14
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+
15
19
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
+
16
21
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
+
17
23
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
19
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
24
+
25
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
26
+
27
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
28
+
20
29
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
+
21
31
  /** 时间格式枚举 */
22
32
  var TimeFormat;
23
33
  exports.TimeFormat = TimeFormat;
34
+
24
35
  (function (TimeFormat) {
25
36
  TimeFormat["default"] = "YYYY-MM-DDTHH:mm:ss";
26
37
  TimeFormat["params"] = "YYYY-MM-DD HH:mm:ss";
27
38
  TimeFormat["url"] = "YYYYMMDDTHHmmss";
28
39
  })(TimeFormat || (exports.TimeFormat = TimeFormat = {}));
29
40
  /** 生成随机ID */
41
+
42
+
30
43
  var guidGenerator = function guidGenerator() {
31
44
  var S4 = function S4() {
32
45
  return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);
33
46
  };
47
+
34
48
  return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();
35
49
  };
50
+
36
51
  exports.guidGenerator = guidGenerator;
52
+
37
53
  var initProtocol = function initProtocol(url, enableAgent) {
38
54
  var src = url;
55
+
39
56
  if (enableAgent) {
40
57
  var isHttps = 'https:' === document.location.protocol;
58
+
41
59
  if (url.startsWith('http:')) {
42
60
  url = url.replace('http://', '');
61
+
43
62
  if (url.startsWith('https:')) {
44
63
  url = url.replace('https://', '');
45
64
  }
65
+
46
66
  var ipPort = url.substring(0, url.indexOf('/'));
47
67
  var path = url.substring(url.indexOf('/'));
48
68
  src = '/visProxy/' + ipPort + '/play' + path;
49
69
  } else if (url.startsWith('ws:')) {
50
70
  url = url.replace('ws://', '');
71
+
51
72
  if (url.startsWith('wss:')) {
52
73
  url = url.replace('wss://', '');
53
74
  }
75
+
54
76
  var _ipPort = url.substring(0, url.indexOf('/'));
77
+
55
78
  var _path = url.substring(url.indexOf('/'));
79
+
56
80
  var protocol = isHttps ? 'wss://' : 'ws://';
57
81
  src = protocol + window.location.host + '/visProxy/' + _ipPort + '/play' + _path;
58
82
  }
59
83
  } else {
60
84
  var _isHttps = 'https:' === document.location.protocol;
85
+
61
86
  if (_isHttps) {
62
87
  if (url.startsWith('http:')) {
63
88
  url = url.replace('http://', '');
89
+
64
90
  var _ipPort2 = url.substring(0, url.indexOf('/'));
91
+
65
92
  var _path2 = url.substring(url.indexOf('/'));
93
+
66
94
  src = '/visProxy/' + _ipPort2 + '/play' + _path2;
67
95
  } else if (url.startsWith('ws:')) {
68
96
  url = url.replace('ws://', '');
97
+
69
98
  var _ipPort3 = url.substring(0, url.indexOf('/'));
99
+
70
100
  var _path3 = url.substring(url.indexOf('/'));
101
+
71
102
  src = 'wss://' + window.location.host + '/visProxy/' + _ipPort3 + '/play' + _path3;
72
103
  } else {
73
104
  src = url;
74
105
  }
75
106
  }
76
107
  }
108
+
77
109
  return src;
78
110
  };
79
111
  /**
@@ -81,9 +113,12 @@ var initProtocol = function initProtocol(url, enableAgent) {
81
113
  * @param url
82
114
  * @returns
83
115
  */
116
+
117
+
84
118
  var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
85
119
  var playerUrl = url;
86
120
  var playerType = 'mp4';
121
+
87
122
  if (type === 'bd') {
88
123
  if (url.startsWith('http')) {
89
124
  return {
@@ -91,11 +126,13 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
91
126
  url: url
92
127
  };
93
128
  }
129
+
94
130
  return {
95
131
  type: 'bd',
96
132
  url: "".concat(window.location.origin).concat(url)
97
133
  };
98
134
  }
135
+
99
136
  if (type === 'vtx_ws') {
100
137
  return {
101
138
  type: 'vtx_ws',
@@ -107,50 +144,60 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
107
144
  } else {
108
145
  playerType = 'hk_ws';
109
146
  }
147
+
110
148
  if (live) {
111
149
  playerUrl = url;
112
150
  } else {
113
151
  playerUrl = url.split('?')[0];
114
152
  }
115
153
  }
154
+
116
155
  if (url.startsWith('rtsp://')) {
117
156
  var baseUrlPrefix = process.env.PREFIX ? "".concat(process.env.PREFIX) : '';
118
157
  playerType = 'flv';
119
158
  playerUrl = baseUrlPrefix + "/cloud/vic/convert/flv/live.flv?url=".concat(_jsBase.Base64.encode(url));
120
159
  }
160
+
121
161
  if (url.indexOf('flv') > -1) {
122
162
  playerUrl = url;
123
163
  playerType = 'flv';
124
164
  }
165
+
125
166
  if (url.indexOf('m3u8') > -1) {
126
167
  playerUrl = url;
127
168
  playerType = 'hls';
128
- }
129
- // 特殊类型
169
+ } // 特殊类型
170
+
171
+
130
172
  if (url.indexOf('vtxm3u8') > -1) {
131
173
  playerUrl = url;
132
174
  playerType = 'vtxhls';
133
- }
134
- // 特殊类型
175
+ } // 特殊类型
176
+
177
+
135
178
  if (url.indexOf('vtxwhep') > -1) {
136
179
  playerUrl = url;
137
180
  playerType = 'vtxwhep';
138
181
  }
182
+
139
183
  if (url.indexOf('webrtc') > -1) {
140
184
  playerUrl = url;
141
185
  playerType = 'webrtc';
142
186
  }
187
+
143
188
  if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {
144
189
  playerUrl = url;
145
190
  playerType = 'h264';
146
- }
147
- // rsl
191
+ } // rsl
192
+
193
+
148
194
  if (playerType === 'mp4' || playerType === 'iframe' || playerType === 'rsl') {
149
195
  return {
150
196
  type: playerType,
151
197
  url: url
152
198
  };
153
199
  }
200
+
154
201
  return {
155
202
  url: initProtocol(playerUrl, enableAgent),
156
203
  type: playerType
@@ -161,7 +208,10 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
161
208
  * @param data
162
209
  * @returns
163
210
  */
211
+
212
+
164
213
  exports.getPlayerParams = getPlayerParams;
214
+
165
215
  var getUrlTableData = function getUrlTableData(data) {
166
216
  var result = data.list.map(function (item, i) {
167
217
  var beginTime = (0, _moment["default"])(item.beginTime);
@@ -195,7 +245,10 @@ var getUrlTableData = function getUrlTableData(data) {
195
245
  * @param bytes
196
246
  * @returns
197
247
  */
248
+
249
+
198
250
  exports.getUrlTableData = getUrlTableData;
251
+
199
252
  var bytesToMegaBytes = function bytesToMegaBytes(bytes) {
200
253
  return "".concat((bytes / Math.pow(1024, 2)).toFixed(2), "MB");
201
254
  };
@@ -204,7 +257,10 @@ var bytesToMegaBytes = function bytesToMegaBytes(bytes) {
204
257
  * @param total
205
258
  * @returns
206
259
  */
260
+
261
+
207
262
  exports.bytesToMegaBytes = bytesToMegaBytes;
263
+
208
264
  var secondsToString = function secondsToString(total) {
209
265
  var hour = Math.floor(total / 3600);
210
266
  var minute = Math.floor(total % 3600 / 60);
@@ -217,7 +273,10 @@ var secondsToString = function secondsToString(total) {
217
273
  * @param total
218
274
  * @returns
219
275
  */
276
+
277
+
220
278
  exports.secondsToString = secondsToString;
279
+
221
280
  var secondsToTime = function secondsToTime(total) {
222
281
  var hour = Math.floor(total / 3600);
223
282
  var minute = Math.floor(total % 3600 / 60);
@@ -230,7 +289,10 @@ var secondsToTime = function secondsToTime(total) {
230
289
  * @param time 时间
231
290
  * @returns
232
291
  */
292
+
293
+
233
294
  exports.secondsToTime = secondsToTime;
295
+
234
296
  var getHKTimeString = function getHKTimeString(time) {
235
297
  return (0, _moment["default"])(time).format(TimeFormat["default"]) + 'Z';
236
298
  };
@@ -241,12 +303,16 @@ var getHKTimeString = function getHKTimeString(time) {
241
303
  * @param endTime 结束时间
242
304
  * @returns
243
305
  */
306
+
307
+
244
308
  exports.getHKTimeString = getHKTimeString;
309
+
245
310
  var getHKListUrl = function getHKListUrl(totalUrl, startTime, endTime) {
246
311
  var _totalUrl$split = totalUrl.split('?'),
247
- _totalUrl$split2 = _slicedToArray(_totalUrl$split, 2),
248
- url = _totalUrl$split2[0],
249
- query = _totalUrl$split2[1];
312
+ _totalUrl$split2 = _slicedToArray(_totalUrl$split, 2),
313
+ url = _totalUrl$split2[0],
314
+ query = _totalUrl$split2[1];
315
+
250
316
  var urlParams = new URLSearchParams(query);
251
317
  urlParams.set('beginTime', getHKTimeString(startTime));
252
318
  urlParams.set('endTime', getHKTimeString(endTime));
@@ -271,21 +337,27 @@ var getHKListUrl = function getHKListUrl(totalUrl, startTime, endTime) {
271
337
  // urlParams.set('endTime', moment(endTime).format(TimeFormat.url));
272
338
  // return `${url}?${urlParams.toString()}`;
273
339
  // };
340
+
274
341
  /**
275
342
  * 获取地址栏中的参数信息
276
343
  * @param key 字段key
277
344
  * @param href 链接
278
345
  * @returns 字段值
279
346
  */
347
+
348
+
280
349
  exports.getHKListUrl = getHKListUrl;
350
+
281
351
  var getUrlParam = function getUrlParam(key) {
282
352
  var href = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.href;
283
353
  var paramObj = {};
284
354
  var matchList = href.match(/([^\?&]+)=([^\?&#]+)/g) || [];
355
+
285
356
  for (var i = 0, len = matchList.length; i < len; i++) {
286
357
  var r = matchList[i].match(/([^\?&]+)=([^\?&]+)/);
287
358
  paramObj[r[1]] = r[2];
288
359
  }
360
+
289
361
  if (key) {
290
362
  return paramObj[key];
291
363
  } else {
@@ -296,28 +368,35 @@ var getUrlParam = function getUrlParam(key) {
296
368
  *
297
369
  * @returns 返回UUID
298
370
  */
371
+
372
+
299
373
  exports.getUrlParam = getUrlParam;
374
+
300
375
  function guid() {
301
376
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
302
377
  var r = Math.random() * 16 | 0,
303
- v = c == 'x' ? r : r & 0x3 | 0x8;
378
+ v = c == 'x' ? r : r & 0x3 | 0x8;
304
379
  return v.toString(16);
305
380
  });
306
381
  }
382
+
307
383
  function loadJs(path) {
308
384
  if (!path || path.length === 0) {
309
385
  throw new Error('argument "path" is required !');
310
386
  }
387
+
311
388
  var head = document.getElementsByTagName('head')[0];
312
389
  var script = document.createElement('script');
313
390
  script.src = path;
314
391
  script.type = 'text/javascript';
315
392
  head.appendChild(script);
316
393
  }
394
+
317
395
  function loadCss(path) {
318
396
  if (!path || path.length === 0) {
319
397
  throw new Error('argument "path" is required !');
320
398
  }
399
+
321
400
  var head = document.getElementsByTagName('head')[0];
322
401
  var link = document.createElement('link');
323
402
  link.href = path;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsBase","require","_moment","_interopRequireDefault","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","TimeFormat","exports","guidGenerator","S4","Math","random","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","concat","origin","split","baseUrlPrefix","process","env","PREFIX","Base64","encode","getUrlTableData","data","result","list","map","item","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","_totalUrl$split","_totalUrl$split2","query","urlParams","URLSearchParams","set","getUrlParam","key","href","arguments","undefined","paramObj","matchList","match","r","guid","c","v","loadJs","Error","head","getElementsByTagName","script","createElement","appendChild","loadCss","link","rel"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'mp4';\n if (type === 'bd') {\n if (url.startsWith('http')) {\n return {\n type: 'bd',\n url,\n };\n }\n return {\n type: 'bd',\n url: `${window.location.origin}${url}`,\n };\n }\n if (type === 'vtx_ws') {\n return {\n type: 'vtx_ws',\n url,\n };\n }\n else if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n const baseUrlPrefix = process.env.PREFIX ? `${process.env.PREFIX}` : '';\n playerType = 'flv';\n playerUrl = baseUrlPrefix + `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n // 特殊类型\n if (url.indexOf('vtxm3u8') > -1) {\n playerUrl = url;\n playerType = 'vtxhls';\n }\n // 特殊类型\n if (url.indexOf('vtxwhep') > -1) {\n playerUrl = url;\n playerType = 'vtxwhep';\n }\n if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\n }\n // rsl\n if (playerType === 'mp4' || playerType === 'iframe' || playerType === 'rsl') {\n return {\n type: playerType,\n url,\n };\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\n// const [url, query] = totalUrl.split('?');\n// const urlParams = new URLSearchParams(query);\n// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n// return `${url}?${urlParams.toString()}`;\n// };\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\nexport function loadJs(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.src = path;\n script.type = 'text/javascript';\n head.appendChild(script);\n}\nexport function loadCss(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const link = document.createElement('link');\n link.href = path;\n link.rel = 'stylesheet';\n link.type = 'text/css';\n head.appendChild(link);\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA4B,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,eAAAC,GAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,GAAA,KAAAG,qBAAA,CAAAH,GAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,GAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAP,CAAA,EAAAQ,KAAA,aAAAL,CAAA,iBAAAH,CAAA,CAAAS,WAAA,EAAAN,CAAA,GAAAH,CAAA,CAAAS,WAAA,CAAAC,IAAA,MAAAP,CAAA,cAAAA,CAAA,mBAAAQ,KAAA,CAAAC,IAAA,CAAAZ,CAAA,OAAAG,CAAA,+DAAAU,IAAA,CAAAV,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAT,GAAA,EAAAqB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAArB,GAAA,CAAAsB,MAAA,EAAAD,GAAA,GAAArB,GAAA,CAAAsB,MAAA,WAAArB,CAAA,MAAAsB,IAAA,OAAAL,KAAA,CAAAG,GAAA,GAAApB,CAAA,GAAAoB,GAAA,EAAApB,CAAA,IAAAsB,IAAA,CAAAtB,CAAA,IAAAD,GAAA,CAAAC,CAAA,UAAAsB,IAAA;AAAA,SAAApB,sBAAAH,GAAA,EAAAC,CAAA,QAAAuB,EAAA,WAAAxB,GAAA,gCAAAyB,MAAA,IAAAzB,GAAA,CAAAyB,MAAA,CAAAC,QAAA,KAAA1B,GAAA,4BAAAwB,EAAA,QAAAG,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAL,EAAA,GAAAA,EAAA,CAAAV,IAAA,CAAAd,GAAA,GAAAkC,IAAA,QAAAjC,CAAA,QAAAU,MAAA,CAAAa,EAAA,MAAAA,EAAA,UAAAQ,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAAf,IAAA,CAAAU,EAAA,GAAAW,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAAT,MAAA,KAAArB,CAAA,GAAA+B,EAAA,iBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAR,EAAA,eAAAM,EAAA,GAAAN,EAAA,cAAAb,MAAA,CAAAmB,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAA7B,gBAAAF,GAAA,QAAAkB,KAAA,CAAAqB,OAAA,CAAAvC,GAAA,UAAAA,GAAA;AAC5B;AACO,IAAIwC,UAAU;AAACC,OAAA,CAAAD,UAAA,GAAAA,UAAA;AACtB,CAAC,UAAUA,UAAU,EAAE;EACnBA,UAAU,CAAC,SAAS,CAAC,GAAG,qBAAqB;EAC7CA,UAAU,CAAC,QAAQ,CAAC,GAAG,qBAAqB;EAC5CA,UAAU,CAAC,KAAK,CAAC,GAAG,iBAAiB;AACzC,CAAC,EAAEA,UAAU,KAAAC,OAAA,CAAAD,UAAA,GAAKA,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC;AACO,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EAC/B,IAAMC,EAAE,GAAG,SAALA,EAAEA,CAAA,EAAe;IACnB,OAAO,CAAE,CAAC,CAAC,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,IAAI,OAAO,GAAI,CAAC,EAAEhC,QAAQ,CAAC,EAAE,CAAC,CAACiC,SAAS,CAAC,CAAC,CAAC;EAC1E,CAAC;EACD,OAAOH,EAAE,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAG,GAAG,GAAGA,EAAE,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC,GAAGA,EAAE,CAAC,CAAC;AACxF,CAAC;AAACF,OAAA,CAAAC,aAAA,GAAAA,aAAA;AACF,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CAAIC,GAAG,EAAEC,WAAW,EAAK;EACvC,IAAIC,GAAG,GAAGF,GAAG;EACb,IAAIC,WAAW,EAAE;IACb,IAAME,OAAO,GAAG,QAAQ,KAAKC,QAAQ,CAACC,QAAQ,CAACC,QAAQ;IACvD,IAAIN,GAAG,CAACO,UAAU,CAAC,OAAO,CAAC,EAAE;MACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;MAChC,IAAIR,GAAG,CAACO,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC1BP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;MACrC;MACA,IAAMC,MAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MACjD,IAAMC,IAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MAC5CR,GAAG,GAAG,YAAY,GAAGO,MAAM,GAAG,OAAO,GAAGE,IAAI;IAChD,CAAC,MACI,IAAIX,GAAG,CAACO,UAAU,CAAC,KAAK,CAAC,EAAE;MAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;MAC9B,IAAIR,GAAG,CAACO,UAAU,CAAC,MAAM,CAAC,EAAE;QACxBP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;MACnC;MACA,IAAMC,OAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MACjD,IAAMC,KAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;MAC5C,IAAMJ,QAAQ,GAAGH,OAAO,GAAG,QAAQ,GAAG,OAAO;MAC7CD,GAAG,GAAGI,QAAQ,GAAGM,MAAM,CAACP,QAAQ,CAACQ,IAAI,GAAG,YAAY,GAAGJ,OAAM,GAAG,OAAO,GAAGE,KAAI;IAClF;EACJ,CAAC,MACI;IACD,IAAMR,QAAO,GAAG,QAAQ,KAAKC,QAAQ,CAACC,QAAQ,CAACC,QAAQ;IACvD,IAAIH,QAAO,EAAE;MACT,IAAIH,GAAG,CAACO,UAAU,CAAC,OAAO,CAAC,EAAE;QACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QAChC,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5CR,GAAG,GAAG,YAAY,GAAGO,QAAM,GAAG,OAAO,GAAGE,MAAI;MAChD,CAAC,MACI,IAAIX,GAAG,CAACO,UAAU,CAAC,KAAK,CAAC,EAAE;QAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9B,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAS,CAAC,CAAC,EAAEE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAS,CAACE,GAAG,CAACU,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5CR,GAAG,GAAG,QAAQ,GAAGU,MAAM,CAACP,QAAQ,CAACQ,IAAI,GAAG,YAAY,GAAGJ,QAAM,GAAG,OAAO,GAAGE,MAAI;MAClF,CAAC,MACI;QACDT,GAAG,GAAGF,GAAG;MACb;IACJ;EACJ;EACA,OAAOE,GAAG;AACd,CAAC;AACD;AACA;AACA;AACA;AACA;AACO,IAAMY,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAI,EAAEf,GAAG,EAAEC,WAAW,EAAEe,IAAI,EAAK;EAC7D,IAAIC,SAAS,GAAGjB,GAAG;EACnB,IAAIkB,UAAU,GAAG,KAAK;EACtB,IAAIH,IAAI,KAAK,IAAI,EAAE;IACf,IAAIf,GAAG,CAACO,UAAU,CAAC,MAAM,CAAC,EAAE;MACxB,OAAO;QACHQ,IAAI,EAAE,IAAI;QACVf,GAAG,EAAHA;MACJ,CAAC;IACL;IACA,OAAO;MACHe,IAAI,EAAE,IAAI;MACVf,GAAG,KAAAmB,MAAA,CAAKP,MAAM,CAACP,QAAQ,CAACe,MAAM,EAAAD,MAAA,CAAGnB,GAAG;IACxC,CAAC;EACL;EACA,IAAIe,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAO;MACHA,IAAI,EAAE,QAAQ;MACdf,GAAG,EAAHA;IACJ,CAAC;EACL,CAAC,MACI,IAAIA,GAAG,CAACO,UAAU,CAAC,OAAO,CAAC,IAAIP,GAAG,CAACO,UAAU,CAAC,QAAQ,CAAC,EAAE;IAC1D,IAAIQ,IAAI,KAAK,UAAU,EAAE;MACrBG,UAAU,GAAG,UAAU;IAC3B,CAAC,MACI;MACDA,UAAU,GAAG,OAAO;IACxB;IACA,IAAIF,IAAI,EAAE;MACNC,SAAS,GAAGjB,GAAG;IACnB,CAAC,MACI;MACDiB,SAAS,GAAGjB,GAAG,CAACqB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC;EACJ;EACA,IAAIrB,GAAG,CAACO,UAAU,CAAC,SAAS,CAAC,EAAE;IAC3B,IAAMe,aAAa,GAAGC,OAAO,CAACC,GAAG,CAACC,MAAM,MAAAN,MAAA,CAAMI,OAAO,CAACC,GAAG,CAACC,MAAM,IAAK,EAAE;IACvEP,UAAU,GAAG,KAAK;IAClBD,SAAS,GAAGK,aAAa,0CAAAH,MAAA,CAA0CO,cAAM,CAACC,MAAM,CAAC3B,GAAG,CAAC,CAAE;EAC3F;EACA,IAAIA,GAAG,CAACU,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;IACzBO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,KAAK;EACtB;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;IAC1BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,KAAK;EACtB;EACA;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;IAC7BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,QAAQ;EACzB;EACA;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;IAC7BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,SAAS;EAC1B;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;IAC5BO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,QAAQ;EACzB;EACA,IAAIlB,GAAG,CAACU,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAIV,GAAG,CAACU,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE;IAC3DO,SAAS,GAAGjB,GAAG;IACfkB,UAAU,GAAG,MAAM;EACvB;EACA;EACA,IAAIA,UAAU,KAAK,KAAK,IAAIA,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,KAAK,EAAE;IACzE,OAAO;MACHH,IAAI,EAAEG,UAAU;MAChBlB,GAAG,EAAHA;IACJ,CAAC;EACL;EACA,OAAO;IAAEA,GAAG,EAAED,YAAY,CAACkB,SAAS,EAAEhB,WAAW,CAAC;IAAEc,IAAI,EAAEG;EAAW,CAAC;AAC1E,CAAC;AACD;AACA;AACA;AACA;AACA;AAJAzB,OAAA,CAAAqB,eAAA,GAAAA,eAAA;AAKO,IAAMc,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAI,EAAK;EACrC,IAAMC,MAAM,GAAGD,IAAI,CAACE,IAAI,CAACC,GAAG,CAAC,UAACC,IAAI,EAAEhF,CAAC,EAAK;IACtC,IAAMiF,SAAS,GAAG,IAAAC,kBAAM,EAACF,IAAI,CAACC,SAAS,CAAC;IACxC,IAAME,OAAO,GAAG,IAAAD,kBAAM,EAACF,IAAI,CAACG,OAAO,CAAC;IACpC,IAAMC,YAAY,GAAG,IAAAF,kBAAM,EAACC,OAAO,CAAC,CAACE,IAAI,CAAC,IAAAH,kBAAM,EAACD,SAAS,CAAC,EAAE,SAAS,CAAC;IACvE,OAAO;MACHK,KAAK,EAAEtF,CAAC,GAAG,CAAC;MACZuF,UAAU,EAAEX,IAAI,CAACW,UAAU;MAC3BC,UAAU,EAAEZ,IAAI,CAACY,UAAU;MAC3BC,UAAU,EAAEb,IAAI,CAACa,UAAU;MAC3BC,QAAQ,EAAEd,IAAI,CAACc,QAAQ;MACvBC,UAAU,EAAEf,IAAI,CAACe,UAAU;MAC3BC,WAAW,EAAEhB,IAAI,CAACgB,WAAW;MAC7BX,SAAS,EAAEA,SAAS,CAACY,MAAM,CAACtD,UAAU,CAACuD,MAAM,CAAC;MAC9CX,OAAO,EAAEA,OAAO,CAACU,MAAM,CAACtD,UAAU,CAACuD,MAAM,CAAC;MAC1CC,IAAI,EAAEC,gBAAgB,CAAChB,IAAI,CAACe,IAAI,CAAC;MACjCE,QAAQ,EAAEC,eAAe,CAACd,YAAY,CAAC;MACvCe,WAAW,EAAE,EAAE;MACfpD,GAAG,EAAEiC,IAAI,CAACoB,WAAW,IAAI,EAAE;MAC3BpD,WAAW,EAAE4B,IAAI,CAAC5B,WAAW,IAAI,KAAK;MACtCqD,IAAI,EAAErB,IAAI,CAACqB,IAAI;MACfC,MAAM,EAAE1B,IAAI,CAAC0B,MAAM;MACnBC,QAAQ,EAAE3B,IAAI,CAAC2B,QAAQ;MACvBC,UAAU,EAAE5B,IAAI,CAAC4B;IACrB,CAAC;EACL,CAAC,CAAC;EACF,OAAO3B,MAAM;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AAJArC,OAAA,CAAAmC,eAAA,GAAAA,eAAA;AAKO,IAAMqB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIS,KAAK;EAAA,UAAAvC,MAAA,CAAQ,CAACuC,KAAK,GAAG9D,IAAI,CAAC+D,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAEC,OAAO,CAAC,CAAC,CAAC;AAAA,CAAI;AACxF;AACA;AACA;AACA;AACA;AAJAnE,OAAA,CAAAwD,gBAAA,GAAAA,gBAAA;AAKO,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAIU,KAAK,EAAK;EACtC,IAAMC,IAAI,GAAGlE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,IAAI,CAAC;EACrC,IAAMG,MAAM,GAAGpE,IAAI,CAACmE,KAAK,CAAEF,KAAK,GAAG,IAAI,GAAI,EAAE,CAAC;EAC9C,IAAMI,MAAM,GAAGrE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,EAAE,CAAC;EACrC,IAAM/B,MAAM,MAAAX,MAAA,CAAM2C,IAAI,GAAG,CAAC,GAAGA,IAAI,GAAG,IAAI,GAAG,EAAE,EAAA3C,MAAA,CAAG6C,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,GAAG,GAAG,EAAE,EAAA7C,MAAA,CAAG8C,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,GAAG,GAAG,EAAE,CAAE;EACjH,OAAOnC,MAAM;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AAJArC,OAAA,CAAA0D,eAAA,GAAAA,eAAA;AAKO,IAAMe,aAAa,GAAG,SAAhBA,aAAaA,CAAIL,KAAK,EAAK;EACpC,IAAMC,IAAI,GAAGlE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,IAAI,CAAC;EACrC,IAAMG,MAAM,GAAGpE,IAAI,CAACmE,KAAK,CAAEF,KAAK,GAAG,IAAI,GAAI,EAAE,CAAC;EAC9C,IAAMI,MAAM,GAAGrE,IAAI,CAACmE,KAAK,CAACF,KAAK,GAAG,EAAE,CAAC;EACrC,IAAM/B,MAAM,MAAAX,MAAA,CAAM2C,IAAI,IAAI,EAAE,GAAGA,IAAI,GAAG,GAAG,GAAGA,IAAI,OAAA3C,MAAA,CAAI6C,MAAM,IAAI,EAAE,GAAGA,MAAM,GAAG,GAAG,GAAGA,MAAM,OAAA7C,MAAA,CAAI8C,MAAM,IAAI,EAAE,GAAGA,MAAM,GAAG,GAAG,GAAGA,MAAM,CAAE;EAClI,OAAOnC,MAAM;AACjB,CAAC;AACD;AACA;AACA;AACA;AACA;AAJArC,OAAA,CAAAyE,aAAA,GAAAA,aAAA;AAKO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAI,EAAK;EACrC,OAAO,IAAAjC,kBAAM,EAACiC,IAAI,CAAC,CAACtB,MAAM,CAACtD,UAAU,WAAQ,CAAC,GAAG,GAAG;AACxD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AANAC,OAAA,CAAA0E,eAAA,GAAAA,eAAA;AAOO,IAAME,YAAY,GAAG,SAAfA,YAAYA,CAAIC,QAAQ,EAAEC,SAAS,EAAEnC,OAAO,EAAK;EAC1D,IAAAoC,eAAA,GAAqBF,QAAQ,CAACjD,KAAK,CAAC,GAAG,CAAC;IAAAoD,gBAAA,GAAA1H,cAAA,CAAAyH,eAAA;IAAjCxE,GAAG,GAAAyE,gBAAA;IAAEC,KAAK,GAAAD,gBAAA;EACjB,IAAME,SAAS,GAAG,IAAIC,eAAe,CAACF,KAAK,CAAC;EAC5CC,SAAS,CAACE,GAAG,CAAC,WAAW,EAAEV,eAAe,CAACI,SAAS,CAAC,CAAC;EACtDI,SAAS,CAACE,GAAG,CAAC,SAAS,EAAEV,eAAe,CAAC/B,OAAO,CAAC,CAAC;EAClD,UAAAjB,MAAA,CAAUnB,GAAG,OAAAmB,MAAA,CAAIwD,SAAS,CAAC9G,QAAQ,CAAC,CAAC;AACzC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA4B,OAAA,CAAA4E,YAAA,GAAAA,YAAA;AAMO,IAAMS,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAG,EAAkC;EAAA,IAAhCC,IAAI,GAAAC,SAAA,CAAA3G,MAAA,QAAA2G,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAGrE,MAAM,CAACP,QAAQ,CAAC2E,IAAI;EACxD,IAAMG,QAAQ,GAAG,CAAC,CAAC;EACnB,IAAMC,SAAS,GAAGJ,IAAI,CAACK,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE;EAC3D,KAAK,IAAIpI,CAAC,GAAG,CAAC,EAAEoB,GAAG,GAAG+G,SAAS,CAAC9G,MAAM,EAAErB,CAAC,GAAGoB,GAAG,EAAEpB,CAAC,EAAE,EAAE;IAClD,IAAMqI,CAAC,GAAGF,SAAS,CAACnI,CAAC,CAAC,CAACoI,KAAK,CAAC,qBAAqB,CAAC;IACnDF,QAAQ,CAACG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC;EACzB;EACA,IAAIP,GAAG,EAAE;IACL,OAAOI,QAAQ,CAACJ,GAAG,CAAC;EACxB,CAAC,MACI;IACD,OAAOI,QAAQ;EACnB;AACJ,CAAC;AACD;AACA;AACA;AACA;AAHA1F,OAAA,CAAAqF,WAAA,GAAAA,WAAA;AAIO,SAASS,IAAIA,CAAA,EAAG;EACnB,OAAO,sCAAsC,CAAC/E,OAAO,CAAC,OAAO,EAAE,UAAUgF,CAAC,EAAE;IACxE,IAAMF,CAAC,GAAI1F,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;MAAE4F,CAAC,GAAGD,CAAC,IAAI,GAAG,GAAGF,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI,GAAG;IACtE,OAAOG,CAAC,CAAC5H,QAAQ,CAAC,EAAE,CAAC;EACzB,CAAC,CAAC;AACN;AACO,SAAS6H,MAAMA,CAAC/E,IAAI,EAAE;EACzB,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACrC,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIqH,KAAK,CAAC,+BAA+B,CAAC;EACpD;EACA,IAAMC,IAAI,GAAGxF,QAAQ,CAACyF,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD,IAAMC,MAAM,GAAG1F,QAAQ,CAAC2F,aAAa,CAAC,QAAQ,CAAC;EAC/CD,MAAM,CAAC5F,GAAG,GAAGS,IAAI;EACjBmF,MAAM,CAAC/E,IAAI,GAAG,iBAAiB;EAC/B6E,IAAI,CAACI,WAAW,CAACF,MAAM,CAAC;AAC5B;AACO,SAASG,OAAOA,CAACtF,IAAI,EAAE;EAC1B,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACrC,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM,IAAIqH,KAAK,CAAC,+BAA+B,CAAC;EACpD;EACA,IAAMC,IAAI,GAAGxF,QAAQ,CAACyF,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD,IAAMK,IAAI,GAAG9F,QAAQ,CAAC2F,aAAa,CAAC,MAAM,CAAC;EAC3CG,IAAI,CAAClB,IAAI,GAAGrE,IAAI;EAChBuF,IAAI,CAACC,GAAG,GAAG,YAAY;EACvBD,IAAI,CAACnF,IAAI,GAAG,UAAU;EACtB6E,IAAI,CAACI,WAAW,CAACE,IAAI,CAAC;AAC1B"}
1
+ {"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","type","live","playerUrl","playerType","origin","split","baseUrlPrefix","process","env","PREFIX","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v","loadJs","Error","head","getElementsByTagName","script","createElement","appendChild","loadCss","link","rel"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n if (url.startsWith('https:')) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n if (url.startsWith('wss:')) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith('http:')) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith('ws:')) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'mp4';\n if (type === 'bd') {\n if (url.startsWith('http')) {\n return {\n type: 'bd',\n url,\n };\n }\n return {\n type: 'bd',\n url: `${window.location.origin}${url}`,\n };\n }\n if (type === 'vtx_ws') {\n return {\n type: 'vtx_ws',\n url,\n };\n }\n else if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n const baseUrlPrefix = process.env.PREFIX ? `${process.env.PREFIX}` : '';\n playerType = 'flv';\n playerUrl = baseUrlPrefix + `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n // 特殊类型\n if (url.indexOf('vtxm3u8') > -1) {\n playerUrl = url;\n playerType = 'vtxhls';\n }\n // 特殊类型\n if (url.indexOf('vtxwhep') > -1) {\n playerUrl = url;\n playerType = 'vtxwhep';\n }\n if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\n }\n // rsl\n if (playerType === 'mp4' || playerType === 'iframe' || playerType === 'rsl') {\n return {\n type: playerType,\n url,\n };\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\n// const [url, query] = totalUrl.split('?');\n// const urlParams = new URLSearchParams(query);\n// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n// return `${url}?${urlParams.toString()}`;\n// };\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0, v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\nexport function loadJs(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.src = path;\n script.type = 'text/javascript';\n head.appendChild(script);\n}\nexport function loadCss(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const link = document.createElement('link');\n link.href = path;\n link.rel = 'stylesheet';\n link.type = 'text/css';\n head.appendChild(link);\n}\n"],"mappings":"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"}