@vtx/player 0.0.30 → 1.0.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/api/index.d.ts +8 -0
- package/lib/api/index.js +43 -3
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +41 -4
- package/lib/components/set-tag-video/index.d.ts +9 -0
- package/lib/components/set-tag-video/index.js +196 -0
- package/lib/components/set-tag-video/index.js.map +1 -0
- package/lib/components/set-tag-video/style/css.js +4 -0
- package/lib/components/set-tag-video/style/css.js.map +1 -0
- package/lib/components/set-tag-video/style/index.css +104 -0
- package/lib/components/set-tag-video/style/index.d.ts +1 -0
- package/lib/components/set-tag-video/style/index.js +4 -0
- package/lib/components/set-tag-video/style/index.js.map +1 -0
- package/lib/components/set-tag-video/style/index.less +125 -0
- package/lib/components/split-screen/index.d.ts +11 -0
- package/lib/components/split-screen/index.js +203 -0
- package/lib/components/split-screen/index.js.map +1 -0
- package/lib/components/split-screen/style/css.js +4 -0
- package/lib/components/split-screen/style/css.js.map +1 -0
- package/lib/components/split-screen/style/index.css +21 -0
- package/lib/components/split-screen/style/index.d.ts +1 -0
- package/lib/components/split-screen/style/index.js +4 -0
- package/lib/components/split-screen/style/index.js.map +1 -0
- package/lib/components/split-screen/style/index.less +21 -0
- package/lib/components/tag-video/images/play.gif +0 -0
- package/lib/components/tag-video/index.d.ts +7 -0
- package/lib/components/tag-video/index.js +171 -0
- package/lib/components/tag-video/index.js.map +1 -0
- package/lib/components/tag-video/style/css.js +4 -0
- package/lib/components/tag-video/style/css.js.map +1 -0
- package/lib/components/tag-video/style/index.css +73 -0
- package/lib/components/tag-video/style/index.d.ts +1 -0
- package/lib/components/tag-video/style/index.js +4 -0
- package/lib/components/tag-video/style/index.js.map +1 -0
- package/lib/components/tag-video/style/index.less +69 -0
- package/lib/components/video-scale/index.d.ts +9 -0
- package/lib/components/video-scale/index.js +65 -0
- package/lib/components/video-scale/index.js.map +1 -0
- package/lib/components/video-scale/style/css.js +4 -0
- package/lib/components/video-scale/style/css.js.map +1 -0
- package/lib/components/video-scale/style/index.css +30 -0
- package/lib/components/video-scale/style/index.d.ts +1 -0
- package/lib/components/video-scale/style/index.js +4 -0
- package/lib/components/video-scale/style/index.js.map +1 -0
- package/lib/components/video-scale/style/index.less +31 -0
- package/lib/controls/index.d.ts +2 -0
- package/lib/controls/index.js +5 -3
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/index.css +1 -0
- package/lib/controls/style/index.less +1 -0
- package/lib/history-control/index.js +5 -1
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/index.css +1 -0
- package/lib/history-control/style/index.less +1 -0
- package/lib/history-control-v2/components/grid-item/index.d.ts +21 -0
- package/lib/history-control-v2/components/grid-item/index.js +207 -0
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -0
- package/lib/history-control-v2/components/panel/index.d.ts +9 -0
- package/lib/history-control-v2/components/panel/index.js +477 -0
- package/lib/history-control-v2/components/panel/index.js.map +1 -0
- package/lib/history-control-v2/context.d.ts +17 -0
- package/lib/history-control-v2/context.js +12 -0
- package/lib/history-control-v2/context.js.map +1 -0
- package/lib/history-control-v2/images/collapse.png +0 -0
- package/lib/history-control-v2/images/empty.png +0 -0
- package/lib/history-control-v2/index.d.ts +11 -0
- package/lib/history-control-v2/index.js +418 -0
- package/lib/history-control-v2/index.js.map +1 -0
- package/lib/history-control-v2/interface.d.ts +137 -0
- package/lib/history-control-v2/style/css.js +24 -0
- package/lib/history-control-v2/style/css.js.map +1 -0
- package/lib/history-control-v2/style/index.css +435 -0
- package/lib/history-control-v2/style/index.d.ts +11 -0
- package/lib/history-control-v2/style/index.js +24 -0
- package/lib/history-control-v2/style/index.js.map +1 -0
- package/lib/history-control-v2/style/index.less +437 -0
- package/lib/history-control-v2/utils.d.ts +19 -0
- package/lib/history-control-v2/utils.js +132 -0
- package/lib/history-control-v2/utils.js.map +1 -0
- package/lib/history-player/index.d.ts +11 -3
- package/lib/history-player/index.js +99 -32
- package/lib/history-player/index.js.map +1 -1
- package/lib/icons/index.css +4 -0
- package/lib/icons/index.d.ts +29 -0
- package/lib/icons/index.js +1393 -19
- package/lib/icons/index.js.map +1 -1
- package/lib/icons/index.less +6 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +16 -0
- package/lib/index.js.map +1 -1
- package/lib/live-control/index.js +5 -2
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control-v2/images/empty.png +0 -0
- package/lib/live-control-v2/index.d.ts +55 -0
- package/lib/live-control-v2/index.js +529 -0
- package/lib/live-control-v2/index.js.map +1 -0
- package/lib/live-control-v2/style/css.js +18 -0
- package/lib/live-control-v2/style/css.js.map +1 -0
- package/lib/live-control-v2/style/index.css +217 -0
- package/lib/live-control-v2/style/index.d.ts +8 -0
- package/lib/live-control-v2/style/index.js +18 -0
- package/lib/live-control-v2/style/index.js.map +1 -0
- package/lib/live-control-v2/style/index.less +192 -0
- package/lib/live-player/index.d.ts +1 -1
- package/lib/live-player/index.js +7 -2
- package/lib/live-player/index.js.map +1 -1
- package/lib/player/index.js +14 -3
- package/lib/player/index.js.map +1 -1
- package/lib/typings/h5player.d.ts +10 -8
- package/lib/utils/index.d.ts +17 -0
- package/lib/utils/index.js +20 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
package/lib/player/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","player","preSpeed","url","enableAgent","container","live","type","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","getElementById","play","JS_Play","playURL","mode","getHKTimeString","destroy","remove","JS_Stop","captureName","callback","time","name","moment","format","JS_CapturePicture","res","Capture","JS_Resize","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playbackRate","addEventListener","currentTime","seekTime","diff","_a","add","JS_Seek","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","context","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL"],"sources":["player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\nimport { getHKTimeString, getPlayerParams } from '../utils';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, enableAgent = false, container, live = true, type, startTime, endTime } = params;\n const playerParams = getPlayerParams(url, enableAgent, live, startTime, endTime);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: live,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const video = document.getElementById(`${container.id}_playVideo0`);\n this.video = video;\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1);\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","player","preSpeed","url","enableAgent","container","live","type","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","getElementById","play","JS_Play","playURL","mode","getHKTimeString","destroy","remove","JS_Stop","captureName","callback","time","name","moment","format","JS_CapturePicture","res","Capture","JS_Resize","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playbackRate","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","StreamEnd","_a","add","JS_Seek","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","context","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL"],"sources":["player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\nimport { getHKTimeString, getPlayerParams } from '../utils';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, enableAgent = false, container, live = true, type, startTime, endTime } = params;\n const playerParams = getPlayerParams(url, enableAgent, live, startTime, endTime);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: live,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const video = document.getElementById(`${container.id}_playVideo0`);\n this.video = video;\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 0);\n return result;\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n return result;\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback({\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n }\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
|
|
@@ -107,21 +107,23 @@ type JSPluginConstructorParams = {
|
|
|
107
107
|
|
|
108
108
|
type JSPluginCallbackParams = {
|
|
109
109
|
/** 插件选中窗口回调 */
|
|
110
|
-
windowEventSelect
|
|
110
|
+
windowEventSelect?: (index: number) => void;
|
|
111
111
|
/** 插件错误回调 */
|
|
112
|
-
pluginErrorHandler
|
|
112
|
+
pluginErrorHandler?: (index: number, code: string, error: object) => void;
|
|
113
113
|
/** 鼠标移过回调 */
|
|
114
|
-
windowEventOver
|
|
114
|
+
windowEventOver?: (index: number) => void;
|
|
115
115
|
/** 鼠标移出回调 */
|
|
116
|
-
windowEventOut
|
|
116
|
+
windowEventOut?: (index: number) => void;
|
|
117
117
|
/** 鼠标mouseup事件回调 */
|
|
118
|
-
windowEventUp
|
|
118
|
+
windowEventUp?: (index: number) => void;
|
|
119
119
|
/** 全屏切换回调 */
|
|
120
|
-
windowFullCcreenChange
|
|
120
|
+
windowFullCcreenChange?: (full: boolean) => void;
|
|
121
121
|
/** 首帧显示回调 */
|
|
122
|
-
firstFrameDisplay
|
|
122
|
+
firstFrameDisplay?: (index: number, width: number, height: number) => void;
|
|
123
123
|
/** 性能不足回调 */
|
|
124
|
-
performanceLack
|
|
124
|
+
performanceLack?: () => void;
|
|
125
|
+
/** 流结束 */
|
|
126
|
+
StreamEnd?: () => void;
|
|
125
127
|
};
|
|
126
128
|
|
|
127
129
|
type PlayConfig = {
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -28,6 +28,18 @@ export declare const getPlayerParams: (url: string, enableAgent: boolean, live:
|
|
|
28
28
|
* @returns
|
|
29
29
|
*/
|
|
30
30
|
export declare const getUrlTableData: (data: GetHistoryUrlResp) => UrlsTableItemType[];
|
|
31
|
+
/**
|
|
32
|
+
* bytes转换mb
|
|
33
|
+
* @param bytes
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
export declare const bytesToMegaBytes: (bytes: number) => string;
|
|
37
|
+
/**
|
|
38
|
+
* 秒数=>0时0分0秒
|
|
39
|
+
* @param total
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
export declare const secondsToString: (total: number) => string;
|
|
31
43
|
/**
|
|
32
44
|
* 秒数=>00:00:00
|
|
33
45
|
* @param total
|
|
@@ -64,4 +76,9 @@ export declare const getFlvListUrl: (totalUrl: string, startTime: moment.MomentI
|
|
|
64
76
|
* @returns 字段值
|
|
65
77
|
*/
|
|
66
78
|
export declare const getUrlParam: (key?: string, href?: string) => any;
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @returns 返回UUID
|
|
82
|
+
*/
|
|
83
|
+
export declare function guid(): string;
|
|
67
84
|
export {};
|
package/lib/utils/index.js
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.getUrlTableData = exports.getUrlParam = exports.getPlayerParams = exports.getHKTimeString = exports.getHKListUrl = exports.getFlvListUrl = exports.bytesToMegaBytes = exports.TimeFormat = void 0;
|
|
7
|
+
exports.guid = guid;
|
|
8
|
+
exports.secondsToTime = exports.secondsToString = exports.guidGenerator = void 0;
|
|
7
9
|
|
|
8
10
|
var _jsBase = require("js-base64");
|
|
9
11
|
|
|
@@ -195,6 +197,8 @@ var bytesToMegaBytes = function bytesToMegaBytes(bytes) {
|
|
|
195
197
|
*/
|
|
196
198
|
|
|
197
199
|
|
|
200
|
+
exports.bytesToMegaBytes = bytesToMegaBytes;
|
|
201
|
+
|
|
198
202
|
var secondsToString = function secondsToString(total) {
|
|
199
203
|
var hour = Math.floor(total / 3600);
|
|
200
204
|
var minute = Math.floor(total % 3600 / 60);
|
|
@@ -209,6 +213,8 @@ var secondsToString = function secondsToString(total) {
|
|
|
209
213
|
*/
|
|
210
214
|
|
|
211
215
|
|
|
216
|
+
exports.secondsToString = secondsToString;
|
|
217
|
+
|
|
212
218
|
var secondsToTime = function secondsToTime(total) {
|
|
213
219
|
var hour = Math.floor(total / 3600);
|
|
214
220
|
var minute = Math.floor(total % 3600 / 60);
|
|
@@ -299,6 +305,19 @@ var getUrlParam = function getUrlParam(key) {
|
|
|
299
305
|
return paramObj;
|
|
300
306
|
}
|
|
301
307
|
};
|
|
308
|
+
/**
|
|
309
|
+
*
|
|
310
|
+
* @returns 返回UUID
|
|
311
|
+
*/
|
|
312
|
+
|
|
302
313
|
|
|
303
314
|
exports.getUrlParam = getUrlParam;
|
|
315
|
+
|
|
316
|
+
function guid() {
|
|
317
|
+
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
318
|
+
var r = Math.random() * 16 | 0,
|
|
319
|
+
v = c == 'x' ? r : r & 0x3 | 0x8;
|
|
320
|
+
return v.toString(16);
|
|
321
|
+
});
|
|
322
|
+
}
|
|
304
323
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","live","startTime","endTime","playerUrl","playerType","split","Base64","encode","getFlvListUrl","type","getUrlTableData","data","result","list","map","item","i","beginTime","moment","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n if (url.startsWith(\"https:\")) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n if (url.startsWith(\"wss:\")) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, enableAgent, live, startTime, endTime) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n if (live) {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n else {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(getFlvListUrl(url, startTime, endTime))}`;\n }\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nconst bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nconst secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getFlvListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","live","startTime","endTime","playerUrl","playerType","split","Base64","encode","getFlvListUrl","type","getUrlTableData","data","result","list","map","item","i","beginTime","moment","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n if (url.startsWith(\"https:\")) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n if (url.startsWith(\"wss:\")) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, enableAgent, live, startTime, endTime) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n if (live) {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n else {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(getFlvListUrl(url, startTime, endTime))}`;\n }\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getFlvListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\n"],"mappings":"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"}
|