@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
@@ -4,15 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
+
7
8
  var _api = _interopRequireDefault(require("./api"));
9
+
8
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
11
+
10
12
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
13
+
14
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
15
+
12
16
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // WSPlayer 已经注册到window
17
+
15
18
  var WSPlayerConstructor = WSPlayer;
19
+
16
20
  if (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {
17
21
  WSPlayerConstructor = WSPlayer.WSPlayer;
18
22
  }
@@ -20,30 +24,34 @@ if (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {
20
24
  * WSPlayer是核心组件
21
25
  * API 封装了接口
22
26
  */
27
+
28
+
23
29
  var PlayerManager = /*#__PURE__*/function () {
24
30
  function PlayerManager(opt) {
25
31
  _classCallCheck(this, PlayerManager);
32
+
26
33
  // 播放器所在的容器ID
27
- this.el = opt.el;
28
- // 实时预览播放器
29
- this.realPlayer = null;
30
- // 录像回放播放器
34
+ this.el = opt.el; // 实时预览播放器
35
+
36
+ this.realPlayer = null; // 录像回放播放器
37
+
31
38
  this.recordPlayer = null;
32
- this.player = null;
33
- // 实时预览还是录像回放播放器
34
- this.type = 'real';
35
- // 窗口的数量
36
- this.playNum = 1;
37
- // 当前选中的窗口的索引
38
- this.playIndex = 0;
39
- // 当前选中窗口正在播放视频的通道
40
- this.currentChannelId = '';
41
- // 索引对应窗口,保存当日录像信息
42
- this.recordList = [];
43
- // 如果是http协议,只需使用ip,不需要端口
39
+ this.player = null; // 实时预览还是录像回放播放器
40
+
41
+ this.type = 'real'; // 窗口的数量
42
+
43
+ this.playNum = 1; // 当前选中的窗口的索引
44
+
45
+ this.playIndex = 0; // 当前选中窗口正在播放视频的通道
46
+
47
+ this.currentChannelId = ''; // 索引对应窗口,保存当日录像信息
48
+
49
+ this.recordList = []; // 如果是http协议,只需使用ip,不需要端口
50
+
44
51
  this.serverIp = opt.ip;
45
52
  this.init(opt);
46
53
  }
54
+
47
55
  _createClass(PlayerManager, [{
48
56
  key: "init",
49
57
  value: function init(opt) {
@@ -51,6 +59,7 @@ var PlayerManager = /*#__PURE__*/function () {
51
59
  case 'real':
52
60
  this.initRealPlayer(opt);
53
61
  break;
62
+
54
63
  case 'record':
55
64
  this.initRecordPlayer(opt);
56
65
  break;
@@ -59,12 +68,14 @@ var PlayerManager = /*#__PURE__*/function () {
59
68
  /**
60
69
  * 初始化实时预览播放器
61
70
  */
71
+
62
72
  }, {
63
73
  key: "initRealPlayer",
64
74
  value: function initRealPlayer(opt) {
65
75
  if (!this.serverIp) {
66
76
  return;
67
77
  }
78
+
68
79
  this.playNum = opt.num;
69
80
  this.type = 'real';
70
81
  this.realPlayer = new WSPlayerConstructor({
@@ -80,10 +91,10 @@ var PlayerManager = /*#__PURE__*/function () {
80
91
  receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),
81
92
  getRealRtsp: _api["default"].getRealmonitor,
82
93
  getTalkRtsp: _api["default"].getTalkRtsp // 获取对讲rtsp接口
94
+
83
95
  });
96
+ this.player = this.realPlayer; // 初始化云台控制组件
84
97
 
85
- this.player = this.realPlayer;
86
- // 初始化云台控制组件
87
98
  if (opt.pztEl) {
88
99
  this.realPlayer.initPanTilt({
89
100
  // 云台控制容器的id
@@ -100,12 +111,14 @@ var PlayerManager = /*#__PURE__*/function () {
100
111
  /**
101
112
  * 初始化录像回放播放器
102
113
  */
114
+
103
115
  }, {
104
116
  key: "initRecordPlayer",
105
117
  value: function initRecordPlayer(opt) {
106
118
  if (!this.serverIp) {
107
119
  return;
108
120
  }
121
+
109
122
  this.playNum = opt.num;
110
123
  this.type = 'record';
111
124
  this.recordPlayer = new WSPlayerConstructor({
@@ -116,14 +129,14 @@ var PlayerManager = /*#__PURE__*/function () {
116
129
  num: opt.num,
117
130
  maxNum: opt.maxNum,
118
131
  showControl: opt.showControl // 默认是否显示工具栏
119
- },
120
132
 
133
+ },
121
134
  receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),
122
135
  getRecords: _api["default"].getRecords,
123
136
  getRecordRtspByTime: _api["default"].getRecordRtspByTime,
124
137
  getRecordRtspByFile: _api["default"].getRecordRtspByFile // 根据文件形式获取录像rtsp接口
125
- });
126
138
 
139
+ });
127
140
  this.player = this.recordPlayer;
128
141
  }
129
142
  /**
@@ -141,6 +154,7 @@ var PlayerManager = /*#__PURE__*/function () {
141
154
  // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填
142
155
  // capability: capability, // {String} 能力集 -- 用于云台,选填
143
156
  // }]
157
+
144
158
  }, {
145
159
  key: "playRealVideo",
146
160
  value: function playRealVideo(opt) {
@@ -158,6 +172,7 @@ var PlayerManager = /*#__PURE__*/function () {
158
172
  // channelList: [{
159
173
  // id: channelCode, // {String} 通道编码 -- 用于回放,必填
160
174
  // }]
175
+
161
176
  }, {
162
177
  key: "playRecordVideo",
163
178
  value: function playRecordVideo(opt) {
@@ -167,6 +182,7 @@ var PlayerManager = /*#__PURE__*/function () {
167
182
  * 录像暂停
168
183
  * 只有正在播放的录像调用才有效
169
184
  */
185
+
170
186
  }, {
171
187
  key: "pause",
172
188
  value: function pause() {
@@ -176,6 +192,7 @@ var PlayerManager = /*#__PURE__*/function () {
176
192
  * 录像暂停后播放
177
193
  * 只有暂停后的录像调用才有效
178
194
  */
195
+
179
196
  }, {
180
197
  key: "play",
181
198
  value: function play() {
@@ -185,6 +202,7 @@ var PlayerManager = /*#__PURE__*/function () {
185
202
  * 倍速播放
186
203
  * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率
187
204
  */
205
+
188
206
  }, {
189
207
  key: "playSpeed",
190
208
  value: function playSpeed(speed) {
@@ -194,6 +212,7 @@ var PlayerManager = /*#__PURE__*/function () {
194
212
  * 关闭播放器
195
213
  * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
196
214
  */
215
+
197
216
  }, {
198
217
  key: "close",
199
218
  value: function close(index) {
@@ -202,6 +221,7 @@ var PlayerManager = /*#__PURE__*/function () {
202
221
  /**
203
222
  * 设置全屏
204
223
  */
224
+
205
225
  }, {
206
226
  key: "setFullScreen",
207
227
  value: function setFullScreen() {
@@ -211,6 +231,7 @@ var PlayerManager = /*#__PURE__*/function () {
211
231
  * 设置窗口自适应还是拉伸
212
232
  * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
213
233
  */
234
+
214
235
  }, {
215
236
  key: "setPlayerAdapter",
216
237
  value: function setPlayerAdapter(playerAdapter) {
@@ -220,6 +241,7 @@ var PlayerManager = /*#__PURE__*/function () {
220
241
  * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
221
242
  * @param {number} number
222
243
  */
244
+
223
245
  }, {
224
246
  key: "setPlayerNum",
225
247
  value: function setPlayerNum(number) {
@@ -229,6 +251,7 @@ var PlayerManager = /*#__PURE__*/function () {
229
251
  * 设置选中的播放器的索引
230
252
  * @param {number} index
231
253
  */
254
+
232
255
  }, {
233
256
  key: "setSelectIndex",
234
257
  value: function setSelectIndex(index) {
@@ -238,12 +261,13 @@ var PlayerManager = /*#__PURE__*/function () {
238
261
  * 录像跳转播放
239
262
  * @param {string} time HH:mm:ss格式
240
263
  */
264
+
241
265
  }, {
242
266
  key: "jumpPlayByTime",
243
267
  value: function jumpPlayByTime(time) {
244
268
  this.player.jumpPlayByTime(time);
245
- }
246
- // ----------------- 播放器事件 ------------------------
269
+ } // ----------------- 播放器事件 ------------------------
270
+
247
271
  }, {
248
272
  key: "__receiveMessageFromWSPlayer",
249
273
  value: function __receiveMessageFromWSPlayer(method, data) {
@@ -254,10 +278,12 @@ var PlayerManager = /*#__PURE__*/function () {
254
278
  this.currentChannelId = data.channelId;
255
279
  this.playIndex = data.playIndex;
256
280
  break;
281
+
257
282
  case 'windowNumChanged':
258
283
  // 播放器显示的路数发生改变
259
284
  this.playNum = data;
260
285
  break;
286
+
261
287
  case 'closeVideo':
262
288
  // 视频关闭
263
289
  // 点击关闭按钮引发的视频关闭进行提示
@@ -265,10 +291,13 @@ var PlayerManager = /*#__PURE__*/function () {
265
291
  if (!data.changeVideoFlag) {
266
292
  console.log("\u7A97\u53E3".concat(data.selectIndex, "\u7684\u89C6\u9891\u5DF2\u5173\u95ED"));
267
293
  }
294
+
268
295
  break;
296
+
269
297
  case 'statusChanged':
270
298
  // 视频状态发生改变
271
299
  break;
300
+
272
301
  case 'errorInfo':
273
302
  // 错误信息提示
274
303
  // data = {
@@ -280,8 +309,10 @@ var PlayerManager = /*#__PURE__*/function () {
280
309
  }
281
310
  }
282
311
  }]);
312
+
283
313
  return PlayerManager;
284
314
  }();
315
+
285
316
  var _default = PlayerManager;
286
317
  exports["default"] = _default;
287
318
  //# sourceMappingURL=PlayerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerManager.js","names":["_api","_interopRequireDefault","require","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","WSPlayerConstructor","WSPlayer","PlayerManager","opt","el","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","serverIp","ip","init","value","initRealPlayer","initRecordPlayer","num","config","maxNum","showControl","isDynamicLoadLib","receiveMessageFromWSPlayer","__receiveMessageFromWSPlayer","bind","getRealRtsp","API","getRealmonitor","getTalkRtsp","pztEl","initPanTilt","setPtzDirection","setPtzCamera","controlSitPosition","getRecords","getRecordRtspByTime","getRecordRtspByFile","playRealVideo","channelList","streamType","windowIndex","playRecordVideo","getRecordList","pause","play","playSpeed","speed","close","index","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","jumpPlayByTime","time","method","data","channelId","changeVideoFlag","console","log","concat","selectIndex","_default","exports"],"sources":["icc/PlayerManager.js"],"sourcesContent":["// WSPlayer 已经注册到window\nimport API from './api';\nlet WSPlayerConstructor = WSPlayer;\nif (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {\n WSPlayerConstructor = WSPlayer.WSPlayer;\n}\n/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass PlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n // 实时预览还是录像回放播放器\n this.type = 'real';\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n // 如果是http协议,只需使用ip,不需要端口\n this.serverIp = opt.ip;\n this.init(opt);\n }\n init(opt) {\n switch (opt.type) {\n case 'real':\n this.initRealPlayer(opt);\n break;\n case 'record':\n this.initRecordPlayer(opt);\n break;\n }\n }\n /**\n * 初始化实时预览播放器\n */\n initRealPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'real';\n this.realPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'real',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl,\n isDynamicLoadLib: false,\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRealRtsp: API.getRealmonitor,\n getTalkRtsp: API.getTalkRtsp, // 获取对讲rtsp接口\n });\n this.player = this.realPlayer;\n // 初始化云台控制组件\n if (opt.pztEl) {\n this.realPlayer.initPanTilt({\n // 云台控制容器的id\n el: opt.pztEl,\n // 云台区域控制接口\n setPtzDirection: API.setPtzDirection,\n // 云台镜头控制接口\n setPtzCamera: API.setPtzCamera,\n // 云台三维定位接口\n controlSitPosition: API.controlSitPosition,\n });\n }\n }\n /**\n * 初始化录像回放播放器\n */\n initRecordPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'record';\n this.recordPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'record',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl, // 默认是否显示工具栏\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRecords: API.getRecords,\n getRecordRtspByTime: API.getRecordRtspByTime,\n getRecordRtspByFile: API.getRecordRtspByFile, // 根据文件形式获取录像rtsp接口\n });\n this.player = this.recordPlayer;\n }\n /**\n * 播放实时预览视频\n * @param opt.channelList: {Array<Object>} 必填,通道列表\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于预览,必填\n // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填\n // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填\n // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填\n // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填\n // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填\n // capability: capability, // {String} 能力集 -- 用于云台,选填\n // }]\n playRealVideo(opt) {\n this.realPlayer &&\n this.realPlayer.playRealVideo(opt.channelList, opt.streamType, opt.windowIndex);\n }\n /**\n * 播放录像回放\n * @param opt.channelList {Array<Object>} 通道集合 必填\n * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒\n * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒\n * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像\n * @param opt.streamType {String|Number} 码流类型 可选\n * @param opt.recordType {String|Number} 录像类型 可选\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于回放,必填\n // }]\n playRecordVideo(opt) {\n this.recordPlayer && this.recordPlayer.getRecordList(opt);\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.recordPlayer && this.recordPlayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.recordPlayer && this.recordPlayer.play();\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n this.player && this.player.close(index);\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n this.player.jumpPlayByTime(time);\n }\n // ----------------- 播放器事件 ------------------------\n __receiveMessageFromWSPlayer(method, data) {\n switch (method) {\n // ------------- 公共事件 ---------------------\n case 'selectWindowChanged': // 选中的窗口发生改变\n this.currentChannelId = data.channelId;\n this.playIndex = data.playIndex;\n break;\n case 'windowNumChanged': // 播放器显示的路数发生改变\n this.playNum = data;\n break;\n case 'closeVideo': // 视频关闭\n // 点击关闭按钮引发的视频关闭进行提示\n // 切换视频引发的视频关闭不进行提示\n if (!data.changeVideoFlag) {\n console.log(`窗口${data.selectIndex}的视频已关闭`);\n }\n break;\n case 'statusChanged': // 视频状态发生改变\n break;\n case 'errorInfo': // 错误信息提示\n // data = {\n // errorCode: xxx,\n // errorMsg: \"\",\n // channelList: [],\n // }\n break;\n }\n }\n}\nexport default PlayerManager;\n"],"mappings":"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"}
1
+ {"version":3,"file":"PlayerManager.js","names":["WSPlayerConstructor","WSPlayer","PlayerManager","opt","el","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","serverIp","ip","init","initRealPlayer","initRecordPlayer","num","config","maxNum","showControl","isDynamicLoadLib","receiveMessageFromWSPlayer","__receiveMessageFromWSPlayer","bind","getRealRtsp","API","getRealmonitor","getTalkRtsp","pztEl","initPanTilt","setPtzDirection","setPtzCamera","controlSitPosition","getRecords","getRecordRtspByTime","getRecordRtspByFile","playRealVideo","channelList","streamType","windowIndex","getRecordList","pause","play","speed","playSpeed","index","close","setFullScreen","playerAdapter","setPlayerAdapter","number","setPlayerNum","setSelectIndex","time","jumpPlayByTime","method","data","channelId","changeVideoFlag","console","log","selectIndex"],"sources":["icc/PlayerManager.js"],"sourcesContent":["// WSPlayer 已经注册到window\nimport API from './api';\nlet WSPlayerConstructor = WSPlayer;\nif (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {\n WSPlayerConstructor = WSPlayer.WSPlayer;\n}\n/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass PlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n // 实时预览还是录像回放播放器\n this.type = 'real';\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n // 如果是http协议,只需使用ip,不需要端口\n this.serverIp = opt.ip;\n this.init(opt);\n }\n init(opt) {\n switch (opt.type) {\n case 'real':\n this.initRealPlayer(opt);\n break;\n case 'record':\n this.initRecordPlayer(opt);\n break;\n }\n }\n /**\n * 初始化实时预览播放器\n */\n initRealPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'real';\n this.realPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'real',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl,\n isDynamicLoadLib: false,\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRealRtsp: API.getRealmonitor,\n getTalkRtsp: API.getTalkRtsp, // 获取对讲rtsp接口\n });\n this.player = this.realPlayer;\n // 初始化云台控制组件\n if (opt.pztEl) {\n this.realPlayer.initPanTilt({\n // 云台控制容器的id\n el: opt.pztEl,\n // 云台区域控制接口\n setPtzDirection: API.setPtzDirection,\n // 云台镜头控制接口\n setPtzCamera: API.setPtzCamera,\n // 云台三维定位接口\n controlSitPosition: API.controlSitPosition,\n });\n }\n }\n /**\n * 初始化录像回放播放器\n */\n initRecordPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'record';\n this.recordPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'record',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl, // 默认是否显示工具栏\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRecords: API.getRecords,\n getRecordRtspByTime: API.getRecordRtspByTime,\n getRecordRtspByFile: API.getRecordRtspByFile, // 根据文件形式获取录像rtsp接口\n });\n this.player = this.recordPlayer;\n }\n /**\n * 播放实时预览视频\n * @param opt.channelList: {Array<Object>} 必填,通道列表\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于预览,必填\n // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填\n // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填\n // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填\n // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填\n // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填\n // capability: capability, // {String} 能力集 -- 用于云台,选填\n // }]\n playRealVideo(opt) {\n this.realPlayer &&\n this.realPlayer.playRealVideo(opt.channelList, opt.streamType, opt.windowIndex);\n }\n /**\n * 播放录像回放\n * @param opt.channelList {Array<Object>} 通道集合 必填\n * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒\n * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒\n * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像\n * @param opt.streamType {String|Number} 码流类型 可选\n * @param opt.recordType {String|Number} 录像类型 可选\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于回放,必填\n // }]\n playRecordVideo(opt) {\n this.recordPlayer && this.recordPlayer.getRecordList(opt);\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.recordPlayer && this.recordPlayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.recordPlayer && this.recordPlayer.play();\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n this.player && this.player.close(index);\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n this.player.jumpPlayByTime(time);\n }\n // ----------------- 播放器事件 ------------------------\n __receiveMessageFromWSPlayer(method, data) {\n switch (method) {\n // ------------- 公共事件 ---------------------\n case 'selectWindowChanged': // 选中的窗口发生改变\n this.currentChannelId = data.channelId;\n this.playIndex = data.playIndex;\n break;\n case 'windowNumChanged': // 播放器显示的路数发生改变\n this.playNum = data;\n break;\n case 'closeVideo': // 视频关闭\n // 点击关闭按钮引发的视频关闭进行提示\n // 切换视频引发的视频关闭不进行提示\n if (!data.changeVideoFlag) {\n console.log(`窗口${data.selectIndex}的视频已关闭`);\n }\n break;\n case 'statusChanged': // 视频状态发生改变\n break;\n case 'errorInfo': // 错误信息提示\n // data = {\n // errorCode: xxx,\n // errorMsg: \"\",\n // channelList: [],\n // }\n break;\n }\n }\n}\nexport default PlayerManager;\n"],"mappings":"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"}
package/lib/icc/api.d.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  export default API;
2
2
  declare namespace API {
3
+ /**
4
+ * 获取token
5
+ */
6
+ function getToken(params: any): Promise<any>;
3
7
  /**
4
8
  * 获取token
5
9
  */
@@ -8,10 +12,28 @@ declare namespace API {
8
12
  * 请求实时视频流地址
9
13
  */
10
14
  function getRealmonitor(realmonitorParam: any): Promise<any>;
15
+ /**
16
+ * 请求实时视频流地址
17
+ */
18
+ function getRealmonitor(realmonitorParam: any): Promise<any>;
11
19
  /**
12
20
  * 获取对讲的rtsp
13
21
  */
14
22
  function getTalkRtsp(talkPram: any): Promise<any>;
23
+ /**
24
+ * 获取对讲的rtsp
25
+ */
26
+ function getTalkRtsp(talkPram: any): Promise<any>;
27
+ /**
28
+ * 根据时间查询设备上的录像
29
+ * @param recordByTimeParam.recordType 录像类型:1=一般录像,2=报警录像
30
+ * @param recordByTimeParam.recordSource 录像来源:1=全部,2=设备,3=中心
31
+ * @param recordByTimeParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅
32
+ * @param recordByTimeParam.channelId 通道code
33
+ * @param recordByTimeParam.startTime 开始时间
34
+ * @param recordByTimeParam.endTime 结束时间
35
+ */
36
+ function getRecordRtspByTime(recordByTimeParam: any): Promise<any>;
15
37
  /**
16
38
  * 根据时间查询设备上的录像
17
39
  * @param recordByTimeParam.recordType 录像类型:1=一般录像,2=报警录像
@@ -32,6 +54,26 @@ declare namespace API {
32
54
  * @param recordByFileParam.endTime 结束时间 timestamp到秒
33
55
  */
34
56
  function getRecordRtspByFile(recordByFileParam: any): Promise<any>;
57
+ /**
58
+ * 根据文件形式回放录像
59
+ * @param recordByFileParam.recordType 录像类型:1=一般录像,2=报警录像
60
+ * @param recordByFileParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅
61
+ * @param recordByFileParam.recordSource 录像来源:1=全部,2=设备,3=中心
62
+ * @param recordByFileParam.channelId 通道code
63
+ * @param recordByFileParam.startTime 开始时间 timestamp到秒
64
+ * @param recordByFileParam.endTime 结束时间 timestamp到秒
65
+ */
66
+ function getRecordRtspByFile(recordByFileParam: any): Promise<any>;
67
+ /**
68
+ * 查询中心录像上的录像文件信息
69
+ * @param recordsParam.recordType 录像类型:1=一般录像,2=报警录像
70
+ * @param recordsParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅
71
+ * @param recordsParam.recordSource 录像来源:1=全部,2=设备,3=中心
72
+ * @param recordsParam.channelId 通道code
73
+ * @param recordsParam.startTime 开始时间 timestamp到秒
74
+ * @param recordsParam.endTime 结束时间 timestamp到秒
75
+ */
76
+ function getRecords(recordsParam: any): Promise<any>;
35
77
  /**
36
78
  * 查询中心录像上的录像文件信息
37
79
  * @param recordsParam.recordType 录像类型:1=一般录像,2=报警录像
@@ -48,6 +90,18 @@ declare namespace API {
48
90
  * @returns {Promise<unknown>}
49
91
  */
50
92
  function setPtzDirection(directionParam: any): Promise<unknown>;
93
+ /**
94
+ * 云台方向控制
95
+ * @param directionParam
96
+ * @returns {Promise<unknown>}
97
+ */
98
+ function setPtzDirection(directionParam: any): Promise<unknown>;
99
+ /**
100
+ * 云台镜头控制
101
+ * @param cameraParam
102
+ * @returns {Promise<unknown>}
103
+ */
104
+ function setPtzCamera(cameraParam: any): Promise<unknown>;
51
105
  /**
52
106
  * 云台镜头控制
53
107
  * @param cameraParam
@@ -60,6 +114,12 @@ declare namespace API {
60
114
  * @returns {Promise<unknown>}
61
115
  */
62
116
  function controlSitPosition(positionParam: any): Promise<unknown>;
117
+ /**
118
+ * 云台三维定位接口
119
+ * @param positionParam
120
+ * @returns {Promise<unknown>}
121
+ */
122
+ function controlSitPosition(positionParam: any): Promise<unknown>;
63
123
  /**
64
124
  * 请求
65
125
  * @param {*} opt
@@ -67,5 +127,13 @@ declare namespace API {
67
127
  * @param {*} opt.data 参数
68
128
  */
69
129
  function ajaxRequest(opt: any): Promise<any>;
130
+ /**
131
+ * 请求
132
+ * @param {*} opt
133
+ * @param {*} opt.url 接口地址
134
+ * @param {*} opt.data 参数
135
+ */
136
+ function ajaxRequest(opt: any): Promise<any>;
137
+ function refreshToken(): Promise<any>;
70
138
  function refreshToken(): Promise<any>;
71
139
  }
package/lib/icc/api.js CHANGED
@@ -4,8 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
+
7
8
  var _fetch = _interopRequireDefault(require("../api/fetch"));
9
+
8
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
9
12
  // 跟平台相关的业务JS
10
13
  var API = {
11
14
  /**
@@ -16,6 +19,7 @@ var API = {
16
19
  data: Object.assign({}, params)
17
20
  });
18
21
  },
22
+
19
23
  /**
20
24
  * 请求实时视频流地址
21
25
  */
@@ -31,6 +35,7 @@ var API = {
31
35
  });
32
36
  });
33
37
  },
38
+
34
39
  /**
35
40
  * 获取对讲的rtsp
36
41
  */
@@ -46,6 +51,7 @@ var API = {
46
51
  });
47
52
  });
48
53
  },
54
+
49
55
  /**
50
56
  * 根据时间查询设备上的录像
51
57
  * @param recordByTimeParam.recordType 录像类型:1=一般录像,2=报警录像
@@ -67,6 +73,7 @@ var API = {
67
73
  });
68
74
  });
69
75
  },
76
+
70
77
  /**
71
78
  * 根据文件形式回放录像
72
79
  * @param recordByFileParam.recordType 录像类型:1=一般录像,2=报警录像
@@ -88,6 +95,7 @@ var API = {
88
95
  });
89
96
  });
90
97
  },
98
+
91
99
  /**
92
100
  * 查询中心录像上的录像文件信息
93
101
  * @param recordsParam.recordType 录像类型:1=一般录像,2=报警录像
@@ -109,6 +117,7 @@ var API = {
109
117
  });
110
118
  });
111
119
  },
120
+
112
121
  /**
113
122
  * 云台方向控制
114
123
  * @param directionParam
@@ -126,6 +135,7 @@ var API = {
126
135
  });
127
136
  });
128
137
  },
138
+
129
139
  /**
130
140
  * 云台镜头控制
131
141
  * @param cameraParam
@@ -143,6 +153,7 @@ var API = {
143
153
  });
144
154
  });
145
155
  },
156
+
146
157
  /**
147
158
  * 云台三维定位接口
148
159
  * @param positionParam
@@ -160,6 +171,7 @@ var API = {
160
171
  });
161
172
  });
162
173
  },
174
+
163
175
  /**
164
176
  * 请求
165
177
  * @param {*} opt
@@ -214,9 +226,11 @@ var API = {
214
226
  client_secret: 'web_client'
215
227
  };
216
228
  var param = '';
229
+
217
230
  for (var i in value) {
218
231
  param += '&' + i + '=' + value[i];
219
232
  }
233
+
220
234
  param = param.slice(1);
221
235
  return new Promise(function (resolve, reject) {
222
236
  $.ajax({
@@ -232,8 +246,8 @@ var API = {
232
246
  if (res.code === '0') {
233
247
  localStorage.setItem('accessToken', res.data.access_token);
234
248
  localStorage.setItem('refreshToken', res.data.refresh_token);
235
- localStorage.setItem('expiresTime', new Date().getTime() + res.data.expires_in * 1000);
236
- // 登录保活
249
+ localStorage.setItem('expiresTime', new Date().getTime() + res.data.expires_in * 1000); // 登录保活
250
+
237
251
  API.ajaxRequest({
238
252
  url: "/evo-apigw/evo-brm/1.2.0/user/keepalive",
239
253
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","names":["_fetch","_interopRequireDefault","require","obj","__esModule","API","getToken","params","fetch","data","Object","assign","getRealmonitor","realmonitorParam","Promise","resolve","reject","ajaxRequest","url","then","res","errMsg","getTalkRtsp","talkPram","getRecordRtspByTime","recordByTimeParam","getRecordRtspByFile","recordByFileParam","getRecords","recordsParam","setPtzDirection","directionParam","setPtzCamera","cameraParam","controlSitPosition","positionParam","opt","accessToken","localStorage","getItem","userId","split","headers","$","ajax","type","dataType","JSON","stringify","Authorization","proxyip","contentType","crossDomain","success","code","refreshToken","clientId","value","refresh_token","grant_type","client_id","client_secret","param","i","slice","setItem","access_token","Date","getTime","expires_in","clientType","magicId","timeout","console","error","window","open","location","origin","_default","exports"],"sources":["icc/api.js"],"sourcesContent":["import fetch from '../api/fetch';\n// 跟平台相关的业务JS\nconst API = {\n /**\n * 获取token\n */\n getToken(params) {\n return fetch('/cloud/vis/base/cp/artemis/token.smvc', 'GET', {\n data: Object.assign({}, params),\n });\n },\n /**\n * 请求实时视频流地址\n */\n getRealmonitor(realmonitorParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/MTS/Video/StartVideo',\n data: realmonitorParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 获取对讲的rtsp\n */\n getTalkRtsp(talkPram) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/MTS/Audio/StartTalk',\n data: talkPram,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res);\n });\n });\n },\n /**\n * 根据时间查询设备上的录像\n * @param recordByTimeParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordByTimeParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordByTimeParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordByTimeParam.channelId 通道code\n * @param recordByTimeParam.startTime 开始时间\n * @param recordByTimeParam.endTime 结束时间\n */\n getRecordRtspByTime(recordByTimeParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime',\n data: recordByTimeParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 根据文件形式回放录像\n * @param recordByFileParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordByFileParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordByFileParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordByFileParam.channelId 通道code\n * @param recordByFileParam.startTime 开始时间 timestamp到秒\n * @param recordByFileParam.endTime 结束时间 timestamp到秒\n */\n getRecordRtspByFile(recordByFileParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByFile',\n data: recordByFileParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 查询中心录像上的录像文件信息\n * @param recordsParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordsParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordsParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordsParam.channelId 通道code\n * @param recordsParam.startTime 开始时间 timestamp到秒\n * @param recordsParam.endTime 结束时间 timestamp到秒\n */\n getRecords(recordsParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Record/QueryRecords',\n data: recordsParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台方向控制\n * @param directionParam\n * @returns {Promise<unknown>}\n */\n setPtzDirection(directionParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/OperateDirect',\n data: directionParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台镜头控制\n * @param cameraParam\n * @returns {Promise<unknown>}\n */\n setPtzCamera(cameraParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/OperateCamera',\n data: cameraParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台三维定位接口\n * @param positionParam\n * @returns {Promise<unknown>}\n */\n controlSitPosition(positionParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/SitPosition',\n data: positionParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res);\n });\n });\n },\n /**\n * 请求\n * @param {*} opt\n * @param {*} opt.url 接口地址\n * @param {*} opt.data 参数\n */\n ajaxRequest(opt) {\n var accessToken = localStorage.getItem('accessToken');\n var userId = accessToken ? accessToken.split(':')[0] : '';\n opt.headers = opt.headers ? opt.headers : {};\n return new Promise((resolve, reject) => {\n $.ajax({\n url: opt.url,\n type: opt.type ? opt.type : 'post',\n dataType: opt.dataType ? opt.dataType : 'json',\n data: JSON.stringify(opt.data),\n headers: Object.assign({\n Authorization: 'bearer ' + accessToken,\n 'User-Id': userId,\n 'Content-Type': 'application/json',\n proxyip: localStorage['proxyIp'],\n }, opt.headers),\n contentType: 'application/json;charset=utf-8',\n crossDomain: true,\n success: function (res) {\n if (res.code == 1000 || res.code == '0') {\n resolve(res);\n }\n else if (res.code == '27001007') {\n // token过期,刷新token\n API.refreshToken().then(() => {\n // token刷新后,重新请求\n API.ajaxRequest(opt).then((data) => {\n // 重新请求后,需要处理原始请求的resolve\n resolve(data);\n });\n });\n }\n else {\n reject(res);\n }\n },\n });\n });\n },\n // 刷新token\n refreshToken() {\n var refreshToken = localStorage.getItem('refreshToken');\n var clientId = localStorage.getItem('checked') ? 'web_client_remember' : 'web_client';\n var value = {\n refresh_token: refreshToken,\n grant_type: 'refresh_token',\n client_id: clientId,\n client_secret: 'web_client',\n };\n var param = '';\n for (var i in value) {\n param += '&' + i + '=' + value[i];\n }\n param = param.slice(1);\n return new Promise((resolve, reject) => {\n $.ajax({\n url: '/evo-apigw/evo-oauth/oauth/token',\n type: 'post',\n dataType: 'json',\n data: param,\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n proxyip: localStorage['proxyIp'],\n },\n success: function (res) {\n if (res.code === '0') {\n localStorage.setItem('accessToken', res.data.access_token);\n localStorage.setItem('refreshToken', res.data.refresh_token);\n localStorage.setItem('expiresTime', new Date().getTime() + res.data.expires_in * 1000);\n // 登录保活\n API.ajaxRequest({\n url: `/evo-apigw/evo-brm/1.2.0/user/keepalive`,\n data: {\n clientType: 1,\n magicId: localStorage.magicId,\n timeout: 10000,\n },\n });\n resolve();\n }\n else {\n console.error(`refreshToken 失效,请登录平台`);\n window.open(location.origin);\n reject();\n }\n },\n });\n });\n },\n};\nexport default API;\n"],"mappings":"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"}
1
+ {"version":3,"file":"api.js","names":["API","getToken","params","fetch","data","Object","assign","getRealmonitor","realmonitorParam","Promise","resolve","reject","ajaxRequest","url","then","res","errMsg","getTalkRtsp","talkPram","getRecordRtspByTime","recordByTimeParam","getRecordRtspByFile","recordByFileParam","getRecords","recordsParam","setPtzDirection","directionParam","setPtzCamera","cameraParam","controlSitPosition","positionParam","opt","accessToken","localStorage","getItem","userId","split","headers","$","ajax","type","dataType","JSON","stringify","Authorization","proxyip","contentType","crossDomain","success","code","refreshToken","clientId","value","refresh_token","grant_type","client_id","client_secret","param","i","slice","setItem","access_token","Date","getTime","expires_in","clientType","magicId","timeout","console","error","window","open","location","origin"],"sources":["icc/api.js"],"sourcesContent":["import fetch from '../api/fetch';\n// 跟平台相关的业务JS\nconst API = {\n /**\n * 获取token\n */\n getToken(params) {\n return fetch('/cloud/vis/base/cp/artemis/token.smvc', 'GET', {\n data: Object.assign({}, params),\n });\n },\n /**\n * 请求实时视频流地址\n */\n getRealmonitor(realmonitorParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/MTS/Video/StartVideo',\n data: realmonitorParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 获取对讲的rtsp\n */\n getTalkRtsp(talkPram) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/MTS/Audio/StartTalk',\n data: talkPram,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res);\n });\n });\n },\n /**\n * 根据时间查询设备上的录像\n * @param recordByTimeParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordByTimeParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordByTimeParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordByTimeParam.channelId 通道code\n * @param recordByTimeParam.startTime 开始时间\n * @param recordByTimeParam.endTime 结束时间\n */\n getRecordRtspByTime(recordByTimeParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByTime',\n data: recordByTimeParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 根据文件形式回放录像\n * @param recordByFileParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordByFileParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordByFileParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordByFileParam.channelId 通道code\n * @param recordByFileParam.startTime 开始时间 timestamp到秒\n * @param recordByFileParam.endTime 结束时间 timestamp到秒\n */\n getRecordRtspByFile(recordByFileParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Playback/StartPlaybackByFile',\n data: recordByFileParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 查询中心录像上的录像文件信息\n * @param recordsParam.recordType 录像类型:1=一般录像,2=报警录像\n * @param recordsParam.streamType 码流类型:1=主码流, 2=辅码流 使用辅码流 码率低更加流畅\n * @param recordsParam.recordSource 录像来源:1=全部,2=设备,3=中心\n * @param recordsParam.channelId 通道code\n * @param recordsParam.startTime 开始时间 timestamp到秒\n * @param recordsParam.endTime 结束时间 timestamp到秒\n */\n getRecords(recordsParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/SS/Record/QueryRecords',\n data: recordsParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台方向控制\n * @param directionParam\n * @returns {Promise<unknown>}\n */\n setPtzDirection(directionParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/OperateDirect',\n data: directionParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台镜头控制\n * @param cameraParam\n * @returns {Promise<unknown>}\n */\n setPtzCamera(cameraParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/OperateCamera',\n data: cameraParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res.errMsg);\n });\n });\n },\n /**\n * 云台三维定位接口\n * @param positionParam\n * @returns {Promise<unknown>}\n */\n controlSitPosition(positionParam) {\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/DMS/Ptz/SitPosition',\n data: positionParam,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((res) => {\n reject(res);\n });\n });\n },\n /**\n * 请求\n * @param {*} opt\n * @param {*} opt.url 接口地址\n * @param {*} opt.data 参数\n */\n ajaxRequest(opt) {\n var accessToken = localStorage.getItem('accessToken');\n var userId = accessToken ? accessToken.split(':')[0] : '';\n opt.headers = opt.headers ? opt.headers : {};\n return new Promise((resolve, reject) => {\n $.ajax({\n url: opt.url,\n type: opt.type ? opt.type : 'post',\n dataType: opt.dataType ? opt.dataType : 'json',\n data: JSON.stringify(opt.data),\n headers: Object.assign({\n Authorization: 'bearer ' + accessToken,\n 'User-Id': userId,\n 'Content-Type': 'application/json',\n proxyip: localStorage['proxyIp'],\n }, opt.headers),\n contentType: 'application/json;charset=utf-8',\n crossDomain: true,\n success: function (res) {\n if (res.code == 1000 || res.code == '0') {\n resolve(res);\n }\n else if (res.code == '27001007') {\n // token过期,刷新token\n API.refreshToken().then(() => {\n // token刷新后,重新请求\n API.ajaxRequest(opt).then((data) => {\n // 重新请求后,需要处理原始请求的resolve\n resolve(data);\n });\n });\n }\n else {\n reject(res);\n }\n },\n });\n });\n },\n // 刷新token\n refreshToken() {\n var refreshToken = localStorage.getItem('refreshToken');\n var clientId = localStorage.getItem('checked') ? 'web_client_remember' : 'web_client';\n var value = {\n refresh_token: refreshToken,\n grant_type: 'refresh_token',\n client_id: clientId,\n client_secret: 'web_client',\n };\n var param = '';\n for (var i in value) {\n param += '&' + i + '=' + value[i];\n }\n param = param.slice(1);\n return new Promise((resolve, reject) => {\n $.ajax({\n url: '/evo-apigw/evo-oauth/oauth/token',\n type: 'post',\n dataType: 'json',\n data: param,\n headers: {\n 'content-type': 'application/x-www-form-urlencoded',\n proxyip: localStorage['proxyIp'],\n },\n success: function (res) {\n if (res.code === '0') {\n localStorage.setItem('accessToken', res.data.access_token);\n localStorage.setItem('refreshToken', res.data.refresh_token);\n localStorage.setItem('expiresTime', new Date().getTime() + res.data.expires_in * 1000);\n // 登录保活\n API.ajaxRequest({\n url: `/evo-apigw/evo-brm/1.2.0/user/keepalive`,\n data: {\n clientType: 1,\n magicId: localStorage.magicId,\n timeout: 10000,\n },\n });\n resolve();\n }\n else {\n console.error(`refreshToken 失效,请登录平台`);\n window.open(location.origin);\n reject();\n }\n },\n });\n });\n },\n};\nexport default API;\n"],"mappings":"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"}