@yimou6/common-ui 1.14.2 → 1.14.3
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/cdn/index.cdn.js +15 -15
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +17 -17
- package/cdn/index.cdn.mjs.map +1 -1
- package/cdn/index.css +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/tzj-player/index.mjs +1 -1
- package/es/components/tzj-player/src/ctyun-player.vue2.mjs +6 -122
- package/es/components/tzj-player/src/ctyun-player.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs +23 -5
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/yunzhiyan.d.ts +0 -15
- package/es/components/tzj-player/src/yunzhiyan.mjs +1 -215
- package/es/components/tzj-player/src/yunzhiyan.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/lib/components/index.js +0 -4
- package/lib/components/index.js.map +1 -1
- package/lib/components/tzj-player/index.js +0 -4
- package/lib/components/tzj-player/index.js.map +1 -1
- package/lib/components/tzj-player/src/ctyun-player.vue2.js +5 -121
- package/lib/components/tzj-player/src/ctyun-player.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/easyPlayer.vue2.js +23 -5
- package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/yunzhiyan.d.ts +0 -15
- package/lib/components/tzj-player/src/yunzhiyan.js +0 -218
- package/lib/components/tzj-player/src/yunzhiyan.js.map +1 -1
- package/lib/index.js +0 -4
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
- package/theme-default/i-tzj-player.css +1 -1
- package/theme-default/index.css +1 -1
|
@@ -271,14 +271,32 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
271
271
|
// H.265 走 WebCodecs 硬解(Chrome 的 MSE 不支持 H265,需靠 WCS 兜底)
|
|
272
272
|
WASM: true,
|
|
273
273
|
// 硬解不可用时降级 WASM 软解
|
|
274
|
-
debug:
|
|
274
|
+
debug: false,
|
|
275
275
|
maxDelay: 300,
|
|
276
276
|
// 最大容忍延迟300ms,超时自动丢帧追实时画面
|
|
277
|
-
reconnect: true
|
|
277
|
+
reconnect: true,
|
|
278
278
|
// 断线自动重连,单路故障不影响其他8路
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
279
|
+
hasControl: true,
|
|
280
|
+
operateBtns: {
|
|
281
|
+
fullscreen: true,
|
|
282
|
+
//全屏
|
|
283
|
+
screenshot: true,
|
|
284
|
+
//截图
|
|
285
|
+
stretch: true,
|
|
286
|
+
//拉伸
|
|
287
|
+
play: true,
|
|
288
|
+
//播放
|
|
289
|
+
audio: false,
|
|
290
|
+
//音量
|
|
291
|
+
record: true,
|
|
292
|
+
//录制
|
|
293
|
+
ptz: false,
|
|
294
|
+
//云台
|
|
295
|
+
zoom: false,
|
|
296
|
+
//缩放
|
|
297
|
+
close: false
|
|
298
|
+
//关闭
|
|
299
|
+
}
|
|
282
300
|
});
|
|
283
301
|
createRetryCount = 0;
|
|
284
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"easyPlayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useSlots,\n watch,\n} from \"vue\";\nimport { TzjPlayerProps, uuid } from \"./tzj-player\";\n\ndefineOptions({\n name: \"EasyPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nconst slots = useSlots();\nconst customBar = computed(() => slots.customBar);\n\nlet player: any = null;\nconst id = uuid();\nconst playerRef = shallowRef<HTMLDivElement>();\nconst playSuccess = ref(true);\nconst playUrl = ref(\"\");\nconst videoInfo = ref<any>(null);\nconst eventHandlers = ref<Map<string, Function>>(new Map());\n// 用于追踪等待 EasyPlayerPro 加载的轮询定时器,防止组件卸载后泄漏\nlet waitTimer: ReturnType<typeof setInterval> | null = null;\n// 用于定时重启播放器的定时器,防止播放器卡死\nconst restartTimer = ref<ReturnType<typeof setInterval> | null>(null);\n// 用于定时暂停播放器的定时器(pauseMode=3时,每60分钟触发一次暂停)\nconst pauseCycleTimer = ref<ReturnType<typeof setInterval> | null>(null);\n// ResizeObserver:监听容器尺寸变化,同步更新播放器 DOM 尺寸\nlet resizeObserver: ResizeObserver | null = null;\n// startPlayer 重试计数,处理 worklet/AbortError 偶发失败\nlet createRetryCount = 0;\nconst MAX_CREATE_RETRY = 3;\n// 标记组件是否已卸载,防止卸载后的异步操作继续执行\nlet isUnmounted = false;\n\nonMounted(() => {\n // 监听容器尺寸变化,同步播放器 DOM 尺寸(防止控件丢失)\n if (typeof ResizeObserver !== \"undefined\" && playerRef.value) {\n resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n const dom = document.getElementById(id);\n if (dom && width > 0 && height > 0) {\n dom.style.width = `${width}px`;\n dom.style.height = `${height}px`;\n }\n }\n });\n resizeObserver.observe(playerRef.value);\n }\n initPlayer(props.url || \"\");\n});\n\nwatch(\n () => props.url,\n (newUrl: string) => {\n initPlayer(newUrl || \"\");\n },\n);\n\nonBeforeUnmount(() => {\n isUnmounted = true;\n // 清除 ResizeObserver\n if (resizeObserver) {\n resizeObserver.disconnect();\n resizeObserver = null;\n }\n // 清除等待 EasyPlayerPro 加载的轮询定时器,防止卸载后继续创建播放器\n if (waitTimer !== null) {\n clearInterval(waitTimer);\n waitTimer = null;\n }\n // 清除定时暂停的定时器\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n pauseCycleTimer.value = null;\n }\n if (props.debug) {\n console.log(\"组件卸载\");\n }\n playUrl.value = \"\";\n destroy();\n});\n\nconst play = (url?: string) => {\n if (url) {\n initPlayer(url);\n } else {\n if (player) {\n player.play(playUrl.value);\n // pauseMode=3 时,继续播放后重新开始60分钟计时\n if (props.pauseMode === 3) {\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n }\n pauseCycleTimer.value = setInterval(\n () => {\n if (!isUnmounted && player) {\n player.pause?.();\n if (props.debug) {\n console.log(\"pauseMode: 每60分钟定时暂停\");\n }\n }\n },\n 1000 * 60 * 10,\n );\n }\n } else {\n destroy();\n }\n }\n};\n\nconst playerPause = () => {\n if (props.debug) {\n console.log(\"暂停\");\n }\n player?.pause?.();\n};\n\nconst playerScreenShot = () => {\n if (props.debug) {\n console.log(\"截图\");\n }\n player?.screenshot?.(\n `${props.areaName}_${new Date().getTime()}`,\n \"png\",\n 0.5,\n \"download\",\n );\n};\n\ndefineExpose({\n play,\n destroy,\n getPlayer: () => player,\n pause: playerPause,\n screenshot: playerScreenShot,\n isMute: () => {\n return player?.isMute?.();\n },\n setMute: (mute: number) => {\n player?.setMute?.(mute);\n },\n});\n\n/**\n * 格式化URL,确保使用完整的URL\n * @param url - 原始URL\n * @returns 格式化后的URL\n */\nconst formatUrl = (url: string): string => {\n if (!url) return \"\";\n\n // 如果已经是完整URL,直接返回\n if (\n url.startsWith(\"http://\") ||\n url.startsWith(\"https://\") ||\n url.startsWith(\"ws://\")\n ) {\n return url;\n }\n\n // 如果URL以//开头,自动补全协议(根据当前页面协议)\n if (url.startsWith(\"//\")) {\n if (typeof window !== \"undefined\" && window.location) {\n return `${window.location.protocol}${url}`;\n }\n // SSR环境下默认使用https\n return `https:${url}`;\n }\n\n // 检查是否在浏览器环境中,避免SSR环境下的location访问错误\n if (typeof window !== \"undefined\" && window.location) {\n // 如果是相对路径,添加当前域名\n return `${window.location.origin}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n }\n\n // SSR 环境下返回相对路径\n return url;\n};\n\nasync function initPlayer(url: string) {\n if (props.debug) {\n console.log(\"初始化播放器\", url);\n }\n // 清除上一次可能残留的轮询定时器\n if (waitTimer !== null) {\n clearInterval(waitTimer);\n waitTimer = null;\n }\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n if (props.debug) {\n console.log(\"格式化后的url\", playUrl.value);\n }\n if (typeof window !== \"undefined\" && window?.EasyPlayerPro) {\n createPlayer();\n } else if (typeof window !== \"undefined\") {\n waitTimer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n clearInterval(waitTimer!);\n waitTimer = null;\n // 组件已卸载则不再创建播放器\n if (!isUnmounted) {\n createPlayer();\n }\n }\n }, 100);\n }\n }\n}\n\n/**\n * 移除播放器DOM\n */\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n\n/**\n * 创建播放器DOM\n */\nfunction createPlayerDom(): Promise<HTMLDivElement> {\n removePlayerDom();\n return new Promise((resolve) => {\n if (typeof document === \"undefined\") {\n resolve(null!);\n return;\n }\n // 最大重试帧数,防止无限等待\n let retryCount = 0;\n const MAX_RETRY = 60; // 约 1 秒 (60 * 16ms)\n\n const tryCreate = () => {\n const rect = playerRef.value?.getBoundingClientRect();\n if (!rect || rect.width <= 0 || rect.height <= 0) {\n if (++retryCount < MAX_RETRY) {\n requestAnimationFrame(tryCreate);\n return;\n }\n // 超过最大重试次数,使用 100% 尺寸兜底\n console.warn(\"[EasyPlayer] 容器尺寸获取超时,使用默认尺寸\");\n }\n\n const dom = document.createElement(\"div\");\n dom.id = id;\n // 使用实际尺寸,若获取失败则用 100%\n const rectW = rect?.width ?? 0;\n const rectH = rect?.height ?? 0;\n console.log(\"🚀 ~ rectH:\", rectH);\n const w = rectW > 0 ? rectW : playerRef.value?.offsetWidth || 800;\n const h = rectH > 0 ? rectH : playerRef.value?.offsetHeight || 450;\n\n dom.style.width = `${w}px`;\n dom.style.height =\n props.areaName || props.deviceSerial ? `${h - 32}px` : `${h}px`;\n playerRef.value?.appendChild(dom);\n resolve(dom);\n };\n\n requestAnimationFrame(tryCreate);\n });\n}\n\nasync function createPlayer() {\n if (props.debug) {\n console.log(\"创建播放器\");\n }\n videoInfo.value = null;\n await createPlayerDom();\n // 每30秒重启一次播放器,防止播放器卡死\n if (restartTimer.value !== null) {\n clearInterval(restartTimer.value);\n restartTimer.value = null;\n }\n restartTimer.value = setInterval(\n () => {\n destroy(false);\n setTimeout(() => {\n startPlayer();\n }, 1000 * 20);\n },\n 1000 * 60 * 60,\n );\n startPlayer();\n}\n\nasync function startPlayer() {\n try {\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n const isMicro = window.__MICRO_APP_ENVIRONMENT__;\n console.log(\"🚀 ~ isMicro:\", isMicro);\n player = new window.EasyPlayerPro(document.getElementById(id), {\n isLive: true, // 是否直播\n hasAudio: false, // 是否解析音频\n bufferTime: 0.2, // 直播监控缓存时长设为0,减少内存堆积\n stretch: true, // 加视频拉伸\n MSE: true, // H.264 走 MSE 硬解\n WCS: true, // H.265 走 WebCodecs 硬解(Chrome 的 MSE 不支持 H265,需靠 WCS 兜底)\n WASM: true, // 硬解不可用时降级 WASM 软解\n debug: true,\n maxDelay: 300, // 最大容忍延迟300ms,超时自动丢帧追实时画面\n reconnect: true, // 断线自动重连,单路故障不影响其他8路\n // // 使用动态拼接的绝对路径\n // decoderPath: `${window.location.origin}/plugins/easy-player/`,\n // decoder: \"EasyPlayer-decode.js\",\n });\n // 创建成功,重置重试计数\n createRetryCount = 0;\n }\n if (player) {\n player.play(playUrl.value);\n\n // 根据 pauseMode 处理暂停逻辑\n // pauseMode=2 或 3 时,初始默认暂停\n if (props.pauseMode === 2 || props.pauseMode === 3) {\n // 短暂延迟后暂停,确保播放器已开始播放再暂停\n setTimeout(() => {\n if (!isUnmounted && player) {\n player.pause?.();\n if (props.debug) {\n console.log(\"pauseMode: 初始默认暂停\");\n }\n }\n }, 500);\n }\n\n // pauseMode=3 时,每60分钟触发一次暂停\n if (props.pauseMode === 3) {\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n }\n pauseCycleTimer.value = setInterval(\n () => {\n if (!isUnmounted && player) {\n player.pause?.();\n if (props.debug) {\n console.log(\"pauseMode: 每60分钟定时暂停\");\n }\n }\n },\n 1000 * 60 * 60,\n );\n }\n\n const timeoutHandler = () => {\n props.debug && console.log(\"加载超时\");\n emits(\"timeout\");\n playSuccess.value = false;\n destroy();\n initPlayer(playUrl.value);\n };\n\n const errorHandler = (error?: any) => {\n props.debug && console.log(\"播放异常\", error);\n emits(\"error\", error);\n playSuccess.value = false;\n // destroy();\n };\n\n const playHandler = () => {\n playSuccess.value = true;\n props.debug && console.log(\"播放\");\n emits(\"play\");\n };\n\n const pauseHandler = () => {\n props.debug && console.log(\"暂停\");\n emits(\"pause\");\n };\n\n const videoInfoHandler = (info: any) => {\n props.debug && console.log(\"视频信息\", info);\n videoInfo.value = info;\n emits(\"videoInfo\", info);\n };\n\n const muteHandler = (mute: false) => {\n props.debug && console.log(\"静音\");\n emits(\"mute\", mute);\n };\n\n player.on(\"timeout\", timeoutHandler);\n player.on(\"error\", errorHandler);\n player.on(\"play\", playHandler);\n player.on(\"pause\", pauseHandler);\n player.on(\"videoInfo\", videoInfoHandler);\n player.on(\"mute\", muteHandler);\n\n eventHandlers.value.set(\"timeout\", timeoutHandler);\n eventHandlers.value.set(\"error\", errorHandler);\n eventHandlers.value.set(\"play\", playHandler);\n eventHandlers.value.set(\"pause\", pauseHandler);\n eventHandlers.value.set(\"videoInfo\", videoInfoHandler);\n eventHandlers.value.set(\"mute\", muteHandler);\n }\n } catch (error) {\n const isWorkletError =\n error instanceof DOMException &&\n (error.name === \"AbortError\" ||\n String(error.message).includes(\"worklet\"));\n // worklet 加载偶发失败,自动重试\n if (isWorkletError && createRetryCount < MAX_CREATE_RETRY) {\n createRetryCount++;\n if (props.debug) {\n console.warn(\n `[EasyPlayer] AudioWorklet 加载失败(第 ${createRetryCount}/${MAX_CREATE_RETRY} 次),1秒后重试...`,\n error,\n );\n }\n destroy(false);\n setTimeout(() => {\n if (!isUnmounted) startPlayer();\n }, 1000);\n return;\n }\n console.error(\"创建播放器失败:\", error);\n setTimeout(() => {\n if (!isUnmounted) startPlayer();\n }, 2000);\n }\n}\n\nfunction destroy(flag = true) {\n if (player) {\n eventHandlers.value.forEach((handler, eventName) => {\n player.off(eventName, handler);\n });\n eventHandlers.value.clear();\n player.destroy();\n player = null;\n }\n\n if (flag) {\n // 清除定时重启播放器的定时器\n if (restartTimer.value !== null) {\n clearInterval(restartTimer.value);\n restartTimer.value = null;\n }\n // 清除定时暂停的定时器\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n pauseCycleTimer.value = null;\n }\n removePlayerDom();\n }\n}\n</script>\n\n<template>\n <div\n ref=\"playerRef\"\n class=\"i-tzj-easyPlayer\"\n :class=\"customBar ? 'i-tzj-easyPlayer--custom' : ''\"\n >\n <!-- 播放器底部操作栏 -->\n <slot name=\"customBar\" />\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","_createCommentVNode","_renderSlot"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"easyPlayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n useSlots,\n watch,\n} from \"vue\";\nimport { TzjPlayerProps, uuid } from \"./tzj-player\";\n\ndefineOptions({\n name: \"EasyPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nconst slots = useSlots();\nconst customBar = computed(() => slots.customBar);\n\nlet player: any = null;\nconst id = uuid();\nconst playerRef = shallowRef<HTMLDivElement>();\nconst playSuccess = ref(true);\nconst playUrl = ref(\"\");\nconst videoInfo = ref<any>(null);\nconst eventHandlers = ref<Map<string, Function>>(new Map());\n// 用于追踪等待 EasyPlayerPro 加载的轮询定时器,防止组件卸载后泄漏\nlet waitTimer: ReturnType<typeof setInterval> | null = null;\n// 用于定时重启播放器的定时器,防止播放器卡死\nconst restartTimer = ref<ReturnType<typeof setInterval> | null>(null);\n// 用于定时暂停播放器的定时器(pauseMode=3时,每60分钟触发一次暂停)\nconst pauseCycleTimer = ref<ReturnType<typeof setInterval> | null>(null);\n// ResizeObserver:监听容器尺寸变化,同步更新播放器 DOM 尺寸\nlet resizeObserver: ResizeObserver | null = null;\n// startPlayer 重试计数,处理 worklet/AbortError 偶发失败\nlet createRetryCount = 0;\nconst MAX_CREATE_RETRY = 3;\n// 标记组件是否已卸载,防止卸载后的异步操作继续执行\nlet isUnmounted = false;\n\nonMounted(() => {\n // 监听容器尺寸变化,同步播放器 DOM 尺寸(防止控件丢失)\n if (typeof ResizeObserver !== \"undefined\" && playerRef.value) {\n resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width, height } = entry.contentRect;\n const dom = document.getElementById(id);\n if (dom && width > 0 && height > 0) {\n dom.style.width = `${width}px`;\n dom.style.height = `${height}px`;\n }\n }\n });\n resizeObserver.observe(playerRef.value);\n }\n initPlayer(props.url || \"\");\n});\n\nwatch(\n () => props.url,\n (newUrl: string) => {\n initPlayer(newUrl || \"\");\n },\n);\n\nonBeforeUnmount(() => {\n isUnmounted = true;\n // 清除 ResizeObserver\n if (resizeObserver) {\n resizeObserver.disconnect();\n resizeObserver = null;\n }\n // 清除等待 EasyPlayerPro 加载的轮询定时器,防止卸载后继续创建播放器\n if (waitTimer !== null) {\n clearInterval(waitTimer);\n waitTimer = null;\n }\n // 清除定时暂停的定时器\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n pauseCycleTimer.value = null;\n }\n if (props.debug) {\n console.log(\"组件卸载\");\n }\n playUrl.value = \"\";\n destroy();\n});\n\nconst play = (url?: string) => {\n if (url) {\n initPlayer(url);\n } else {\n if (player) {\n player.play(playUrl.value);\n // pauseMode=3 时,继续播放后重新开始60分钟计时\n if (props.pauseMode === 3) {\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n }\n pauseCycleTimer.value = setInterval(\n () => {\n if (!isUnmounted && player) {\n player.pause?.();\n if (props.debug) {\n console.log(\"pauseMode: 每60分钟定时暂停\");\n }\n }\n },\n 1000 * 60 * 10,\n );\n }\n } else {\n destroy();\n }\n }\n};\n\nconst playerPause = () => {\n if (props.debug) {\n console.log(\"暂停\");\n }\n player?.pause?.();\n};\n\nconst playerScreenShot = () => {\n if (props.debug) {\n console.log(\"截图\");\n }\n player?.screenshot?.(\n `${props.areaName}_${new Date().getTime()}`,\n \"png\",\n 0.5,\n \"download\",\n );\n};\n\ndefineExpose({\n play,\n destroy,\n getPlayer: () => player,\n pause: playerPause,\n screenshot: playerScreenShot,\n isMute: () => {\n return player?.isMute?.();\n },\n setMute: (mute: number) => {\n player?.setMute?.(mute);\n },\n});\n\n/**\n * 格式化URL,确保使用完整的URL\n * @param url - 原始URL\n * @returns 格式化后的URL\n */\nconst formatUrl = (url: string): string => {\n if (!url) return \"\";\n\n // 如果已经是完整URL,直接返回\n if (\n url.startsWith(\"http://\") ||\n url.startsWith(\"https://\") ||\n url.startsWith(\"ws://\")\n ) {\n return url;\n }\n\n // 如果URL以//开头,自动补全协议(根据当前页面协议)\n if (url.startsWith(\"//\")) {\n if (typeof window !== \"undefined\" && window.location) {\n return `${window.location.protocol}${url}`;\n }\n // SSR环境下默认使用https\n return `https:${url}`;\n }\n\n // 检查是否在浏览器环境中,避免SSR环境下的location访问错误\n if (typeof window !== \"undefined\" && window.location) {\n // 如果是相对路径,添加当前域名\n return `${window.location.origin}${url.startsWith(\"/\") ? \"\" : \"/\"}${url}`;\n }\n\n // SSR 环境下返回相对路径\n return url;\n};\n\nasync function initPlayer(url: string) {\n if (props.debug) {\n console.log(\"初始化播放器\", url);\n }\n // 清除上一次可能残留的轮询定时器\n if (waitTimer !== null) {\n clearInterval(waitTimer);\n waitTimer = null;\n }\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n if (props.debug) {\n console.log(\"格式化后的url\", playUrl.value);\n }\n if (typeof window !== \"undefined\" && window?.EasyPlayerPro) {\n createPlayer();\n } else if (typeof window !== \"undefined\") {\n waitTimer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n clearInterval(waitTimer!);\n waitTimer = null;\n // 组件已卸载则不再创建播放器\n if (!isUnmounted) {\n createPlayer();\n }\n }\n }, 100);\n }\n }\n}\n\n/**\n * 移除播放器DOM\n */\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n\n/**\n * 创建播放器DOM\n */\nfunction createPlayerDom(): Promise<HTMLDivElement> {\n removePlayerDom();\n return new Promise((resolve) => {\n if (typeof document === \"undefined\") {\n resolve(null!);\n return;\n }\n // 最大重试帧数,防止无限等待\n let retryCount = 0;\n const MAX_RETRY = 60; // 约 1 秒 (60 * 16ms)\n\n const tryCreate = () => {\n const rect = playerRef.value?.getBoundingClientRect();\n if (!rect || rect.width <= 0 || rect.height <= 0) {\n if (++retryCount < MAX_RETRY) {\n requestAnimationFrame(tryCreate);\n return;\n }\n // 超过最大重试次数,使用 100% 尺寸兜底\n console.warn(\"[EasyPlayer] 容器尺寸获取超时,使用默认尺寸\");\n }\n\n const dom = document.createElement(\"div\");\n dom.id = id;\n // 使用实际尺寸,若获取失败则用 100%\n const rectW = rect?.width ?? 0;\n const rectH = rect?.height ?? 0;\n console.log(\"🚀 ~ rectH:\", rectH);\n const w = rectW > 0 ? rectW : playerRef.value?.offsetWidth || 800;\n const h = rectH > 0 ? rectH : playerRef.value?.offsetHeight || 450;\n\n dom.style.width = `${w}px`;\n dom.style.height =\n props.areaName || props.deviceSerial ? `${h - 32}px` : `${h}px`;\n playerRef.value?.appendChild(dom);\n resolve(dom);\n };\n\n requestAnimationFrame(tryCreate);\n });\n}\n\nasync function createPlayer() {\n if (props.debug) {\n console.log(\"创建播放器\");\n }\n videoInfo.value = null;\n await createPlayerDom();\n // 每30秒重启一次播放器,防止播放器卡死\n if (restartTimer.value !== null) {\n clearInterval(restartTimer.value);\n restartTimer.value = null;\n }\n restartTimer.value = setInterval(\n () => {\n destroy(false);\n setTimeout(() => {\n startPlayer();\n }, 1000 * 20);\n },\n 1000 * 60 * 60,\n );\n startPlayer();\n}\n\nasync function startPlayer() {\n try {\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n const isMicro = window.__MICRO_APP_ENVIRONMENT__;\n console.log(\"🚀 ~ isMicro:\", isMicro);\n player = new window.EasyPlayerPro(document.getElementById(id), {\n isLive: true, // 是否直播\n hasAudio: false, // 是否解析音频\n bufferTime: 0.2, // 直播监控缓存时长设为0,减少内存堆积\n stretch: true, // 加视频拉伸\n MSE: true, // H.264 走 MSE 硬解\n WCS: true, // H.265 走 WebCodecs 硬解(Chrome 的 MSE 不支持 H265,需靠 WCS 兜底)\n WASM: true, // 硬解不可用时降级 WASM 软解\n debug: false,\n maxDelay: 300, // 最大容忍延迟300ms,超时自动丢帧追实时画面\n reconnect: true, // 断线自动重连,单路故障不影响其他8路\n hasControl: true,\n operateBtns: {\n fullscreen: true, //全屏\n screenshot: true, //截图\n stretch: true, //拉伸\n play: true, //播放\n audio: false, //音量\n record: true, //录制\n ptz: false, //云台\n zoom: false, //缩放\n close: false, //关闭\n },\n });\n // 创建成功,重置重试计数\n createRetryCount = 0;\n }\n if (player) {\n player.play(playUrl.value);\n\n // 根据 pauseMode 处理暂停逻辑\n // pauseMode=2 或 3 时,初始默认暂停\n if (props.pauseMode === 2 || props.pauseMode === 3) {\n // 短暂延迟后暂停,确保播放器已开始播放再暂停\n setTimeout(() => {\n if (!isUnmounted && player) {\n player.pause?.();\n if (props.debug) {\n console.log(\"pauseMode: 初始默认暂停\");\n }\n }\n }, 500);\n }\n\n // pauseMode=3 时,每60分钟触发一次暂停\n if (props.pauseMode === 3) {\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n }\n pauseCycleTimer.value = setInterval(\n () => {\n if (!isUnmounted && player) {\n player.pause?.();\n if (props.debug) {\n console.log(\"pauseMode: 每60分钟定时暂停\");\n }\n }\n },\n 1000 * 60 * 60,\n );\n }\n\n const timeoutHandler = () => {\n props.debug && console.log(\"加载超时\");\n emits(\"timeout\");\n playSuccess.value = false;\n destroy();\n initPlayer(playUrl.value);\n };\n\n const errorHandler = (error?: any) => {\n props.debug && console.log(\"播放异常\", error);\n emits(\"error\", error);\n playSuccess.value = false;\n // destroy();\n };\n\n const playHandler = () => {\n playSuccess.value = true;\n props.debug && console.log(\"播放\");\n emits(\"play\");\n };\n\n const pauseHandler = () => {\n props.debug && console.log(\"暂停\");\n emits(\"pause\");\n };\n\n const videoInfoHandler = (info: any) => {\n props.debug && console.log(\"视频信息\", info);\n videoInfo.value = info;\n emits(\"videoInfo\", info);\n };\n\n const muteHandler = (mute: false) => {\n props.debug && console.log(\"静音\");\n emits(\"mute\", mute);\n };\n\n player.on(\"timeout\", timeoutHandler);\n player.on(\"error\", errorHandler);\n player.on(\"play\", playHandler);\n player.on(\"pause\", pauseHandler);\n player.on(\"videoInfo\", videoInfoHandler);\n player.on(\"mute\", muteHandler);\n\n eventHandlers.value.set(\"timeout\", timeoutHandler);\n eventHandlers.value.set(\"error\", errorHandler);\n eventHandlers.value.set(\"play\", playHandler);\n eventHandlers.value.set(\"pause\", pauseHandler);\n eventHandlers.value.set(\"videoInfo\", videoInfoHandler);\n eventHandlers.value.set(\"mute\", muteHandler);\n }\n } catch (error) {\n const isWorkletError =\n error instanceof DOMException &&\n (error.name === \"AbortError\" ||\n String(error.message).includes(\"worklet\"));\n // worklet 加载偶发失败,自动重试\n if (isWorkletError && createRetryCount < MAX_CREATE_RETRY) {\n createRetryCount++;\n if (props.debug) {\n console.warn(\n `[EasyPlayer] AudioWorklet 加载失败(第 ${createRetryCount}/${MAX_CREATE_RETRY} 次),1秒后重试...`,\n error,\n );\n }\n destroy(false);\n setTimeout(() => {\n if (!isUnmounted) startPlayer();\n }, 1000);\n return;\n }\n console.error(\"创建播放器失败:\", error);\n setTimeout(() => {\n if (!isUnmounted) startPlayer();\n }, 2000);\n }\n}\n\nfunction destroy(flag = true) {\n if (player) {\n eventHandlers.value.forEach((handler, eventName) => {\n player.off(eventName, handler);\n });\n eventHandlers.value.clear();\n player.destroy();\n player = null;\n }\n\n if (flag) {\n // 清除定时重启播放器的定时器\n if (restartTimer.value !== null) {\n clearInterval(restartTimer.value);\n restartTimer.value = null;\n }\n // 清除定时暂停的定时器\n if (pauseCycleTimer.value !== null) {\n clearInterval(pauseCycleTimer.value);\n pauseCycleTimer.value = null;\n }\n removePlayerDom();\n }\n}\n</script>\n\n<template>\n <div\n ref=\"playerRef\"\n class=\"i-tzj-easyPlayer\"\n :class=\"customBar ? 'i-tzj-easyPlayer--custom' : ''\"\n >\n <!-- 播放器底部操作栏 -->\n <slot name=\"customBar\" />\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","_createCommentVNode","_renderSlot"],"mappings":"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"}
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
export declare function sign(headers: Record<string, string | number>, params: Record<string, any>, sk?: string): string;
|
|
2
|
-
export declare function GetYunZhiYanDeviceChannel(deviceId: string): Promise<string | false>;
|
|
3
|
-
export declare function GetYunZhiYanDeviceVideoUrl(deviceId: string, channelCodeId: string): Promise<string | false>;
|
|
4
|
-
export declare function ApiEnroll(params: {
|
|
5
|
-
projectName: string;
|
|
6
|
-
projectContact: string;
|
|
7
|
-
contactInfo: string;
|
|
8
|
-
remark?: string;
|
|
9
|
-
requestId?: string;
|
|
10
|
-
}): Promise<{
|
|
11
|
-
code: number;
|
|
12
|
-
message?: string;
|
|
13
|
-
requestId?: string;
|
|
14
|
-
errCode?: string | null;
|
|
15
|
-
}>;
|
|
16
1
|
export declare function parseAuthorizedTokenCookie(): string | null;
|
|
17
2
|
export declare function getVideoUrlByCamreaId(deviceId?: string): Promise<{
|
|
18
3
|
code: any;
|
|
@@ -1,219 +1,5 @@
|
|
|
1
|
-
import CryptoJS from 'crypto-js';
|
|
2
|
-
|
|
3
1
|
var __defProp = Object.defineProperty;
|
|
4
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
-
function getAccessKey() {
|
|
6
|
-
if (typeof localStorage !== "undefined") {
|
|
7
|
-
return localStorage.getItem("YZYAK") || "";
|
|
8
|
-
}
|
|
9
|
-
return "";
|
|
10
|
-
}
|
|
11
|
-
__name(getAccessKey, "getAccessKey");
|
|
12
|
-
function getSecretKey() {
|
|
13
|
-
if (typeof localStorage !== "undefined") {
|
|
14
|
-
return localStorage.getItem("YZYSK") || "";
|
|
15
|
-
}
|
|
16
|
-
return "";
|
|
17
|
-
}
|
|
18
|
-
__name(getSecretKey, "getSecretKey");
|
|
19
|
-
function sign(headers, params, sk = getSecretKey()) {
|
|
20
|
-
if (!sk) {
|
|
21
|
-
console.warn(
|
|
22
|
-
"[tzj-player] \u7B7E\u540D\u5BC6\u94A5 YZYSK \u4E3A\u7A7A\uFF0C\u7B7E\u540D\u7ED3\u679C\u5C06\u4E0D\u88AB\u670D\u52A1\u7AEF\u8BA4\u53EF\uFF0C\u8BF7\u786E\u8BA4\u5DF2\u5199\u5165 localStorage"
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
const obj = Object.assign({}, headers, params);
|
|
26
|
-
const keys = Object.keys(obj).sort();
|
|
27
|
-
let str = "";
|
|
28
|
-
keys.forEach((key, index) => {
|
|
29
|
-
str += `${key}="${obj[key]}"`;
|
|
30
|
-
if (index !== keys.length - 1) {
|
|
31
|
-
str += "&";
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
console.log("\u672A\u52A0\u7B7E\u7684\u5B57\u7B26\u4E32", str);
|
|
35
|
-
const hash = CryptoJS.HmacSHA256(str, sk);
|
|
36
|
-
console.log("\u52A0\u7B7E\u540E\u7684\u5B57\u7B26\u4E32", hash.toString(CryptoJS.enc.Hex));
|
|
37
|
-
return hash.toString(CryptoJS.enc.Hex);
|
|
38
|
-
}
|
|
39
|
-
__name(sign, "sign");
|
|
40
|
-
async function GetYunZhiYanDeviceChannel(deviceId) {
|
|
41
|
-
try {
|
|
42
|
-
const headers = {
|
|
43
|
-
algorithm: "HmacSHA256",
|
|
44
|
-
requestTime: Date.now(),
|
|
45
|
-
accessKey: getAccessKey()
|
|
46
|
-
};
|
|
47
|
-
const params = { deviceId };
|
|
48
|
-
headers.sign = sign(headers, params);
|
|
49
|
-
const controller = new AbortController();
|
|
50
|
-
const timeoutId = setTimeout(() => controller.abort(), 1e4);
|
|
51
|
-
const response = await fetch("/vsuap-platform-api/v1/device/queryChannel", {
|
|
52
|
-
method: "POST",
|
|
53
|
-
headers: {
|
|
54
|
-
"Content-Type": "application/json",
|
|
55
|
-
...headers
|
|
56
|
-
},
|
|
57
|
-
body: JSON.stringify(params),
|
|
58
|
-
signal: controller.signal
|
|
59
|
-
});
|
|
60
|
-
clearTimeout(timeoutId);
|
|
61
|
-
if (!response.ok) {
|
|
62
|
-
console.error(`HTTP\u9519\u8BEF: ${response.status} ${response.statusText}`);
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
const res = await response.json();
|
|
66
|
-
const { code, data } = res;
|
|
67
|
-
if (code === 200 && Array.isArray(data) && data.length > 0 && data[0].channelCodeId) {
|
|
68
|
-
return data[0].channelCodeId || "";
|
|
69
|
-
} else {
|
|
70
|
-
console.error(
|
|
71
|
-
`\u4E1A\u52A1\u9519\u8BEF: code=${code}, message=${res.message || "\u672A\u77E5\u9519\u8BEF"}`
|
|
72
|
-
);
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
} catch (error) {
|
|
76
|
-
if (error instanceof Error) {
|
|
77
|
-
if (error.name === "AbortError") {
|
|
78
|
-
console.error("\u8BF7\u6C42\u8D85\u65F6: GetYunZhiYanDeviceChannel");
|
|
79
|
-
} else if (error.name === "TypeError") {
|
|
80
|
-
console.error("\u7F51\u7EDC\u9519\u8BEF: GetYunZhiYanDeviceChannel", error.message);
|
|
81
|
-
} else {
|
|
82
|
-
console.error(
|
|
83
|
-
"JSON\u89E3\u6790\u9519\u8BEF\u6216\u5176\u4ED6\u9519\u8BEF: GetYunZhiYanDeviceChannel",
|
|
84
|
-
error.message
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
} else {
|
|
88
|
-
console.error("\u672A\u77E5\u9519\u8BEF: GetYunZhiYanDeviceChannel", error);
|
|
89
|
-
}
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
__name(GetYunZhiYanDeviceChannel, "GetYunZhiYanDeviceChannel");
|
|
94
|
-
async function GetYunZhiYanDeviceVideoUrl(deviceId, channelCodeId) {
|
|
95
|
-
try {
|
|
96
|
-
const headers = {
|
|
97
|
-
algorithm: "HmacSHA256",
|
|
98
|
-
requestTime: Date.now(),
|
|
99
|
-
accessKey: getAccessKey()
|
|
100
|
-
};
|
|
101
|
-
const params = { deviceId, channelCodeId };
|
|
102
|
-
headers.sign = sign(headers, params);
|
|
103
|
-
const controller = new AbortController();
|
|
104
|
-
const timeoutId = setTimeout(() => controller.abort(), 1e4);
|
|
105
|
-
const response = await fetch("/vsuap-platform-api/v1/device/playOn", {
|
|
106
|
-
method: "POST",
|
|
107
|
-
headers: {
|
|
108
|
-
"Content-Type": "application/json",
|
|
109
|
-
...headers
|
|
110
|
-
},
|
|
111
|
-
body: JSON.stringify(params),
|
|
112
|
-
signal: controller.signal
|
|
113
|
-
});
|
|
114
|
-
clearTimeout(timeoutId);
|
|
115
|
-
if (!response.ok) {
|
|
116
|
-
console.error(`HTTP\u9519\u8BEF: ${response.status} ${response.statusText}`);
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
const res = await response.json();
|
|
120
|
-
const { code, data } = res;
|
|
121
|
-
if (code === 200) {
|
|
122
|
-
return (data == null ? void 0 : data.flv) || "";
|
|
123
|
-
} else {
|
|
124
|
-
console.error(
|
|
125
|
-
`\u4E1A\u52A1\u9519\u8BEF: code=${code}, message=${res.message || "\u672A\u77E5\u9519\u8BEF"}`
|
|
126
|
-
);
|
|
127
|
-
return false;
|
|
128
|
-
}
|
|
129
|
-
} catch (error) {
|
|
130
|
-
if (error instanceof Error) {
|
|
131
|
-
if (error.name === "AbortError") {
|
|
132
|
-
console.error("\u8BF7\u6C42\u8D85\u65F6: GetYunZhiYanDeviceVideoUrl");
|
|
133
|
-
} else if (error.name === "TypeError") {
|
|
134
|
-
console.error("\u7F51\u7EDC\u9519\u8BEF: GetYunZhiYanDeviceVideoUrl", error.message);
|
|
135
|
-
} else {
|
|
136
|
-
console.error(
|
|
137
|
-
"JSON\u89E3\u6790\u9519\u8BEF\u6216\u5176\u4ED6\u9519\u8BEF: GetYunZhiYanDeviceVideoUrl",
|
|
138
|
-
error.message
|
|
139
|
-
);
|
|
140
|
-
}
|
|
141
|
-
} else {
|
|
142
|
-
console.error("\u672A\u77E5\u9519\u8BEF: GetYunZhiYanDeviceVideoUrl", error);
|
|
143
|
-
}
|
|
144
|
-
return false;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
__name(GetYunZhiYanDeviceVideoUrl, "GetYunZhiYanDeviceVideoUrl");
|
|
148
|
-
async function ApiEnroll(params) {
|
|
149
|
-
const { projectName, projectContact, contactInfo, remark, requestId } = params;
|
|
150
|
-
if (!projectName || !projectContact || !contactInfo) {
|
|
151
|
-
console.warn(
|
|
152
|
-
"[tzj-player] ApiEnroll: projectName / projectContact / contactInfo \u5747\u4E3A\u5FC5\u586B"
|
|
153
|
-
);
|
|
154
|
-
return {
|
|
155
|
-
code: -1,
|
|
156
|
-
message: "projectName\u3001projectContact\u3001contactInfo \u5747\u4E3A\u5FC5\u586B"
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
if (!/^\d{11}$/.test(contactInfo)) {
|
|
160
|
-
console.warn("[tzj-player] ApiEnroll: contactInfo \u5FC5\u987B\u662F11\u4F4D\u6570\u5B57");
|
|
161
|
-
return { code: -1, message: "contactInfo \u5FC5\u987B\u662F11\u4F4D\u6570\u5B57\u7684\u7535\u8BDD\u53F7\u7801" };
|
|
162
|
-
}
|
|
163
|
-
const body = {
|
|
164
|
-
projectName,
|
|
165
|
-
projectContact,
|
|
166
|
-
contactInfo
|
|
167
|
-
};
|
|
168
|
-
if (remark) body.remark = remark;
|
|
169
|
-
if (requestId) body.requestId = requestId;
|
|
170
|
-
const headers = {
|
|
171
|
-
algorithm: "HmacSHA256",
|
|
172
|
-
requestTime: Date.now(),
|
|
173
|
-
accessKey: getAccessKey()
|
|
174
|
-
};
|
|
175
|
-
headers.sign = sign(headers, body);
|
|
176
|
-
const controller = new AbortController();
|
|
177
|
-
const timeoutId = setTimeout(() => controller.abort(), 1e4);
|
|
178
|
-
try {
|
|
179
|
-
const response = await fetch("/vsuap-platform-api/v1/user/apiEnroll", {
|
|
180
|
-
method: "POST",
|
|
181
|
-
headers: {
|
|
182
|
-
// POST 必须带 Content-Type,否则网关无法解析入参(GET 则不允许携带)
|
|
183
|
-
"Content-Type": "application/json",
|
|
184
|
-
...headers
|
|
185
|
-
},
|
|
186
|
-
body: JSON.stringify(body),
|
|
187
|
-
signal: controller.signal
|
|
188
|
-
});
|
|
189
|
-
if (!response.ok) {
|
|
190
|
-
console.error(
|
|
191
|
-
`HTTP\u9519\u8BEF: ${response.status} ${response.statusText} - ApiEnroll`
|
|
192
|
-
);
|
|
193
|
-
return { code: response.status, message: response.statusText };
|
|
194
|
-
}
|
|
195
|
-
const res = await response.json();
|
|
196
|
-
if (res.code !== 200) {
|
|
197
|
-
console.error(
|
|
198
|
-
`API\u6743\u9650\u6CE8\u518C\u5931\u8D25: code=${res.code}, message=${res.message || "\u672A\u77E5\u9519\u8BEF"}`
|
|
199
|
-
);
|
|
200
|
-
}
|
|
201
|
-
return res;
|
|
202
|
-
} catch (error) {
|
|
203
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
204
|
-
console.error("\u8BF7\u6C42\u8D85\u65F6: ApiEnroll");
|
|
205
|
-
return { code: -1, message: "\u8BF7\u6C42\u8D85\u65F6" };
|
|
206
|
-
}
|
|
207
|
-
console.error("\u8BF7\u6C42\u5931\u8D25: ApiEnroll", error);
|
|
208
|
-
return {
|
|
209
|
-
code: -1,
|
|
210
|
-
message: error instanceof Error ? error.message : "\u672A\u77E5\u9519\u8BEF"
|
|
211
|
-
};
|
|
212
|
-
} finally {
|
|
213
|
-
clearTimeout(timeoutId);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
__name(ApiEnroll, "ApiEnroll");
|
|
217
3
|
function parseAuthorizedTokenCookie() {
|
|
218
4
|
const match = document.cookie.match(/authorized-token=([^;]+)/);
|
|
219
5
|
if (!match) return null;
|
|
@@ -275,5 +61,5 @@ async function getVideoUrlByCamreaId(deviceId) {
|
|
|
275
61
|
}
|
|
276
62
|
__name(getVideoUrlByCamreaId, "getVideoUrlByCamreaId");
|
|
277
63
|
|
|
278
|
-
export {
|
|
64
|
+
export { getVideoUrlByCamreaId, parseAuthorizedTokenCookie };
|
|
279
65
|
//# sourceMappingURL=yunzhiyan.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yunzhiyan.mjs","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyan.ts"],"sourcesContent":["import CryptoJS from \"crypto-js\";\n\n/**\n * 获取访问密钥,支持 SSR 环境\n */\nfunction getAccessKey(): string {\n if (typeof localStorage !== \"undefined\") {\n return localStorage.getItem(\"YZYAK\") || \"\";\n }\n return \"\";\n}\n\n/**\n * 获取签名密钥,支持 SSR 环境\n */\nfunction getSecretKey(): string {\n if (typeof localStorage !== \"undefined\") {\n return localStorage.getItem(\"YZYSK\") || \"\";\n }\n return \"\";\n}\n\n/**\n * 签名函数\n * @param headers 请求头参数\n * @param params 请求参数\n * @param sk 签名密钥\n * @returns string 签名结果\n */\nexport function sign(\n headers: Record<string, string | number>,\n params: Record<string, any>,\n sk: string = getSecretKey(),\n): string {\n if (!sk) {\n console.warn(\n \"[tzj-player] 签名密钥 YZYSK 为空,签名结果将不被服务端认可,请确认已写入 localStorage\",\n );\n }\n const obj = Object.assign({}, headers, params);\n const keys = Object.keys(obj).sort();\n let str = \"\";\n // 拼接字符串\n keys.forEach((key, index) => {\n str += `${key}=\"${obj[key]}\"`;\n if (index !== keys.length - 1) {\n str += \"&\";\n }\n });\n console.log(\"未加签的字符串\", str);\n // 加密\n const hash = CryptoJS.HmacSHA256(str, sk);\n console.log(\"加签后的字符串\", hash.toString(CryptoJS.enc.Hex));\n return hash.toString(CryptoJS.enc.Hex);\n}\n/**\n * 获取云智眼设备通道ID\n * @param deviceId 设备ID\n * @returns Promise<string | false> 成功返回通道ID,失败返回false\n */\nexport async function GetYunZhiYanDeviceChannel(\n deviceId: string,\n): Promise<string | false> {\n try {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: getAccessKey(),\n };\n const params = { deviceId };\n headers.sign = sign(headers, params);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n const response = await fetch(\"/vsuap-platform-api/v1/device/queryChannel\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n console.error(`HTTP错误: ${response.status} ${response.statusText}`);\n return false;\n }\n\n const res = await response.json();\n const { code, data } = res;\n\n if (\n code === 200 &&\n Array.isArray(data) &&\n data.length > 0 &&\n data[0].channelCodeId\n ) {\n return data[0].channelCodeId || \"\";\n } else {\n console.error(\n `业务错误: code=${code}, message=${res.message || \"未知错误\"}`,\n );\n return false;\n }\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n console.error(\"请求超时: GetYunZhiYanDeviceChannel\");\n } else if (error.name === \"TypeError\") {\n console.error(\"网络错误: GetYunZhiYanDeviceChannel\", error.message);\n } else {\n console.error(\n \"JSON解析错误或其他错误: GetYunZhiYanDeviceChannel\",\n error.message,\n );\n }\n } else {\n console.error(\"未知错误: GetYunZhiYanDeviceChannel\", error);\n }\n return false;\n }\n}\n\n/**\n * 获取云智眼设备视频播放地址\n * @param deviceId 设备ID\n * @param channelCodeId 通道ID\n * @returns Promise<string | false> 成功返回视频播放地址,失败返回false\n */\nexport async function GetYunZhiYanDeviceVideoUrl(\n deviceId: string,\n channelCodeId: string,\n): Promise<string | false> {\n try {\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: getAccessKey(),\n };\n const params = { deviceId, channelCodeId };\n headers.sign = sign(headers, params);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n const response = await fetch(\"/vsuap-platform-api/v1/device/playOn\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n console.error(`HTTP错误: ${response.status} ${response.statusText}`);\n return false;\n }\n\n const res = await response.json();\n const { code, data } = res;\n\n if (code === 200) {\n return data?.flv || \"\";\n } else {\n console.error(\n `业务错误: code=${code}, message=${res.message || \"未知错误\"}`,\n );\n return false;\n }\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"AbortError\") {\n console.error(\"请求超时: GetYunZhiYanDeviceVideoUrl\");\n } else if (error.name === \"TypeError\") {\n console.error(\"网络错误: GetYunZhiYanDeviceVideoUrl\", error.message);\n } else {\n console.error(\n \"JSON解析错误或其他错误: GetYunZhiYanDeviceVideoUrl\",\n error.message,\n );\n }\n } else {\n console.error(\"未知错误: GetYunZhiYanDeviceVideoUrl\", error);\n }\n return false;\n }\n}\n\n/**\n * API权限注册(云智眼 Open API 2.4.2)\n * 说明:主账号与子账号权限独立,需分别注册;注册一次后该账号下的所有密钥均生效,无需逐个注册。\n * 注意:调用前请确保 localStorage 中已写入 YZYAK / YZYSK,否则签名不通过。\n * @param params 注册信息\n * @param params.projectName 项目名称(请填写全称)\n * @param params.projectContact 项目联系人\n * @param params.contactInfo 联系人电话(必须是11位数字)\n * @param params.remark 备注(可选)\n * @param params.requestId 请求ID(可选,不传由服务端生成,长度不超过16位)\n * @returns Promise<{ code, message, requestId, errCode }> code 为 200 表示注册成功\n */\nexport async function ApiEnroll(params: {\n projectName: string;\n projectContact: string;\n contactInfo: string;\n remark?: string;\n requestId?: string;\n}): Promise<{\n code: number;\n message?: string;\n requestId?: string;\n errCode?: string | null;\n}> {\n const { projectName, projectContact, contactInfo, remark, requestId } =\n params;\n\n // 边界处理:文档要求三项必填,且联系人电话必须是11位数字\n if (!projectName || !projectContact || !contactInfo) {\n console.warn(\n \"[tzj-player] ApiEnroll: projectName / projectContact / contactInfo 均为必填\",\n );\n return {\n code: -1,\n message: \"projectName、projectContact、contactInfo 均为必填\",\n };\n }\n if (!/^\\d{11}$/.test(contactInfo)) {\n console.warn(\"[tzj-player] ApiEnroll: contactInfo 必须是11位数字\");\n return { code: -1, message: \"contactInfo 必须是11位数字的电话号码\" };\n }\n\n const body: Record<string, string> = {\n projectName,\n projectContact,\n contactInfo,\n };\n if (remark) body.remark = remark;\n if (requestId) body.requestId = requestId;\n\n const headers: Record<string, string | number> = {\n algorithm: \"HmacSHA256\",\n requestTime: Date.now(),\n accessKey: getAccessKey(),\n };\n headers.sign = sign(headers, body);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n try {\n const response = await fetch(\"/vsuap-platform-api/v1/user/apiEnroll\", {\n method: \"POST\",\n headers: {\n // POST 必须带 Content-Type,否则网关无法解析入参(GET 则不允许携带)\n \"Content-Type\": \"application/json\",\n ...headers,\n },\n body: JSON.stringify(body),\n signal: controller.signal,\n });\n\n if (!response.ok) {\n console.error(\n `HTTP错误: ${response.status} ${response.statusText} - ApiEnroll`,\n );\n return { code: response.status, message: response.statusText };\n }\n\n // 返回结构:{ code, errCode, message, requestId }\n const res = await response.json();\n if (res.code !== 200) {\n console.error(\n `API权限注册失败: code=${res.code}, message=${res.message || \"未知错误\"}`,\n );\n }\n return res;\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n console.error(\"请求超时: ApiEnroll\");\n return { code: -1, message: \"请求超时\" };\n }\n console.error(\"请求失败: ApiEnroll\", error);\n return {\n code: -1,\n message: error instanceof Error ? error.message : \"未知错误\",\n };\n } finally {\n clearTimeout(timeoutId);\n }\n}\n\n/**\n * 从cookie读取 authorized‑token,并解析出 accessToken\n */\nexport function parseAuthorizedTokenCookie(): string | null {\n // 1. 取出cookie字符串\n const match = document.cookie.match(/authorized-token=([^;]+)/);\n if (!match) return null;\n\n // 2. 先 decodeURIComponent 解码url编码\n const rawStr = decodeURIComponent(match[1]);\n try {\n // 3. 解析json对象\n const obj = JSON.parse(rawStr);\n return \"Bearer \" + obj.accessToken; // 拿到真正的token字符串\n } catch (e) {\n console.error(\"解析authorized‑token失败\", e);\n return null;\n }\n}\n\n/**\n * 根据设备ID获取视频播放地址\n * @param deviceId 设备ID\n * @returns Promise<{ code, data, msg }> code 为 200 时 data 即播放地址,失败时 code 为非 200\n */\nexport async function getVideoUrlByCamreaId(deviceId?: string) {\n // 边界处理:deviceId 为空时不再发出 /device/undefined/play-url 这类无效请求\n if (!deviceId) {\n console.warn(\n \"[tzj-player] getVideoUrlByCamreaId: deviceId 为空,已跳过请求\",\n );\n return { code: -1, data: null, msg: \"deviceId 不能为空\" };\n }\n\n // token 可能不存在或解析失败,不能把 null 直接塞进请求头\n const token = parseAuthorizedTokenCookie();\n const headers: Record<string, string> = {};\n if (token) {\n headers.authorization = token;\n } else {\n console.warn(\n \"[tzj-player] 未获取到 authorized-token,本次请求将不带鉴权头\",\n );\n }\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n try {\n const response = await fetch(\n `/production/assetDevice/device/${deviceId}/play-url`,\n { method: \"GET\", headers, signal: controller.signal },\n );\n\n // 网关异常时可能返回 HTML 或空 body,先校验状态码再解析,避免抛出晦涩的 JSON 解析错误\n if (!response.ok) {\n console.error(\n `HTTP错误: ${response.status} ${response.statusText} - getVideoUrlByCamreaId`,\n );\n return { code: response.status, data: null, msg: response.statusText };\n }\n\n const { code, data, msg } = await response.json();\n return { code, data, msg };\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n console.error(\"请求超时: getVideoUrlByCamreaId\");\n return { code: -1, data: null, msg: \"请求超时\" };\n }\n console.error(\"请求失败: getVideoUrlByCamreaId\", error);\n return {\n code: -1,\n data: null,\n msg: error instanceof Error ? error.message : \"未知错误\",\n };\n } finally {\n clearTimeout(timeoutId);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yunzhiyan.mjs","sources":["../../../../../../../packages/components/tzj-player/src/yunzhiyan.ts"],"sourcesContent":["/**\n * 从cookie读取 authorized‑token,并解析出 accessToken\n */\nexport function parseAuthorizedTokenCookie(): string | null {\n // 1. 取出cookie字符串\n const match = document.cookie.match(/authorized-token=([^;]+)/);\n if (!match) return null;\n\n // 2. 先 decodeURIComponent 解码url编码\n const rawStr = decodeURIComponent(match[1]);\n try {\n // 3. 解析json对象\n const obj = JSON.parse(rawStr);\n return \"Bearer \" + obj.accessToken; // 拿到真正的token字符串\n } catch (e) {\n console.error(\"解析authorized‑token失败\", e);\n return null;\n }\n}\n\n/**\n * 根据设备ID获取视频播放地址\n * @param deviceId 设备ID\n * @returns Promise<{ code, data, msg }> code 为 200 时 data 即播放地址,失败时 code 为非 200\n */\nexport async function getVideoUrlByCamreaId(deviceId?: string) {\n // 边界处理:deviceId 为空时不再发出 /device/undefined/play-url 这类无效请求\n if (!deviceId) {\n console.warn(\n \"[tzj-player] getVideoUrlByCamreaId: deviceId 为空,已跳过请求\",\n );\n return { code: -1, data: null, msg: \"deviceId 不能为空\" };\n }\n\n // token 可能不存在或解析失败,不能把 null 直接塞进请求头\n const token = parseAuthorizedTokenCookie();\n const headers: Record<string, string> = {};\n if (token) {\n headers.authorization = token;\n } else {\n console.warn(\n \"[tzj-player] 未获取到 authorized-token,本次请求将不带鉴权头\",\n );\n }\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10秒超时\n\n try {\n const response = await fetch(\n `/production/assetDevice/device/${deviceId}/play-url`,\n { method: \"GET\", headers, signal: controller.signal },\n );\n\n // 网关异常时可能返回 HTML 或空 body,先校验状态码再解析,避免抛出晦涩的 JSON 解析错误\n if (!response.ok) {\n console.error(\n `HTTP错误: ${response.status} ${response.statusText} - getVideoUrlByCamreaId`,\n );\n return { code: response.status, data: null, msg: response.statusText };\n }\n\n const { code, data, msg } = await response.json();\n return { code, data, msg };\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n console.error(\"请求超时: getVideoUrlByCamreaId\");\n return { code: -1, data: null, msg: \"请求超时\" };\n }\n console.error(\"请求失败: getVideoUrlByCamreaId\", error);\n return {\n code: -1,\n data: null,\n msg: error instanceof Error ? error.message : \"未知错误\",\n };\n } finally {\n clearTimeout(timeoutId);\n }\n}\n"],"names":[],"mappings":";;AAGO,SAAS,0BAA4C,GAAA;AAE1D,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,MAAO,CAAA,KAAA,CAAM,0BAA0B,CAAA;AAC9D,EAAI,IAAA,CAAC,OAAc,OAAA,IAAA;AAGnB,EAAA,MAAM,MAAS,GAAA,kBAAA,CAAmB,KAAM,CAAA,CAAC,CAAC,CAAA;AAC1C,EAAI,IAAA;AAEF,IAAM,MAAA,GAAA,GAAM,IAAK,CAAA,KAAA,CAAM,MAAM,CAAA;AAC7B,IAAA,OAAO,YAAY,GAAI,CAAA,WAAA;AAAA,WAChB,CAAG,EAAA;AACV,IAAQ,OAAA,CAAA,KAAA,CAAM,iDAAwB,CAAC,CAAA;AACvC,IAAO,OAAA,IAAA;AAAA;AAEX;AAfgB,MAAA,CAAA,0BAAA,EAAA,4BAAA,CAAA;AAsBhB,eAAsB,sBAAsB,QAAmB,EAAA;AAE7D,EAAA,IAAI,CAAC,QAAU,EAAA;AACb,IAAQ,OAAA,CAAA,IAAA;AAAA,MACN;AAAA,KACF;AACA,IAAA,OAAO,EAAE,IAAM,EAAA,CAAA,CAAA,EAAI,IAAM,EAAA,IAAA,EAAM,KAAK,mCAAgB,EAAA;AAAA;AAItD,EAAA,MAAM,QAAQ,0BAA2B,EAAA;AACzC,EAAA,MAAM,UAAkC,EAAC;AACzC,EAAA,IAAI,KAAO,EAAA;AACT,IAAA,OAAA,CAAQ,aAAgB,GAAA,KAAA;AAAA,GACnB,MAAA;AACL,IAAQ,OAAA,CAAA,IAAA;AAAA,MACN;AAAA,KACF;AAAA;AAGF,EAAM,MAAA,UAAA,GAAa,IAAI,eAAgB,EAAA;AACvC,EAAA,MAAM,YAAY,UAAW,CAAA,MAAM,UAAW,CAAA,KAAA,IAAS,GAAK,CAAA;AAE5D,EAAI,IAAA;AACF,IAAA,MAAM,WAAW,MAAM,KAAA;AAAA,MACrB,kCAAkC,QAAQ,CAAA,SAAA,CAAA;AAAA,MAC1C,EAAE,MAAQ,EAAA,KAAA,EAAO,OAAS,EAAA,MAAA,EAAQ,WAAW,MAAO;AAAA,KACtD;AAGA,IAAI,IAAA,CAAC,SAAS,EAAI,EAAA;AAChB,MAAQ,OAAA,CAAA,KAAA;AAAA,QACN,CAAW,kBAAA,EAAA,QAAA,CAAS,MAAM,CAAA,CAAA,EAAI,SAAS,UAAU,CAAA,wBAAA;AAAA,OACnD;AACA,MAAO,OAAA,EAAE,MAAM,QAAS,CAAA,MAAA,EAAQ,MAAM,IAAM,EAAA,GAAA,EAAK,SAAS,UAAW,EAAA;AAAA;AAGvE,IAAA,MAAM,EAAE,IAAM,EAAA,IAAA,EAAM,KAAQ,GAAA,MAAM,SAAS,IAAK,EAAA;AAChD,IAAO,OAAA,EAAE,IAAM,EAAA,IAAA,EAAM,GAAI,EAAA;AAAA,WAClB,KAAO,EAAA;AACd,IAAA,IAAI,KAAiB,YAAA,KAAA,IAAS,KAAM,CAAA,IAAA,KAAS,YAAc,EAAA;AACzD,MAAA,OAAA,CAAQ,MAAM,iDAA6B,CAAA;AAC3C,MAAA,OAAO,EAAE,IAAM,EAAA,CAAA,CAAA,EAAI,IAAM,EAAA,IAAA,EAAM,KAAK,0BAAO,EAAA;AAAA;AAE7C,IAAQ,OAAA,CAAA,KAAA,CAAM,mDAA+B,KAAK,CAAA;AAClD,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,CAAA,CAAA;AAAA,MACN,IAAM,EAAA,IAAA;AAAA,MACN,GAAK,EAAA,KAAA,YAAiB,KAAQ,GAAA,KAAA,CAAM,OAAU,GAAA;AAAA,KAChD;AAAA,GACA,SAAA;AACA,IAAA,YAAA,CAAa,SAAS,CAAA;AAAA;AAE1B;AArDsB,MAAA,CAAA,qBAAA,EAAA,uBAAA,CAAA;;;;"}
|
package/es/index.mjs
CHANGED
|
@@ -29,7 +29,7 @@ export { ITable } from './components/table/index.mjs';
|
|
|
29
29
|
export { TenantEnterpriseEmits, TenantEnterpriseProps } from './components/tenant-enterprise/src/tenant-enterprise.mjs';
|
|
30
30
|
export { ITenantEnterprise } from './components/tenant-enterprise/index.mjs';
|
|
31
31
|
export { ITextButton, ITextButtonGroup } from './components/text-button/index.mjs';
|
|
32
|
-
export {
|
|
32
|
+
export { getVideoUrlByCamreaId, parseAuthorizedTokenCookie } from './components/tzj-player/src/yunzhiyan.mjs';
|
|
33
33
|
export { ITzjPlayer } from './components/tzj-player/index.mjs';
|
|
34
34
|
export { GeoMarkProps } from './components/geoMark/src/geoMark.mjs';
|
|
35
35
|
export { IGeoMark } from './components/geoMark/index.mjs';
|
package/lib/components/index.js
CHANGED
|
@@ -69,11 +69,7 @@ exports.excludeSearchPropsKeys = search.excludeSearchPropsKeys;
|
|
|
69
69
|
exports.TableProps = table.TableProps;
|
|
70
70
|
exports.TenantEnterpriseEmits = tenantEnterprise.TenantEnterpriseEmits;
|
|
71
71
|
exports.TenantEnterpriseProps = tenantEnterprise.TenantEnterpriseProps;
|
|
72
|
-
exports.ApiEnroll = yunzhiyan.ApiEnroll;
|
|
73
|
-
exports.GetYunZhiYanDeviceChannel = yunzhiyan.GetYunZhiYanDeviceChannel;
|
|
74
|
-
exports.GetYunZhiYanDeviceVideoUrl = yunzhiyan.GetYunZhiYanDeviceVideoUrl;
|
|
75
72
|
exports.getVideoUrlByCamreaId = yunzhiyan.getVideoUrlByCamreaId;
|
|
76
73
|
exports.parseAuthorizedTokenCookie = yunzhiyan.parseAuthorizedTokenCookie;
|
|
77
|
-
exports.sign = yunzhiyan.sign;
|
|
78
74
|
exports.GeoMarkProps = geoMark.GeoMarkProps;
|
|
79
75
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -10,12 +10,8 @@ var tzjPlayer_vue_vue_type_script_setup_true_lang = require('./src/tzj-player.vu
|
|
|
10
10
|
|
|
11
11
|
const ITzjPlayer = install.withInstall(tzjPlayer_vue_vue_type_script_setup_true_lang.default);
|
|
12
12
|
|
|
13
|
-
exports.ApiEnroll = yunzhiyan.ApiEnroll;
|
|
14
|
-
exports.GetYunZhiYanDeviceChannel = yunzhiyan.GetYunZhiYanDeviceChannel;
|
|
15
|
-
exports.GetYunZhiYanDeviceVideoUrl = yunzhiyan.GetYunZhiYanDeviceVideoUrl;
|
|
16
13
|
exports.getVideoUrlByCamreaId = yunzhiyan.getVideoUrlByCamreaId;
|
|
17
14
|
exports.parseAuthorizedTokenCookie = yunzhiyan.parseAuthorizedTokenCookie;
|
|
18
|
-
exports.sign = yunzhiyan.sign;
|
|
19
15
|
exports.ITzjPlayer = ITzjPlayer;
|
|
20
16
|
exports.default = ITzjPlayer;
|
|
21
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/tzj-player/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport TzjPlayer from \"./src/tzj-player.vue\";\nexport * from \"./src/yunzhiyan\";\n\nexport const ITzjPlayer = withInstall(TzjPlayer); // 增加类型\n\nexport default ITzjPlayer;\n"],"names":["withInstall","TzjPlayer"],"mappings":";;;;;;;;;;AAIa,MAAA,UAAA,GAAaA,oBAAYC,qDAAS
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/components/tzj-player/index.ts"],"sourcesContent":["import { withInstall } from \"../../utils\";\nimport TzjPlayer from \"./src/tzj-player.vue\";\nexport * from \"./src/yunzhiyan\";\n\nexport const ITzjPlayer = withInstall(TzjPlayer); // 增加类型\n\nexport default ITzjPlayer;\n"],"names":["withInstall","TzjPlayer"],"mappings":";;;;;;;;;;AAIa,MAAA,UAAA,GAAaA,oBAAYC,qDAAS;;;;;;;"}
|