@vtx/player 1.2.14 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/icc/PlayerManager.js +4 -2
- package/lib/icc/PlayerManager.js.map +1 -1
- package/lib/icc/api.js +10 -9
- package/lib/icc/api.js.map +1 -1
- package/lib/player/index.d.ts +1 -1
- package/lib/player/index.js +59 -42
- package/lib/player/index.js.map +1 -1
- package/lib/typings/webrtcplayer.d.ts +56 -0
- package/lib/utils/index.js +8 -9
- package/lib/utils/index.js.map +1 -1
- package/lib/webrtc/PlayerManager.d.ts +67 -0
- package/lib/webrtc/PlayerManager.js +163 -0
- package/lib/webrtc/PlayerManager.js.map +1 -0
- package/package.json +2 -2
- package/lib/live-player-image/index.d.ts +0 -36
- package/lib/live-player-image/index.js +0 -238
- package/lib/live-player-image/index.js.map +0 -1
- package/lib/live-player-image/style/css.js +0 -8
- package/lib/live-player-image/style/css.js.map +0 -1
- package/lib/live-player-image/style/index.css +0 -74
- package/lib/live-player-image/style/index.d.ts +0 -3
- package/lib/live-player-image/style/index.js +0 -8
- package/lib/live-player-image/style/index.js.map +0 -1
- package/lib/live-player-image/style/index.less +0 -70
package/lib/icc/PlayerManager.js
CHANGED
|
@@ -30,7 +30,9 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
30
30
|
function PlayerManager(opt) {
|
|
31
31
|
_classCallCheck(this, PlayerManager);
|
|
32
32
|
|
|
33
|
-
// 播放器所在的容器ID
|
|
33
|
+
var _a, _b; // 播放器所在的容器ID
|
|
34
|
+
|
|
35
|
+
|
|
34
36
|
this.el = opt.el; // 实时预览播放器
|
|
35
37
|
|
|
36
38
|
this.realPlayer = null; // 录像回放播放器
|
|
@@ -48,7 +50,7 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
48
50
|
|
|
49
51
|
this.recordList = []; // 如果是http协议,只需使用ip,不需要端口
|
|
50
52
|
|
|
51
|
-
this.serverIp = opt.ip;
|
|
53
|
+
this.serverIp = location.protocol === 'http:' ? (_b = (_a = opt.ip) === null || _a === void 0 ? void 0 : _a.split(':')) === null || _b === void 0 ? void 0 : _b[0] : opt.ip;
|
|
52
54
|
this.init(opt);
|
|
53
55
|
}
|
|
54
56
|
|
|
@@ -1 +1 @@
|
|
|
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","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 },\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","_a","_b","el","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","serverIp","location","protocol","ip","split","init","initRealPlayer","initRecordPlayer","num","config","maxNum","showControl","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 var _a, _b;\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 = location.protocol === 'http:' ? (_b = (_a = opt.ip) === null || _a === void 0 ? void 0 : _a.split(':')) === null || _b === void 0 ? void 0 : _b[0] : 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 },\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":";;;;;;;AACA;;;;;;;;;;AACA,IAAIA,mBAAmB,GAAGC,QAA1B;;AACA,IAAIA,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACA,QAAjE,EAA2E;EACvED,mBAAmB,GAAGC,QAAQ,CAACA,QAA/B;AACH;AACD;AACA;AACA;AACA;;;IACMC,a;EACF,uBAAYC,GAAZ,EAAiB;IAAA;;IACb,IAAIC,EAAJ,EAAQC,EAAR,CADa,CAEb;;;IACA,KAAKC,EAAL,GAAUH,GAAG,CAACG,EAAd,CAHa,CAIb;;IACA,KAAKC,UAAL,GAAkB,IAAlB,CALa,CAMb;;IACA,KAAKC,YAAL,GAAoB,IAApB;IACA,KAAKC,MAAL,GAAc,IAAd,CARa,CASb;;IACA,KAAKC,IAAL,GAAY,MAAZ,CAVa,CAWb;;IACA,KAAKC,OAAL,GAAe,CAAf,CAZa,CAab;;IACA,KAAKC,SAAL,GAAiB,CAAjB,CAda,CAeb;;IACA,KAAKC,gBAAL,GAAwB,EAAxB,CAhBa,CAiBb;;IACA,KAAKC,UAAL,GAAkB,EAAlB,CAlBa,CAmBb;;IACA,KAAKC,QAAL,GAAgBC,QAAQ,CAACC,QAAT,KAAsB,OAAtB,GAAgC,CAACZ,EAAE,GAAG,CAACD,EAAE,GAAGD,GAAG,CAACe,EAAV,MAAkB,IAAlB,IAA0Bd,EAAE,KAAK,KAAK,CAAtC,GAA0C,KAAK,CAA/C,GAAmDA,EAAE,CAACe,KAAH,CAAS,GAAT,CAAzD,MAA4E,IAA5E,IAAoFd,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAAC,CAAD,CAA/I,GAAqJF,GAAG,CAACe,EAAzK;IACA,KAAKE,IAAL,CAAUjB,GAAV;EACH;;;;WACD,cAAKA,GAAL,EAAU;MACN,QAAQA,GAAG,CAACO,IAAZ;QACI,KAAK,MAAL;UACI,KAAKW,cAAL,CAAoBlB,GAApB;UACA;;QACJ,KAAK,QAAL;UACI,KAAKmB,gBAAL,CAAsBnB,GAAtB;UACA;MANR;IAQH;IACD;AACJ;AACA;;;;WACI,wBAAeA,GAAf,EAAoB;MAChB,IAAI,CAAC,KAAKY,QAAV,EAAoB;QAChB;MACH;;MACD,KAAKJ,OAAL,GAAeR,GAAG,CAACoB,GAAnB;MACA,KAAKb,IAAL,GAAY,MAAZ;MACA,KAAKH,UAAL,GAAkB,IAAIP,mBAAJ,CAAwB;QACtCM,EAAE,EAAE,KAAKA,EAD6B;QAEtCI,IAAI,EAAE,MAFgC;QAGtCK,QAAQ,EAAE,KAAKA,QAHuB;QAItCS,MAAM,EAAE;UACJD,GAAG,EAAEpB,GAAG,CAACoB,GADL;UAEJE,MAAM,EAAEtB,GAAG,CAACsB,MAFR;UAGJC,WAAW,EAAEvB,GAAG,CAACuB,WAHb,CAG0B;;QAH1B,CAJ8B;QAStCC,0BAA0B,EAAExB,GAAG,CAACwB,0BAAJ,IAAkC,KAAKC,4BAAL,CAAkCC,IAAlC,CAAuC,IAAvC,CATxB;QAUtCC,WAAW,EAAEC,eAAA,CAAIC,cAVqB;QAWtCC,WAAW,EAAEF,eAAA,CAAIE,WAXqB,CAWR;;MAXQ,CAAxB,CAAlB;MAaA,KAAKxB,MAAL,GAAc,KAAKF,UAAnB,CAnBgB,CAoBhB;;MACA,IAAIJ,GAAG,CAAC+B,KAAR,EAAe;QACX,KAAK3B,UAAL,CAAgB4B,WAAhB,CAA4B;UACxB;UACA7B,EAAE,EAAEH,GAAG,CAAC+B,KAFgB;UAGxB;UACAE,eAAe,EAAEL,eAAA,CAAIK,eAJG;UAKxB;UACAC,YAAY,EAAEN,eAAA,CAAIM,YANM;UAOxB;UACAC,kBAAkB,EAAEP,eAAA,CAAIO;QARA,CAA5B;MAUH;IACJ;IACD;AACJ;AACA;;;;WACI,0BAAiBnC,GAAjB,EAAsB;MAClB,IAAI,CAAC,KAAKY,QAAV,EAAoB;QAChB;MACH;;MACD,KAAKJ,OAAL,GAAeR,GAAG,CAACoB,GAAnB;MACA,KAAKb,IAAL,GAAY,QAAZ;MACA,KAAKF,YAAL,GAAoB,IAAIR,mBAAJ,CAAwB;QACxCM,EAAE,EAAE,KAAKA,EAD+B;QAExCI,IAAI,EAAE,QAFkC;QAGxCK,QAAQ,EAAE,KAAKA,QAHyB;QAIxCS,MAAM,EAAE;UACJD,GAAG,EAAEpB,GAAG,CAACoB,GADL;UAEJE,MAAM,EAAEtB,GAAG,CAACsB,MAFR;UAGJC,WAAW,EAAEvB,GAAG,CAACuB,WAHb,CAG0B;;QAH1B,CAJgC;QASxCC,0BAA0B,EAAExB,GAAG,CAACwB,0BAAJ,IAAkC,KAAKC,4BAAL,CAAkCC,IAAlC,CAAuC,IAAvC,CATtB;QAUxCU,UAAU,EAAER,eAAA,CAAIQ,UAVwB;QAWxCC,mBAAmB,EAAET,eAAA,CAAIS,mBAXe;QAYxCC,mBAAmB,EAAEV,eAAA,CAAIU,mBAZe,CAYM;;MAZN,CAAxB,CAApB;MAcA,KAAKhC,MAAL,GAAc,KAAKD,YAAnB;IACH;IACD;AACJ;AACA;AACA;AACA;AACA;IACI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;;WACA,uBAAcL,GAAd,EAAmB;MACf,KAAKI,UAAL,IACI,KAAKA,UAAL,CAAgBmC,aAAhB,CAA8BvC,GAAG,CAACwC,WAAlC,EAA+CxC,GAAG,CAACyC,UAAnD,EAA+DzC,GAAG,CAAC0C,WAAnE,CADJ;IAEH;IACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI;IACA;IACA;;;;WACA,yBAAgB1C,GAAhB,EAAqB;MACjB,KAAKK,YAAL,IAAqB,KAAKA,YAAL,CAAkBsC,aAAlB,CAAgC3C,GAAhC,CAArB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,iBAAQ;MACJ,KAAKK,YAAL,IAAqB,KAAKA,YAAL,CAAkBuC,KAAlB,EAArB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,gBAAO;MACH,KAAKvC,YAAL,IAAqB,KAAKA,YAAL,CAAkBwC,IAAlB,EAArB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,mBAAUC,KAAV,EAAiB;MACb,KAAKzC,YAAL,IAAqB,KAAKA,YAAL,CAAkB0C,SAAlB,CAA4BD,KAA5B,CAArB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,eAAME,KAAN,EAAa;MACT,KAAK1C,MAAL,IAAe,KAAKA,MAAL,CAAY2C,KAAZ,CAAkBD,KAAlB,CAAf;IACH;IACD;AACJ;AACA;;;;WACI,yBAAgB;MACZ,KAAK1C,MAAL,CAAY4C,aAAZ;IACH;IACD;AACJ;AACA;AACA;;;;WACI,0BAAiBC,aAAjB,EAAgC;MAC5B,KAAK7C,MAAL,CAAY8C,gBAAZ,CAA6BD,aAA7B;IACH;IACD;AACJ;AACA;AACA;;;;WACI,sBAAaE,MAAb,EAAqB;MACjB,KAAK/C,MAAL,CAAYgD,YAAZ,CAAyBD,MAAzB;IACH;IACD;AACJ;AACA;AACA;;;;WACI,wBAAeL,KAAf,EAAsB;MAClB,KAAK1C,MAAL,CAAYiD,cAAZ,CAA2BP,KAA3B;IACH;IACD;AACJ;AACA;AACA;;;;WACI,wBAAeQ,IAAf,EAAqB;MACjB,KAAKlD,MAAL,CAAYmD,cAAZ,CAA2BD,IAA3B;IACH,C,CACD;;;;WACA,sCAA6BE,MAA7B,EAAqCC,IAArC,EAA2C;MACvC,QAAQD,MAAR;QACI;QACA,KAAK,qBAAL;UAA4B;UACxB,KAAKhD,gBAAL,GAAwBiD,IAAI,CAACC,SAA7B;UACA,KAAKnD,SAAL,GAAiBkD,IAAI,CAAClD,SAAtB;UACA;;QACJ,KAAK,kBAAL;UAAyB;UACrB,KAAKD,OAAL,GAAemD,IAAf;UACA;;QACJ,KAAK,YAAL;UAAmB;UACf;UACA;UACA,IAAI,CAACA,IAAI,CAACE,eAAV,EAA2B;YACvBC,OAAO,CAACC,GAAR,uBAAiBJ,IAAI,CAACK,WAAtB;UACH;;UACD;;QACJ,KAAK,eAAL;UAAsB;UAClB;;QACJ,KAAK,WAAL;UAAkB;UACd;UACA;UACA;UACA;UACA;UACA;MAxBR;IA0BH;;;;;;eAEUjE,a"}
|
package/lib/icc/api.js
CHANGED
|
@@ -24,6 +24,7 @@ var API = {
|
|
|
24
24
|
* 请求实时视频流地址
|
|
25
25
|
*/
|
|
26
26
|
getRealmonitor: function getRealmonitor(realmonitorParam) {
|
|
27
|
+
console.log(22);
|
|
27
28
|
return new Promise(function (resolve, reject) {
|
|
28
29
|
API.ajaxRequest({
|
|
29
30
|
url: '/evo-apigw/admin/API/MTS/Video/StartVideo',
|
|
@@ -189,7 +190,7 @@ var API = {
|
|
|
189
190
|
dataType: opt.dataType ? opt.dataType : 'json',
|
|
190
191
|
data: JSON.stringify(opt.data),
|
|
191
192
|
headers: Object.assign({
|
|
192
|
-
Authorization:
|
|
193
|
+
Authorization: "bearer " + accessToken,
|
|
193
194
|
'User-Id': userId,
|
|
194
195
|
'Content-Type': 'application/json',
|
|
195
196
|
proxyip: localStorage['proxyIp']
|
|
@@ -199,7 +200,7 @@ var API = {
|
|
|
199
200
|
success: function success(res) {
|
|
200
201
|
if (res.code == 1000 || res.code == '0') {
|
|
201
202
|
resolve(res);
|
|
202
|
-
} else if (res.code ==
|
|
203
|
+
} else if (res.code == "27001007") {
|
|
203
204
|
// token过期,刷新token
|
|
204
205
|
API.refreshToken().then(function () {
|
|
205
206
|
// token刷新后,重新请求
|
|
@@ -220,15 +221,15 @@ var API = {
|
|
|
220
221
|
var refreshToken = localStorage.getItem('refreshToken');
|
|
221
222
|
var clientId = localStorage.getItem('checked') ? 'web_client_remember' : 'web_client';
|
|
222
223
|
var value = {
|
|
223
|
-
refresh_token: refreshToken,
|
|
224
|
-
grant_type: 'refresh_token',
|
|
225
|
-
client_id: clientId,
|
|
226
|
-
client_secret: 'web_client'
|
|
224
|
+
'refresh_token': refreshToken,
|
|
225
|
+
'grant_type': 'refresh_token',
|
|
226
|
+
'client_id': clientId,
|
|
227
|
+
"client_secret": 'web_client'
|
|
227
228
|
};
|
|
228
229
|
var param = '';
|
|
229
230
|
|
|
230
231
|
for (var i in value) {
|
|
231
|
-
param += '&' + i +
|
|
232
|
+
param += '&' + i + "=" + value[i];
|
|
232
233
|
}
|
|
233
234
|
|
|
234
235
|
param = param.slice(1);
|
|
@@ -244,8 +245,8 @@ var API = {
|
|
|
244
245
|
},
|
|
245
246
|
success: function success(res) {
|
|
246
247
|
if (res.code === '0') {
|
|
247
|
-
localStorage.setItem(
|
|
248
|
-
localStorage.setItem(
|
|
248
|
+
localStorage.setItem("accessToken", res.data.access_token);
|
|
249
|
+
localStorage.setItem("refreshToken", res.data.refresh_token);
|
|
249
250
|
localStorage.setItem('expiresTime', new Date().getTime() + res.data.expires_in * 1000); // 登录保活
|
|
250
251
|
|
|
251
252
|
API.ajaxRequest({
|
package/lib/icc/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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/np/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","console","log","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","param","i","slice","setItem","access_token","refresh_token","Date","getTime","expires_in","clientType","magicId","timeout","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/np/artemis/token.smvc', 'GET', {\n data: Object.assign({}, params)\n });\n },\n /**\n * 请求实时视频流地址\n */\n getRealmonitor(realmonitorParam) {\n console.log(22);\n return new Promise((resolve, reject) => {\n API.ajaxRequest({\n url: '/evo-apigw/admin/API/MTS/Video/StartVideo',\n data: realmonitorParam,\n }).then(res => {\n resolve(res.data);\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 }).then(res => {\n resolve(res.data);\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 }).then(res => {\n resolve(res.data);\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 }).then(res => {\n resolve(res.data);\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 }).then(res => {\n resolve(res.data);\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 }).then(res => {\n resolve(res.data);\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 }).then(res => {\n resolve(res.data);\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 }).then(res => {\n resolve(res.data);\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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"}
|
package/lib/player/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ declare global {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
/** 视频流格式 */
|
|
9
|
-
export declare type VideoType = 'flv' | 'hls' | 'hk_ws' | 'hkcar_ws' | 'icc_ws' | string;
|
|
9
|
+
export declare type VideoType = 'flv' | 'hls' | 'hk_ws' | 'hkcar_ws' | 'icc_ws' | 'webrtc' | string;
|
|
10
10
|
interface ConstructorParams {
|
|
11
11
|
url: string;
|
|
12
12
|
/** 设备id */
|
package/lib/player/index.js
CHANGED
|
@@ -11,6 +11,8 @@ var _PlayerManager = _interopRequireDefault(require("../icc/PlayerManager"));
|
|
|
11
11
|
|
|
12
12
|
var _utils = require("../utils");
|
|
13
13
|
|
|
14
|
+
var _PlayerManager2 = _interopRequireDefault(require("../webrtc/PlayerManager"));
|
|
15
|
+
|
|
14
16
|
var _flv = _interopRequireDefault(require("flv.js"));
|
|
15
17
|
|
|
16
18
|
var _hls = _interopRequireDefault(require("hls.js"));
|
|
@@ -156,13 +158,25 @@ var Player = /*#__PURE__*/function () {
|
|
|
156
158
|
|
|
157
159
|
if (this.type === 'icc_ws') {
|
|
158
160
|
this.player = new _PlayerManager["default"]({
|
|
159
|
-
ip:
|
|
161
|
+
ip: "".concat(deviceIp || '', ":").concat(devicePort || ''),
|
|
160
162
|
el: container.id,
|
|
161
163
|
type: live ? 'real' : 'record',
|
|
162
164
|
maxNum: 1,
|
|
163
165
|
num: 1
|
|
164
166
|
});
|
|
165
167
|
}
|
|
168
|
+
|
|
169
|
+
if (this.type === 'webrtc') {
|
|
170
|
+
video.autoplay = true;
|
|
171
|
+
var id = "".concat(container.id, "_").concat(Date.now());
|
|
172
|
+
video.id = id;
|
|
173
|
+
container.appendChild(video);
|
|
174
|
+
this.player = new _PlayerManager2["default"]({
|
|
175
|
+
el: id,
|
|
176
|
+
url: this.url,
|
|
177
|
+
type: live
|
|
178
|
+
});
|
|
179
|
+
}
|
|
166
180
|
}
|
|
167
181
|
/** 播放 */
|
|
168
182
|
|
|
@@ -170,8 +184,6 @@ var Player = /*#__PURE__*/function () {
|
|
|
170
184
|
_createClass(Player, [{
|
|
171
185
|
key: "play",
|
|
172
186
|
value: function play() {
|
|
173
|
-
var _this = this;
|
|
174
|
-
|
|
175
187
|
if (this.type === 'flv') {
|
|
176
188
|
var player = this.player;
|
|
177
189
|
return player.play();
|
|
@@ -193,17 +205,22 @@ var Player = /*#__PURE__*/function () {
|
|
|
193
205
|
}
|
|
194
206
|
|
|
195
207
|
if (this.type === 'icc_ws') {
|
|
196
|
-
var
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
208
|
+
var _player2 = this.player;
|
|
209
|
+
|
|
210
|
+
_player2.playRealVideo({
|
|
211
|
+
channelList: [{
|
|
212
|
+
id: this.deviceCode + '$1$0$' + this.channelNum,
|
|
213
|
+
isOnline: true
|
|
214
|
+
}],
|
|
215
|
+
streamType: Number(this.streamType) + 1
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (this.type === 'webrtc') {
|
|
220
|
+
var _player3 = this.player;
|
|
221
|
+
|
|
222
|
+
_player3.play(); // document.getElementById('media_player')?.[0].prop('srcObject', 'livestream');/\
|
|
223
|
+
|
|
207
224
|
}
|
|
208
225
|
|
|
209
226
|
return Promise.resolve();
|
|
@@ -213,7 +230,7 @@ var Player = /*#__PURE__*/function () {
|
|
|
213
230
|
}, {
|
|
214
231
|
key: "playBack",
|
|
215
232
|
value: function playBack() {
|
|
216
|
-
var
|
|
233
|
+
var _this = this;
|
|
217
234
|
|
|
218
235
|
if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {
|
|
219
236
|
var player = this.player;
|
|
@@ -223,16 +240,16 @@ var Player = /*#__PURE__*/function () {
|
|
|
223
240
|
}, 1, (0, _utils.getHKTimeString)(this.startTime), (0, _utils.getHKTimeString)(this.endTime));
|
|
224
241
|
return result;
|
|
225
242
|
} else if (this.type === 'icc_ws') {
|
|
226
|
-
var
|
|
243
|
+
var _player4 = this.player;
|
|
227
244
|
return new Promise(function (resolve) {
|
|
228
|
-
|
|
245
|
+
_player4.playRecordVideo({
|
|
229
246
|
channelList: [{
|
|
230
|
-
id:
|
|
247
|
+
id: _this.deviceCode + '$1$0$' + _this.channelNum
|
|
231
248
|
}],
|
|
232
|
-
startTime: (0, _moment["default"])(
|
|
233
|
-
endTime: (0, _moment["default"])(
|
|
249
|
+
startTime: (0, _moment["default"])(_this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),
|
|
250
|
+
endTime: (0, _moment["default"])(_this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),
|
|
234
251
|
recordSource: '2',
|
|
235
|
-
streamType:
|
|
252
|
+
streamType: _this.streamType
|
|
236
253
|
});
|
|
237
254
|
|
|
238
255
|
resolve(true);
|
|
@@ -254,24 +271,24 @@ var Player = /*#__PURE__*/function () {
|
|
|
254
271
|
}
|
|
255
272
|
|
|
256
273
|
if (this.type === 'hls') {
|
|
257
|
-
var
|
|
274
|
+
var _player5 = this.player;
|
|
258
275
|
|
|
259
|
-
|
|
276
|
+
_player5.destroy();
|
|
260
277
|
|
|
261
278
|
this.player = null;
|
|
262
279
|
this.video.remove();
|
|
263
280
|
}
|
|
264
281
|
|
|
265
282
|
if (this.type === 'hk_ws') {
|
|
266
|
-
var
|
|
283
|
+
var _player6 = this.player;
|
|
267
284
|
|
|
268
|
-
|
|
285
|
+
_player6.JS_Stop(1);
|
|
269
286
|
}
|
|
270
287
|
|
|
271
288
|
if (this.type === 'hkcar_ws') {
|
|
272
|
-
var
|
|
289
|
+
var _player7 = this.player;
|
|
273
290
|
|
|
274
|
-
|
|
291
|
+
_player7.JS_DestroyWorker();
|
|
275
292
|
}
|
|
276
293
|
}
|
|
277
294
|
/** 截图 */
|
|
@@ -303,9 +320,9 @@ var Player = /*#__PURE__*/function () {
|
|
|
303
320
|
var player = this.player;
|
|
304
321
|
player.JS_Resize();
|
|
305
322
|
} else if (this.type === 'icc_ws') {
|
|
306
|
-
var
|
|
323
|
+
var _player8 = this.player;
|
|
307
324
|
|
|
308
|
-
|
|
325
|
+
_player8.setPlayerAdapter('selfAdaption');
|
|
309
326
|
}
|
|
310
327
|
}
|
|
311
328
|
/**
|
|
@@ -326,9 +343,9 @@ var Player = /*#__PURE__*/function () {
|
|
|
326
343
|
}
|
|
327
344
|
|
|
328
345
|
if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {
|
|
329
|
-
var
|
|
346
|
+
var _player9 = this.player;
|
|
330
347
|
|
|
331
|
-
|
|
348
|
+
_player9.JS_SetVolume(1, value);
|
|
332
349
|
}
|
|
333
350
|
}
|
|
334
351
|
/**
|
|
@@ -400,9 +417,9 @@ var Player = /*#__PURE__*/function () {
|
|
|
400
417
|
|
|
401
418
|
this.preSpeed = speed;
|
|
402
419
|
} else if (this.type === 'icc_ws') {
|
|
403
|
-
var
|
|
420
|
+
var _player10 = this.player;
|
|
404
421
|
|
|
405
|
-
|
|
422
|
+
_player10.playSpeed(speed);
|
|
406
423
|
} else {
|
|
407
424
|
this.video.playbackRate = speed;
|
|
408
425
|
}
|
|
@@ -415,24 +432,24 @@ var Player = /*#__PURE__*/function () {
|
|
|
415
432
|
}, {
|
|
416
433
|
key: "onTimeUpdate",
|
|
417
434
|
value: function onTimeUpdate(callback) {
|
|
418
|
-
var
|
|
435
|
+
var _this2 = this;
|
|
419
436
|
|
|
420
437
|
var _a;
|
|
421
438
|
|
|
422
439
|
this.video.addEventListener('timeupdate', function () {
|
|
423
|
-
var currentTime =
|
|
440
|
+
var currentTime = _this2.video.currentTime;
|
|
424
441
|
|
|
425
|
-
if ((
|
|
426
|
-
currentTime = currentTime +
|
|
442
|
+
if ((_this2.type === 'hk_ws' || _this2.type === 'hkcar_ws') && _this2.seekTime) {
|
|
443
|
+
currentTime = currentTime + _this2.seekTime.diff(_this2.startTime, 'seconds');
|
|
427
444
|
}
|
|
428
445
|
|
|
429
|
-
callback(currentTime,
|
|
446
|
+
callback(currentTime, _this2.type === 'hk_ws' || _this2.type === 'hkcar_ws' ? _this2.preSpeed : _this2.video.playbackRate);
|
|
430
447
|
}); // 增加hw_ws 流播放结束回调
|
|
431
448
|
|
|
432
449
|
var player = this.player;
|
|
433
450
|
(_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {
|
|
434
451
|
StreamEnd: function StreamEnd() {
|
|
435
|
-
callback((0, _moment["default"])(
|
|
452
|
+
callback((0, _moment["default"])(_this2.endTime).diff(_this2.startTime, 'seconds'), _this2.preSpeed);
|
|
436
453
|
}
|
|
437
454
|
});
|
|
438
455
|
}
|
|
@@ -444,7 +461,7 @@ var Player = /*#__PURE__*/function () {
|
|
|
444
461
|
var _a, _b;
|
|
445
462
|
|
|
446
463
|
return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
447
|
-
var player, seekTime,
|
|
464
|
+
var player, seekTime, _player11, _seekTime;
|
|
448
465
|
|
|
449
466
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
450
467
|
while (1) {
|
|
@@ -471,10 +488,10 @@ var Player = /*#__PURE__*/function () {
|
|
|
471
488
|
break;
|
|
472
489
|
}
|
|
473
490
|
|
|
474
|
-
|
|
491
|
+
_player11 = this.player;
|
|
475
492
|
_seekTime = (_b = (0, _moment["default"])(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');
|
|
476
493
|
|
|
477
|
-
|
|
494
|
+
_player11.jumpPlayByTime(_seekTime);
|
|
478
495
|
|
|
479
496
|
_context.next = 16;
|
|
480
497
|
break;
|