@yimou6/common-ui 1.10.11 → 1.10.12

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.
@@ -1500,10 +1500,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1500
1500
  createPlayerDom: () => void;
1501
1501
  createPlayer: () => Promise<void>;
1502
1502
  destroy: () => void;
1503
- topBar: import("vue").Ref<any, any>;
1504
- topBarTimer: any;
1505
- handleMouseEnter: () => void;
1506
- handleMouseLeave: () => void;
1507
1503
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1508
1504
  url: {
1509
1505
  type: StringConstructor;
@@ -1602,6 +1598,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1602
1598
  type: StringConstructor;
1603
1599
  required: false;
1604
1600
  };
1601
+ areaName: {
1602
+ type: StringConstructor;
1603
+ required: false;
1604
+ };
1605
1605
  }>, {
1606
1606
  props: any;
1607
1607
  PLAYER_TEMPLATE: string;
@@ -1609,6 +1609,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1609
1609
  playerInstance: any;
1610
1610
  errorMsg: string;
1611
1611
  ysRef: import("vue").ShallowRef<any, any>;
1612
+ containerRef: import("vue").ShallowRef<any, any>;
1612
1613
  width: import("vue").Ref<number, number>;
1613
1614
  height: import("vue").Ref<number, number>;
1614
1615
  ratio: number;
@@ -1647,6 +1648,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1647
1648
  type: StringConstructor;
1648
1649
  required: false;
1649
1650
  };
1651
+ areaName: {
1652
+ type: StringConstructor;
1653
+ required: false;
1654
+ };
1650
1655
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1651
1656
  };
1652
1657
  playerComponent: import("vue").ComputedRef<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -1730,10 +1735,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1730
1735
  createPlayerDom: () => void;
1731
1736
  createPlayer: () => Promise<void>;
1732
1737
  destroy: () => void;
1733
- topBar: import("vue").Ref<any, any>;
1734
- topBarTimer: any;
1735
- handleMouseEnter: () => void;
1736
- handleMouseLeave: () => void;
1737
1738
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1738
1739
  url: {
1739
1740
  type: StringConstructor;
@@ -3218,10 +3219,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3218
3219
  createPlayerDom: () => void;
3219
3220
  createPlayer: () => Promise<void>;
3220
3221
  destroy: () => void;
3221
- topBar: import("vue").Ref<any, any>;
3222
- topBarTimer: any;
3223
- handleMouseEnter: () => void;
3224
- handleMouseLeave: () => void;
3225
3222
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
3226
3223
  url: {
3227
3224
  type: StringConstructor;
@@ -3319,6 +3316,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3319
3316
  type: StringConstructor;
3320
3317
  required: false;
3321
3318
  };
3319
+ areaName: {
3320
+ type: StringConstructor;
3321
+ required: false;
3322
+ };
3322
3323
  }>, {
3323
3324
  props: any;
3324
3325
  PLAYER_TEMPLATE: string;
@@ -3326,6 +3327,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3326
3327
  playerInstance: any;
3327
3328
  errorMsg: string;
3328
3329
  ysRef: import("vue").ShallowRef<any, any>;
3330
+ containerRef: import("vue").ShallowRef<any, any>;
3329
3331
  width: import("vue").Ref<number, number>;
3330
3332
  height: import("vue").Ref<number, number>;
3331
3333
  ratio: number;
@@ -3364,6 +3366,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3364
3366
  type: StringConstructor;
3365
3367
  required: false;
3366
3368
  };
3369
+ areaName: {
3370
+ type: StringConstructor;
3371
+ required: false;
3372
+ };
3367
3373
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
3368
3374
  errorState: import("vue").ComputedRef<{
3369
3375
  type: string;
@@ -3450,10 +3456,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3450
3456
  createPlayerDom: () => void;
3451
3457
  createPlayer: () => Promise<void>;
3452
3458
  destroy: () => void;
3453
- topBar: import("vue").Ref<any, any>;
3454
- topBarTimer: any;
3455
- handleMouseEnter: () => void;
3456
- handleMouseLeave: () => void;
3457
3459
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
3458
3460
  url: {
3459
3461
  type: StringConstructor;
@@ -4938,10 +4940,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4938
4940
  createPlayerDom: () => void;
4939
4941
  createPlayer: () => Promise<void>;
4940
4942
  destroy: () => void;
4941
- topBar: import("vue").Ref<any, any>;
4942
- topBarTimer: any;
4943
- handleMouseEnter: () => void;
4944
- handleMouseLeave: () => void;
4945
4943
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4946
4944
  url: {
4947
4945
  type: StringConstructor;
@@ -5039,6 +5037,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5039
5037
  type: StringConstructor;
5040
5038
  required: false;
5041
5039
  };
5040
+ areaName: {
5041
+ type: StringConstructor;
5042
+ required: false;
5043
+ };
5042
5044
  }>, {
5043
5045
  props: any;
5044
5046
  PLAYER_TEMPLATE: string;
@@ -5046,6 +5048,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5046
5048
  playerInstance: any;
5047
5049
  errorMsg: string;
5048
5050
  ysRef: import("vue").ShallowRef<any, any>;
5051
+ containerRef: import("vue").ShallowRef<any, any>;
5049
5052
  width: import("vue").Ref<number, number>;
5050
5053
  height: import("vue").Ref<number, number>;
5051
5054
  ratio: number;
@@ -5084,6 +5087,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
5084
5087
  type: StringConstructor;
5085
5088
  required: false;
5086
5089
  };
5090
+ areaName: {
5091
+ type: StringConstructor;
5092
+ required: false;
5093
+ };
5087
5094
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
5088
5095
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
5089
5096
  url: {
@@ -23,6 +23,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
23
23
  type: StringConstructor;
24
24
  required: false;
25
25
  };
26
+ areaName: {
27
+ type: StringConstructor;
28
+ required: false;
29
+ };
26
30
  }>, {
27
31
  props: any;
28
32
  PLAYER_TEMPLATE: string;
@@ -30,6 +34,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
30
34
  playerInstance: any;
31
35
  errorMsg: string;
32
36
  ysRef: import("vue").ShallowRef<any, any>;
37
+ containerRef: import("vue").ShallowRef<any, any>;
33
38
  width: import("vue").Ref<number, number>;
34
39
  height: import("vue").Ref<number, number>;
35
40
  ratio: number;
@@ -68,5 +73,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
68
73
  type: StringConstructor;
69
74
  required: false;
70
75
  };
76
+ areaName: {
77
+ type: StringConstructor;
78
+ required: false;
79
+ };
71
80
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
72
81
  export default _default;
@@ -1,4 +1,4 @@
1
- import { defineComponent, shallowRef, onMounted, onBeforeUnmount, watch, nextTick, openBlock, createElementBlock, unref, toDisplayString, createCommentVNode } from 'vue';
1
+ import { defineComponent, shallowRef, onMounted, onBeforeUnmount, watch, nextTick, openBlock, createElementBlock, createCommentVNode, createElementVNode, toDisplayString, normalizeStyle, unref } from 'vue';
2
2
  import { useElementSize } from '@vueuse/core';
3
3
  import { uuid } from './tzj-player.mjs';
4
4
 
@@ -6,6 +6,10 @@ var __defProp = Object.defineProperty;
6
6
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
7
  const _hoisted_1 = {
8
8
  key: 0,
9
+ class: "i-tzj-easyPlayer__top"
10
+ };
11
+ const _hoisted_2 = {
12
+ key: 1,
9
13
  class: "i-tzj-player__error"
10
14
  };
11
15
  const PLAYER_TEMPLATE = "5f295a9341a74d439b5d69374c90d501";
@@ -20,7 +24,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
20
24
  channel: {},
21
25
  quality: {},
22
26
  accessToken: {},
23
- playerTemplate: {}
27
+ playerTemplate: {},
28
+ areaName: {}
24
29
  },
25
30
  setup(__props, { expose: __expose }) {
26
31
  const props = __props;
@@ -28,6 +33,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
28
33
  let playerInstance = null;
29
34
  let errorMsg = "";
30
35
  const ysRef = shallowRef();
36
+ const containerRef = shallowRef();
31
37
  const { width, height } = useElementSize(ysRef);
32
38
  let ratio = 16 / 9;
33
39
  let isCurrentFullscreen = false;
@@ -162,7 +168,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
162
168
  dom.id = id;
163
169
  dom.style.width = "100%";
164
170
  dom.style.height = "100%";
165
- (_a = ysRef.value) == null ? void 0 : _a.appendChild(dom);
171
+ (_a = containerRef.value) == null ? void 0 : _a.appendChild(dom);
166
172
  }
167
173
  }
168
174
  }
@@ -176,9 +182,41 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
176
182
  class: "i-tzj-ysplayer"
177
183
  },
178
184
  [
185
+ createCommentVNode(" \u64AD\u653E\u5668\u9876\u90E8\u663E\u793A\u533A\u57DF(\u8BBE\u5907)\u540D\u79F0 "),
186
+ _ctx.areaName ? (openBlock(), createElementBlock("div", _hoisted_1, [
187
+ _cache[0] || (_cache[0] = createElementVNode(
188
+ "i",
189
+ { class: "iconfont icon-shexiangtou4" },
190
+ null,
191
+ -1
192
+ /* CACHED */
193
+ )),
194
+ createElementVNode(
195
+ "span",
196
+ null,
197
+ toDisplayString(_ctx.areaName),
198
+ 1
199
+ /* TEXT */
200
+ )
201
+ ])) : createCommentVNode("v-if", true),
202
+ createElementVNode(
203
+ "div",
204
+ {
205
+ ref_key: "containerRef",
206
+ ref: containerRef,
207
+ class: "i-tzj-ysplayer",
208
+ style: normalizeStyle([{ "width": "100%" }, {
209
+ height: _ctx.areaName ? "calc(100% - 32px)" : "100%",
210
+ position: "relative"
211
+ }])
212
+ },
213
+ null,
214
+ 4
215
+ /* STYLE */
216
+ ),
179
217
  unref(errorMsg) ? (openBlock(), createElementBlock(
180
218
  "div",
181
- _hoisted_1,
219
+ _hoisted_2,
182
220
  toDisplayString(unref(errorMsg)),
183
221
  1
184
222
  /* TEXT */
@@ -1 +1 @@
1
- {"version":3,"file":"ysPlayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useElementSize } from \"@vueuse/core\";\nimport { nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from \"vue\";\nimport { uuid } from \"./tzj-player\";\n// 萤石云播放器\ndefineOptions({\n name: \"YsPlayer\",\n});\n\n// 传值方式\n// 1、传url、accessToken\n// 2、传deviceSerial、channel、accessToken\nconst props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: \"hd\" | \"sd\" | \"\";\n accessToken: string;\n // 播放器模板ID\n playerTemplate?: string;\n}>();\n\n// 播放器模板ID\n// 可在萤石云控制台查看、修改、获取\n// 位置:云直播-轻应用-特致珈默认模板\nconst PLAYER_TEMPLATE = \"5f295a9341a74d439b5d69374c90d501\";\nconst id = uuid();\nlet playerInstance: any = null;\nlet errorMsg = \"\";\nconst ysRef = shallowRef();\nconst { width, height } = useElementSize(ysRef);\nlet ratio = 16 / 9;\nlet isCurrentFullscreen = false;\n\nonMounted(() => play());\n\nonBeforeUnmount(() => destroy());\n\ndefineExpose({ play, destroy, resize });\n\n// 防抖函数\nfunction debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\n// 加上防抖的 resize 函数\nconst debouncedResize = debounce(resize, 300);\n\nwatch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n);\n\nasync function play(options?: Record<string, any>) {\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n await nextTick();\n await createPlayer(options);\n }\n }\n}\nfunction destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n}\nfunction resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n if (playerInstance?.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n}\n\n/**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\nasync function createPlayer(options?: Record<string, any>) {\n try {\n // 动态导入 EZUIKit,避免 SSR 环境下的 window 访问错误\n const EZUIKit = await import(\"ezuikit-js\");\n\n playerInstance = new EZUIKit.default.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: \"YSPLAYER\",\n level: \"ERROR\",\n showTime: true,\n },\n staticPath: \"/plugins/ezuikit/ezuikit_static\",\n ...options,\n });\n } catch (error) {\n console.error(\"Failed to load EZUIKit:\", error);\n errorMsg = \"播放器加载失败\";\n return;\n }\n\n playerInstance.eventEmitter.on(\"fullscreen\", () => {\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on(\"exitFullscreen\", () => {\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on(\"videoInfo\", (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n debouncedResize();\n });\n}\n\nfunction formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality =\n props.quality === \"\" || props.quality === \"hd\" ? \"hd.\" : \"\";\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return \"\";\n }\n }\n}\n\n// 移除播放器DOM\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n// 创建播放器DOM\nfunction createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n if (typeof document !== \"undefined\") {\n const dom = document.createElement(\"div\");\n dom.id = id;\n dom.style.width = \"100%\";\n dom.style.height = \"100%\";\n ysRef.value?.appendChild(dom);\n }\n }\n}\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-tzj-ysplayer\">\n <div v-if=\"errorMsg\" class=\"i-tzj-player__error\">\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_unref","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"ysPlayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useElementSize } from \"@vueuse/core\";\nimport { nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from \"vue\";\nimport { uuid } from \"./tzj-player\";\n// 萤石云播放器\ndefineOptions({\n name: \"YsPlayer\",\n});\n\n// 传值方式\n// 1、传url、accessToken\n// 2、传deviceSerial、channel、accessToken\nconst props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: \"hd\" | \"sd\" | \"\";\n accessToken: string;\n // 播放器模板ID\n playerTemplate?: string;\n // 设备名称\n areaName?: string;\n}>();\n\n// 播放器模板ID\n// 可在萤石云控制台查看、修改、获取\n// 位置:云直播-轻应用-特致珈默认模板\nconst PLAYER_TEMPLATE = \"5f295a9341a74d439b5d69374c90d501\";\nconst id = uuid();\nlet playerInstance: any = null;\nlet errorMsg = \"\";\nconst ysRef = shallowRef();\nconst containerRef = shallowRef();\nconst { width, height } = useElementSize(ysRef);\nlet ratio = 16 / 9;\nlet isCurrentFullscreen = false;\n\nonMounted(() => play());\n\nonBeforeUnmount(() => destroy());\n\ndefineExpose({ play, destroy, resize });\n\n// 防抖函数\nfunction debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\n// 加上防抖的 resize 函数\nconst debouncedResize = debounce(resize, 300);\n\nwatch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n);\n\nasync function play(options?: Record<string, any>) {\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n await nextTick();\n await createPlayer(options);\n }\n }\n}\nfunction destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n}\nfunction resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n if (playerInstance?.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n}\n\n/**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\nasync function createPlayer(options?: Record<string, any>) {\n try {\n // 动态导入 EZUIKit,避免 SSR 环境下的 window 访问错误\n const EZUIKit = await import(\"ezuikit-js\");\n\n playerInstance = new EZUIKit.default.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: \"YSPLAYER\",\n level: \"ERROR\",\n showTime: true,\n },\n staticPath: \"/plugins/ezuikit/ezuikit_static\",\n ...options,\n });\n } catch (error) {\n console.error(\"Failed to load EZUIKit:\", error);\n errorMsg = \"播放器加载失败\";\n return;\n }\n\n playerInstance.eventEmitter.on(\"fullscreen\", () => {\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on(\"exitFullscreen\", () => {\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on(\"videoInfo\", (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n debouncedResize();\n });\n}\n\nfunction formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality =\n props.quality === \"\" || props.quality === \"hd\" ? \"hd.\" : \"\";\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return \"\";\n }\n }\n}\n\n// 移除播放器DOM\nfunction removePlayerDom() {\n if (typeof document !== \"undefined\") {\n const dom = document.getElementById(id);\n dom && dom.remove();\n }\n}\n// 创建播放器DOM\nfunction createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n if (typeof document !== \"undefined\") {\n const dom = document.createElement(\"div\");\n dom.id = id;\n dom.style.width = \"100%\";\n dom.style.height = \"100%\";\n containerRef.value?.appendChild(dom);\n }\n }\n}\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-tzj-ysplayer\">\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName\" class=\"i-tzj-easyPlayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName }}</span>\n </div>\n <div\n ref=\"containerRef\"\n class=\"i-tzj-ysplayer\"\n style=\"width: 100%\"\n :style=\"{\n height: areaName ? 'calc(100% - 32px)' : '100%',\n position: 'relative',\n }\"\n />\n <div v-if=\"errorMsg\" class=\"i-tzj-player__error\">\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createCommentVNode","areaName","_openBlock","_createElementVNode","_unref","_toDisplayString"],"mappings":";;;;;;;;;;;;;;AAkCA,MAAM,eAAkB,GAAA,kCAAA;;;;;;;;;;;;;;;;AAtBxB,IAAA,MAAM,KAAQ,GAAA,OAAA;AAuBd,IAAA,MAAM,KAAK,IAAK,EAAA;AAChB,IAAA,IAAI,cAAsB,GAAA,IAAA;AAC1B,IAAA,IAAI,QAAW,GAAA,EAAA;AACf,IAAA,MAAM,QAAQ,UAAW,EAAA;AACzB,IAAA,MAAM,eAAe,UAAW,EAAA;AAChC,IAAA,MAAM,EAAE,KAAA,EAAO,MAAO,EAAA,GAAI,eAAe,KAAK,CAAA;AAC9C,IAAA,IAAI,QAAQ,EAAK,GAAA,CAAA;AACjB,IAAA,IAAI,mBAAsB,GAAA,KAAA;AAE1B,IAAU,SAAA,CAAA,MAAM,MAAM,CAAA;AAEtB,IAAgB,eAAA,CAAA,MAAM,SAAS,CAAA;AAE/B,IAAA,QAAA,CAAa,EAAE,IAAA,EAAM,OAAS,EAAA,MAAA,EAAQ,CAAA;AAGtC,IAAS,SAAA,QAAA,CAAS,MAAgB,IAAc,EAAA;AAC9C,MAAA,IAAI,OAAgD,GAAA,IAAA;AACpD,MAAA,OAAO,YAAwB,IAAa,EAAA;AAC1C,QAAI,IAAA,OAAA,eAAsB,OAAO,CAAA;AACjC,QAAA,OAAA,GAAU,WAAW,MAAM,IAAA,CAAK,MAAM,IAAM,EAAA,IAAI,GAAG,IAAI,CAAA;AAAA,OACzD;AAAA;AALO,IAAA,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA;AAST,IAAM,MAAA,eAAA,GAAkB,QAAS,CAAA,MAAA,EAAQ,GAAG,CAAA;AAE5C,IAAA,KAAA;AAAA,MACE,MAAM,CAAC,KAAA,CAAM,KAAO,EAAA,MAAA,CAAO,OAAO,KAAK,CAAA;AAAA,MACvC,MAAM;AACJ,QAAA,IAAI,CAAC,mBAAqB,EAAA;AACxB,UAAgB,eAAA,EAAA;AAAA;AAClB;AACF,KACF;AAEA,IAAA,eAAe,KAAK,OAA+B,EAAA;AACjD,MAAI,IAAA,CAAC,MAAM,WAAa,EAAA;AACtB,QAAW,QAAA,GAAA,CAAA,iCAAA,CAAA;AAAA,OACN,MAAA;AACL,QAAA,MAAM,MAAM,YAAa,EAAA;AACzB,QAAA,IAAI,GAAK,EAAA;AACP,UAAgB,eAAA,EAAA;AAChB,UAAA,MAAM,QAAS,EAAA;AACf,UAAA,MAAM,aAAa,OAAO,CAAA;AAAA;AAC5B;AACF;AAVa,IAAA,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAYf,IAAA,SAAS,OAAU,GAAA;AACjB,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,cAAA,CAAe,OAAQ,EAAA;AACvB,QAAiB,cAAA,GAAA,IAAA;AACjB,QAAgB,eAAA,EAAA;AAAA;AAClB;AALO,IAAA,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA;AAOT,IAAA,SAAS,MAAS,GAAA;AAEhB,MAAA,IAAI,KAAM,CAAA,KAAA,GAAQ,CAAK,IAAA,MAAA,CAAO,QAAQ,CAAG,EAAA;AACvC,QAAA,IAAI,kBAAkB,KAAM,CAAA,KAAA;AAC5B,QAAA,IAAI,mBAAmB,eAAkB,GAAA,KAAA;AACzC,QAAI,IAAA,gBAAA,GAAmB,OAAO,KAAO,EAAA;AACnC,UAAA,gBAAA,GAAmB,MAAO,CAAA,KAAA;AAC1B,UAAA,eAAA,GAAkB,gBAAmB,GAAA,KAAA;AAAA;AAEvC,QAAA,IAAI,iDAAgB,MAAQ,EAAA;AAC1B,UAAe,cAAA,CAAA,MAAA,CAAO,iBAAiB,gBAAgB,CAAA;AAAA,SACzD,MAAA,IAAW,OAAO,QAAA,KAAa,WAAa,EAAA;AAC1C,UAAM,MAAA,GAAA,GAAM,QAAS,CAAA,cAAA,CAAe,EAAE,CAAA;AACtC,UAAA,IAAI,GAAK,EAAA;AACP,YAAI,GAAA,CAAA,KAAA,CAAM,KAAQ,GAAA,CAAA,EAAG,eAAe,CAAA,EAAA,CAAA;AACpC,YAAI,GAAA,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,EAAG,gBAAgB,CAAA,EAAA,CAAA;AAAA;AACxC;AACF;AACF;AAlBO,IAAA,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAwBT,IAAA,eAAe,aAAa,OAA+B,EAAA;AACzD,MAAI,IAAA;AAEF,QAAM,MAAA,OAAA,GAAU,MAAM,OAAO,YAAY,CAAA;AAEzC,QAAiB,cAAA,GAAA,IAAI,OAAQ,CAAA,OAAA,CAAQ,aAAc,CAAA;AAAA,UACjD,EAAA;AAAA,UACA,KAAK,YAAa,EAAA;AAAA,UAClB,aAAa,KAAM,CAAA,WAAA;AAAA,UACnB,QAAA,EAAU,MAAM,cAAkB,IAAA,eAAA;AAAA,UAClC,OAAO,KAAM,CAAA,KAAA;AAAA,UACb,QAAQ,MAAO,CAAA,KAAA;AAAA,UACf,KAAO,EAAA,CAAA;AAAA;AAAA,UAEP,aAAe,EAAA;AAAA,YACb,IAAM,EAAA,UAAA;AAAA,YACN,KAAO,EAAA,OAAA;AAAA,YACP,QAAU,EAAA;AAAA,WACZ;AAAA,UACA,UAAY,EAAA,iCAAA;AAAA,UACZ,GAAG;AAAA,SACJ,CAAA;AAAA,eACM,KAAO,EAAA;AACd,QAAQ,OAAA,CAAA,KAAA,CAAM,2BAA2B,KAAK,CAAA;AAC9C,QAAW,QAAA,GAAA,4CAAA;AACX,QAAA;AAAA;AAGF,MAAe,cAAA,CAAA,YAAA,CAAa,EAAG,CAAA,YAAA,EAAc,MAAM;AACjD,QAAsB,mBAAA,GAAA,IAAA;AAAA,OACvB,CAAA;AACD,MAAe,cAAA,CAAA,YAAA,CAAa,EAAG,CAAA,gBAAA,EAAkB,MAAM;AACrD,QAAsB,mBAAA,GAAA,KAAA;AAAA,OACvB,CAAA;AACD,MAAA,cAAA,CAAe,YAAa,CAAA,EAAA,CAAG,WAAa,EAAA,CAAC,IAAc,KAAA;AACzD,QAAA,MAAM,EAAE,KAAA,EAAO,CAAG,EAAA,MAAA,EAAQ,GAAM,GAAA,IAAA;AAEhC,QAAA,IAAI,KAAK,CAAG,EAAA;AACV,UAAA,KAAA,GAAQ,CAAI,GAAA,CAAA;AAAA;AAEd,QAAgB,eAAA,EAAA;AAAA,OACjB,CAAA;AAAA;AAzCY,IAAA,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA;AA4Cf,IAAA,SAAS,YAAuB,GAAA;AAC9B,MAAA,IAAI,MAAM,GAAK,EAAA;AACb,QAAA,OAAO,KAAM,CAAA,GAAA;AAAA,OACR,MAAA;AACL,QAAI,IAAA,KAAA,CAAM,YAAgB,IAAA,KAAA,CAAM,OAAS,EAAA;AACvC,UAAA,MAAM,UACJ,KAAM,CAAA,OAAA,KAAY,MAAM,KAAM,CAAA,OAAA,KAAY,OAAO,KAAQ,GAAA,EAAA;AAC3D,UAAA,OAAO,yBAAyB,KAAM,CAAA,YAAY,IAAI,KAAM,CAAA,OAAO,IAAI,OAAO,CAAA,IAAA,CAAA;AAAA,SACzE,MAAA;AACL,UAAW,QAAA,GAAA,CAAA,+CAAA,CAAA;AACX,UAAO,OAAA,EAAA;AAAA;AACT;AACF;AAZO,IAAA,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA;AAgBT,IAAA,SAAS,eAAkB,GAAA;AACzB,MAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,QAAM,MAAA,GAAA,GAAM,QAAS,CAAA,cAAA,CAAe,EAAE,CAAA;AACtC,QAAA,GAAA,IAAO,IAAI,MAAO,EAAA;AAAA;AACpB;AAJO,IAAA,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA;AAOT,IAAA,SAAS,eAAkB,GAAA;;AACzB,MAAA,IAAI,CAAC,QAAU,EAAA;AACb,QAAgB,eAAA,EAAA;AAChB,QAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,UAAM,MAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA;AACxC,UAAA,GAAA,CAAI,EAAK,GAAA,EAAA;AACT,UAAA,GAAA,CAAI,MAAM,KAAQ,GAAA,MAAA;AAClB,UAAA,GAAA,CAAI,MAAM,MAAS,GAAA,MAAA;AACnB,UAAa,CAAA,EAAA,GAAA,YAAA,CAAA,KAAA,KAAb,mBAAoB,WAAY,CAAA,GAAA,CAAA;AAAA;AAClC;AACF;AAVO,IAAA,MAAA,CAAA,eAAA,EAAA,iBAAA,CAAA;;wBAeP,EAAAA,kBAAA;AAAA,QAkBM,KAAA;AAAA,QAAA;AAAA,iBAlBG,EAAA,OAAA;AAAA,UAAJ,GAAI,EAAA,KAAA;AAAA,UAAQ,KAAM,EAAA;AAAA;;UACrBC,mBAAwB,oFAAA,CAAA;AAAA,UACbC,KAAQ,QAAnB,IAAAC,SAAA,EAAA,EAAAH,kBAAA,CAGM,OAHN,UAGM,EAAA;AAAA,mCAFJ,GAAAI,kBAAA;AAAA,cAAwC,GAAA;AAAA,cAAA,EAArC,OAAM,4BAA4B,EAAA;AAAA,cAAA,IAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA,CAAA;AAAA,YACrCA,kBAAA;AAAA,cAA2B,MAAA;AAAA;8BAAlBF,KAAQ,QAAA,CAAA;AAAA,cAAA;AAAA;AAAA;AAAA;UAEnBE,kBAAA;AAAA,YAQE,KAAA;AAAA,YAAA;AAAA,qBAPI,EAAA,cAAA;AAAA,cAAJ,GAAI,EAAA,YAAA;AAAA,cACJ,KAAM,EAAA,gBAAA;AAAA,cACN,uBAAA,EAAmB,OAAA,EAAA,QAAA,EAAA;AAAA,wBACOF,IAAQ,CAAA,QAAA,GAAA,mBAAA,GAAA,MAAA;AAAA;;;;;;;UAKzBG,KAAQ,CAAA,QAAA,gBAAnB,EAAAL,kBAAA;AAAA,YAEM,KAAA;AAAA,YAFN,UAAA;AAAA,YAEMM,eAAA,CADDD,KAAQ,CAAA,QAAA,CAAA,CAAA;AAAA,YAAA;AAAA;AAAA,WAAA;;;;;;;;;;;"}
@@ -1443,10 +1443,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1443
1443
  createPlayerDom: () => void;
1444
1444
  createPlayer: () => Promise<void>;
1445
1445
  destroy: () => void;
1446
- topBar: import("vue").Ref<any, any>;
1447
- topBarTimer: any;
1448
- handleMouseEnter: () => void;
1449
- handleMouseLeave: () => void;
1450
1446
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1451
1447
  url: {
1452
1448
  type: StringConstructor;
@@ -1500,10 +1500,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1500
1500
  createPlayerDom: () => void;
1501
1501
  createPlayer: () => Promise<void>;
1502
1502
  destroy: () => void;
1503
- topBar: import("vue").Ref<any, any>;
1504
- topBarTimer: any;
1505
- handleMouseEnter: () => void;
1506
- handleMouseLeave: () => void;
1507
1503
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1508
1504
  url: {
1509
1505
  type: StringConstructor;
@@ -1602,6 +1598,10 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1602
1598
  type: StringConstructor;
1603
1599
  required: false;
1604
1600
  };
1601
+ areaName: {
1602
+ type: StringConstructor;
1603
+ required: false;
1604
+ };
1605
1605
  }>, {
1606
1606
  props: any;
1607
1607
  PLAYER_TEMPLATE: string;
@@ -1609,6 +1609,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1609
1609
  playerInstance: any;
1610
1610
  errorMsg: string;
1611
1611
  ysRef: import("vue").ShallowRef<any, any>;
1612
+ containerRef: import("vue").ShallowRef<any, any>;
1612
1613
  width: import("vue").Ref<number, number>;
1613
1614
  height: import("vue").Ref<number, number>;
1614
1615
  ratio: number;
@@ -1647,6 +1648,10 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1647
1648
  type: StringConstructor;
1648
1649
  required: false;
1649
1650
  };
1651
+ areaName: {
1652
+ type: StringConstructor;
1653
+ required: false;
1654
+ };
1650
1655
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
1651
1656
  };
1652
1657
  playerComponent: import("vue").ComputedRef<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -1730,10 +1735,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1730
1735
  createPlayerDom: () => void;
1731
1736
  createPlayer: () => Promise<void>;
1732
1737
  destroy: () => void;
1733
- topBar: import("vue").Ref<any, any>;
1734
- topBarTimer: any;
1735
- handleMouseEnter: () => void;
1736
- handleMouseLeave: () => void;
1737
1738
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1738
1739
  url: {
1739
1740
  type: StringConstructor;
@@ -3218,10 +3219,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3218
3219
  createPlayerDom: () => void;
3219
3220
  createPlayer: () => Promise<void>;
3220
3221
  destroy: () => void;
3221
- topBar: import("vue").Ref<any, any>;
3222
- topBarTimer: any;
3223
- handleMouseEnter: () => void;
3224
- handleMouseLeave: () => void;
3225
3222
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
3226
3223
  url: {
3227
3224
  type: StringConstructor;
@@ -3319,6 +3316,10 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3319
3316
  type: StringConstructor;
3320
3317
  required: false;
3321
3318
  };
3319
+ areaName: {
3320
+ type: StringConstructor;
3321
+ required: false;
3322
+ };
3322
3323
  }>, {
3323
3324
  props: any;
3324
3325
  PLAYER_TEMPLATE: string;
@@ -3326,6 +3327,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3326
3327
  playerInstance: any;
3327
3328
  errorMsg: string;
3328
3329
  ysRef: import("vue").ShallowRef<any, any>;
3330
+ containerRef: import("vue").ShallowRef<any, any>;
3329
3331
  width: import("vue").Ref<number, number>;
3330
3332
  height: import("vue").Ref<number, number>;
3331
3333
  ratio: number;
@@ -3364,6 +3366,10 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3364
3366
  type: StringConstructor;
3365
3367
  required: false;
3366
3368
  };
3369
+ areaName: {
3370
+ type: StringConstructor;
3371
+ required: false;
3372
+ };
3367
3373
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
3368
3374
  errorState: import("vue").ComputedRef<{
3369
3375
  type: string;
@@ -3450,10 +3456,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3450
3456
  createPlayerDom: () => void;
3451
3457
  createPlayer: () => Promise<void>;
3452
3458
  destroy: () => void;
3453
- topBar: import("vue").Ref<any, any>;
3454
- topBarTimer: any;
3455
- handleMouseEnter: () => void;
3456
- handleMouseLeave: () => void;
3457
3459
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
3458
3460
  url: {
3459
3461
  type: StringConstructor;
@@ -4938,10 +4940,6 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
4938
4940
  createPlayerDom: () => void;
4939
4941
  createPlayer: () => Promise<void>;
4940
4942
  destroy: () => void;
4941
- topBar: import("vue").Ref<any, any>;
4942
- topBarTimer: any;
4943
- handleMouseEnter: () => void;
4944
- handleMouseLeave: () => void;
4945
4943
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4946
4944
  url: {
4947
4945
  type: StringConstructor;
@@ -5039,6 +5037,10 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
5039
5037
  type: StringConstructor;
5040
5038
  required: false;
5041
5039
  };
5040
+ areaName: {
5041
+ type: StringConstructor;
5042
+ required: false;
5043
+ };
5042
5044
  }>, {
5043
5045
  props: any;
5044
5046
  PLAYER_TEMPLATE: string;
@@ -5046,6 +5048,7 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
5046
5048
  playerInstance: any;
5047
5049
  errorMsg: string;
5048
5050
  ysRef: import("vue").ShallowRef<any, any>;
5051
+ containerRef: import("vue").ShallowRef<any, any>;
5049
5052
  width: import("vue").Ref<number, number>;
5050
5053
  height: import("vue").Ref<number, number>;
5051
5054
  ratio: number;
@@ -5084,6 +5087,10 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
5084
5087
  type: StringConstructor;
5085
5088
  required: false;
5086
5089
  };
5090
+ areaName: {
5091
+ type: StringConstructor;
5092
+ required: false;
5093
+ };
5087
5094
  }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any> | null>;
5088
5095
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
5089
5096
  url: {
@@ -79,10 +79,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
79
79
  createPlayerDom: () => void;
80
80
  createPlayer: () => Promise<void>;
81
81
  destroy: () => void;
82
- topBar: import("vue").Ref<any, any>;
83
- topBarTimer: any;
84
- handleMouseEnter: () => void;
85
- handleMouseLeave: () => void;
86
82
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("error" | "play" | "pause" | "videoInfo" | "timeout" | "mute")[], "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
87
83
  url: {
88
84
  type: StringConstructor;
@@ -9,12 +9,16 @@ var __defProp = Object.defineProperty;
9
9
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
10
  const _hoisted_1 = {
11
11
  key: 0,
12
- class: "i-tzj-player__error"
12
+ class: "i-tzj-easyPlayer__top"
13
13
  };
14
14
  const _hoisted_2 = {
15
15
  key: 1,
16
16
  class: "i-tzj-player__error"
17
17
  };
18
+ const _hoisted_3 = {
19
+ key: 2,
20
+ class: "i-tzj-player__error"
21
+ };
18
22
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
19
23
  ...{
20
24
  name: "EasyPlayer"
@@ -163,9 +167,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
163
167
  removePlayerDom();
164
168
  if (typeof document !== "undefined") {
165
169
  const dom = document.createElement("div");
170
+ const { width, height } = playerRef.value.getBoundingClientRect();
166
171
  dom.id = id;
167
- dom.style.width = "100%";
168
- dom.style.height = "100%";
172
+ dom.style.width = `${width}px`;
173
+ dom.style.height = props.areaName ? `${height - 32}px` : `${height}px`;
169
174
  (_a = playerRef.value) == null ? void 0 : _a.appendChild(dom);
170
175
  }
171
176
  }
@@ -249,65 +254,39 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
249
254
  removePlayerDom();
250
255
  }
251
256
  __name(destroy, "destroy");
252
- const topBar = vue.ref();
253
- let topBarTimer = null;
254
- const handleMouseEnter = /* @__PURE__ */ __name(() => {
255
- if (topBarTimer) {
256
- clearTimeout(topBarTimer);
257
- topBarTimer = null;
258
- }
259
- topBar.value.style.opacity = 1;
260
- }, "handleMouseEnter");
261
- const handleMouseLeave = /* @__PURE__ */ __name(() => {
262
- topBarTimer = setTimeout(() => {
263
- topBar.value.style.opacity = 0;
264
- }, 5200);
265
- }, "handleMouseLeave");
266
257
  return (_ctx, _cache) => {
267
258
  return vue.openBlock(), vue.createElementBlock(
268
259
  "div",
269
260
  {
270
261
  ref_key: "playerRef",
271
262
  ref: playerRef,
272
- class: vue.normalizeClass(["i-tzj-easyPlayer", customBar.value ? "i-tzj-easyPlayer--custom" : ""]),
273
- onMouseenter: handleMouseEnter,
274
- onMouseleave: handleMouseLeave
263
+ class: vue.normalizeClass(["i-tzj-easyPlayer", customBar.value ? "i-tzj-easyPlayer--custom" : ""])
275
264
  },
276
265
  [
277
- vue.createCommentVNode(" \u64AD\u653E\u5668\u9876\u90E8\u64CD\u4F5C\u680F "),
278
- vue.createElementVNode(
279
- "div",
280
- {
281
- ref_key: "topBar",
282
- ref: topBar,
283
- class: "i-tzj-easyPlayer__top"
284
- },
285
- [
286
- _cache[0] || (_cache[0] = vue.createElementVNode(
287
- "i",
288
- { class: "iconfont icon-shexiangtou4" },
289
- null,
290
- -1
291
- /* CACHED */
292
- )),
293
- vue.createElementVNode(
294
- "span",
295
- null,
296
- vue.toDisplayString(_ctx.areaName),
297
- 1
298
- /* TEXT */
299
- )
300
- ],
301
- 512
302
- /* NEED_PATCH */
303
- ),
304
- !playSuccess.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, "\u65E0\u4FE1\u53F7")) : vue.createCommentVNode("v-if", true),
305
- !playUrl.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, "\u65E0\u64AD\u653E\u5730\u5740")) : vue.createCommentVNode("v-if", true),
266
+ vue.createCommentVNode(" \u64AD\u653E\u5668\u9876\u90E8\u663E\u793A\u533A\u57DF(\u8BBE\u5907)\u540D\u79F0 "),
267
+ _ctx.areaName ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
268
+ _cache[0] || (_cache[0] = vue.createElementVNode(
269
+ "i",
270
+ { class: "iconfont icon-shexiangtou4" },
271
+ null,
272
+ -1
273
+ /* CACHED */
274
+ )),
275
+ vue.createElementVNode(
276
+ "span",
277
+ null,
278
+ vue.toDisplayString(_ctx.areaName),
279
+ 1
280
+ /* TEXT */
281
+ )
282
+ ])) : vue.createCommentVNode("v-if", true),
283
+ !playSuccess.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, "\u65E0\u4FE1\u53F7")) : vue.createCommentVNode("v-if", true),
284
+ !playUrl.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, "\u65E0\u64AD\u653E\u5730\u5740")) : vue.createCommentVNode("v-if", true),
306
285
  vue.createCommentVNode(" \u64AD\u653E\u5668\u5E95\u90E8\u64CD\u4F5C\u680F "),
307
286
  vue.renderSlot(_ctx.$slots, "customBar")
308
287
  ],
309
- 34
310
- /* CLASS, NEED_HYDRATION */
288
+ 2
289
+ /* CLASS */
311
290
  );
312
291
  };
313
292
  }