@yimou6/common-ui 1.11.14 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/cdn/index.cdn.js +10 -10
  2. package/cdn/index.cdn.js.map +1 -1
  3. package/cdn/index.cdn.mjs +10 -10
  4. package/cdn/index.cdn.mjs.map +1 -1
  5. package/cdn/index.css +1 -1
  6. package/es/components/tzj-player/index.d.ts +16 -0
  7. package/es/components/tzj-player/src/ctyun-player.vue.d.ts +2 -0
  8. package/es/components/tzj-player/src/easyPlayer.vue.d.ts +2 -0
  9. package/es/components/tzj-player/src/easyPlayer.vue2.mjs +34 -17
  10. package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
  11. package/es/components/tzj-player/src/newPlayer.vue.d.ts +7 -0
  12. package/es/components/tzj-player/src/newPlayer.vue.mjs +6 -0
  13. package/es/components/tzj-player/src/newPlayer.vue.mjs.map +1 -0
  14. package/es/components/tzj-player/src/newPlayer.vue2.mjs +67 -0
  15. package/es/components/tzj-player/src/newPlayer.vue2.mjs.map +1 -0
  16. package/es/components/tzj-player/src/tzj-player.vue.d.ts +16 -0
  17. package/es/components/tzj-player/src/tzj-player.vue2.mjs +5 -5
  18. package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
  19. package/es/components/tzj-player/src/xgplayer.vue.d.ts +5 -1
  20. package/es/components/tzj-player/src/xgplayer.vue2.mjs +77 -23
  21. package/es/components/tzj-player/src/xgplayer.vue2.mjs.map +1 -1
  22. package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -0
  23. package/es/installer.d.ts +1 -1
  24. package/es/installer.mjs.map +1 -1
  25. package/lib/components/tzj-player/index.d.ts +16 -0
  26. package/lib/components/tzj-player/src/ctyun-player.vue.d.ts +2 -0
  27. package/lib/components/tzj-player/src/easyPlayer.vue.d.ts +2 -0
  28. package/lib/components/tzj-player/src/easyPlayer.vue2.js +34 -17
  29. package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
  30. package/lib/components/tzj-player/src/newPlayer.vue.d.ts +7 -0
  31. package/lib/components/tzj-player/src/newPlayer.vue.js +10 -0
  32. package/lib/components/tzj-player/src/newPlayer.vue.js.map +1 -0
  33. package/lib/components/tzj-player/src/newPlayer.vue2.js +71 -0
  34. package/lib/components/tzj-player/src/newPlayer.vue2.js.map +1 -0
  35. package/lib/components/tzj-player/src/tzj-player.vue.d.ts +16 -0
  36. package/lib/components/tzj-player/src/tzj-player.vue2.js +5 -5
  37. package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
  38. package/lib/components/tzj-player/src/xgplayer.vue.d.ts +5 -1
  39. package/lib/components/tzj-player/src/xgplayer.vue2.js +76 -22
  40. package/lib/components/tzj-player/src/xgplayer.vue2.js.map +1 -1
  41. package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -0
  42. package/lib/installer.d.ts +1 -1
  43. package/lib/installer.js.map +1 -1
  44. package/package.json +1 -1
  45. package/theme-default/i-tzj-player.css +1 -1
  46. package/theme-default/index.css +1 -1
@@ -0,0 +1,67 @@
1
+ import { defineComponent, ref, onMounted, openBlock, createElementBlock } from 'vue';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+ const _hoisted_1 = {
6
+ id: "player",
7
+ class: "w-50 h-50"
8
+ };
9
+ var _sfc_main = /* @__PURE__ */ defineComponent({
10
+ ...{
11
+ name: ""
12
+ },
13
+ __name: "newPlayer",
14
+ setup(__props) {
15
+ const player = ref(null);
16
+ function destroy() {
17
+ var _a;
18
+ (_a = player.value) == null ? void 0 : _a.destroy();
19
+ player.value = null;
20
+ }
21
+ __name(destroy, "destroy");
22
+ function play() {
23
+ player.value = new window.EasyPlayerPro(document.getElementById("player"), {
24
+ isLive: true,
25
+ // 是否直播
26
+ hasAudio: true,
27
+ // 是否解析音频
28
+ bufferTime: 0.2,
29
+ // 缓存时长
30
+ stretch: true,
31
+ // 加视频拉伸
32
+ MSE: false,
33
+ WCS: false,
34
+ WASM: true,
35
+ gpuDecoder: true,
36
+ debug: false
37
+ // operateBtns: {
38
+ // performance: false,
39
+ // },
40
+ });
41
+ console.log("\u{1F680} ~ player.value:", player.value);
42
+ player.value.play("http://192.168.111.212:8099/tzjzlm/23_39-1/hls.m3u8");
43
+ }
44
+ __name(play, "play");
45
+ function initPlayer() {
46
+ console.log("initPlayer");
47
+ destroy();
48
+ try {
49
+ play();
50
+ } catch (error) {
51
+ setTimeout(() => {
52
+ initPlayer();
53
+ }, 1e3);
54
+ }
55
+ }
56
+ __name(initPlayer, "initPlayer");
57
+ onMounted(() => {
58
+ initPlayer();
59
+ });
60
+ return (_ctx, _cache) => {
61
+ return openBlock(), createElementBlock("div", _hoisted_1);
62
+ };
63
+ }
64
+ });
65
+
66
+ export { _sfc_main as default };
67
+ //# sourceMappingURL=newPlayer.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"newPlayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/newPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref } from \"vue\";\n\ndefineOptions({\n name: \"\",\n});\nconst player = ref<any>(null);\nfunction destroy() {\n // player.value?.pause();\n player.value?.destroy();\n player.value = null;\n}\nfunction play() {\n player.value = new window.EasyPlayerPro(document.getElementById(\"player\"), {\n isLive: true, // 是否直播\n hasAudio: true, // 是否解析音频\n bufferTime: 0.2, // 缓存时长\n stretch: true, // 加视频拉伸\n MSE: false,\n WCS: false,\n WASM: true,\n gpuDecoder: true,\n debug: false,\n // operateBtns: {\n // performance: false,\n // },\n });\n console.log(\"🚀 ~ player.value:\", player.value);\n\n player.value.play(\"http://192.168.111.212:8099/tzjzlm/23_39-1/hls.m3u8\");\n}\nfunction initPlayer() {\n console.log(\"initPlayer\");\n destroy();\n try {\n play();\n } catch (error) {\n setTimeout(() => {\n initPlayer();\n }, 1000);\n }\n}\n\nonMounted(() => {\n initPlayer();\n});\n</script>\n\n<template>\n <div id=\"player\" class=\"w-50 h-50\" />\n</template>\n\n<style lang=\"scss\" scoped></style>\n"],"names":["_openBlock","_createElementBlock"],"mappings":";;;;;;;;;;;;;;AAMA,IAAM,MAAA,MAAA,GAAS,IAAS,IAAI,CAAA;AAC5B,IAAA,SAAS,OAAU,GAAA;;AAEjB,MAAA,CAAA,EAAA,GAAA,MAAA,CAAO,UAAP,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,EAAA;AACd,MAAA,MAAA,CAAO,KAAQ,GAAA,IAAA;AAAA;AAHR,IAAA,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA;AAKT,IAAA,SAAS,IAAO,GAAA;AACd,MAAA,MAAA,CAAO,QAAQ,IAAI,MAAA,CAAO,cAAc,QAAS,CAAA,cAAA,CAAe,QAAQ,CAAG,EAAA;AAAA,QACzE,MAAQ,EAAA,IAAA;AAAA;AAAA,QACR,QAAU,EAAA,IAAA;AAAA;AAAA,QACV,UAAY,EAAA,GAAA;AAAA;AAAA,QACZ,OAAS,EAAA,IAAA;AAAA;AAAA,QACT,GAAK,EAAA,KAAA;AAAA,QACL,GAAK,EAAA,KAAA;AAAA,QACL,IAAM,EAAA,IAAA;AAAA,QACN,UAAY,EAAA,IAAA;AAAA,QACZ,KAAO,EAAA;AAAA;AAAA;AAAA;AAAA,OAIR,CAAA;AACD,MAAQ,OAAA,CAAA,GAAA,CAAI,2BAAsB,EAAA,MAAA,CAAO,KAAK,CAAA;AAE9C,MAAO,MAAA,CAAA,KAAA,CAAM,KAAK,qDAAqD,CAAA;AAAA;AAjBhE,IAAA,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAmBT,IAAA,SAAS,UAAa,GAAA;AACpB,MAAA,OAAA,CAAQ,IAAI,YAAY,CAAA;AACxB,MAAQ,OAAA,EAAA;AACR,MAAI,IAAA;AACF,QAAK,IAAA,EAAA;AAAA,eACE,KAAO,EAAA;AACd,QAAA,UAAA,CAAW,MAAM;AACf,UAAW,UAAA,EAAA;AAAA,WACV,GAAI,CAAA;AAAA;AACT;AATO,IAAA,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAYT,IAAA,SAAA,CAAU,MAAM;AACd,MAAW,UAAA,EAAA;AAAA,KACZ,CAAA;;AAIC,MAAA,OAAAA,SAAA,EAAA,EAAAC,kBAAqC,CAAA,KAAA,EAArC,UAAqC,CAAA;AAAA;;;;;;"}
@@ -1493,6 +1493,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1493
1493
  videoInfo: import("vue").Ref<any, any>;
1494
1494
  realFullscreen: import("vue").Ref<boolean, boolean>;
1495
1495
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
1496
+ waitTimer: number | null;
1497
+ isUnmounted: boolean;
1496
1498
  play: (url?: string) => void;
1497
1499
  playerPause: () => void;
1498
1500
  playerScreenShot: () => void;
@@ -3197,6 +3199,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3197
3199
  videoInfo: import("vue").Ref<any, any>;
3198
3200
  realFullscreen: import("vue").Ref<boolean, boolean>;
3199
3201
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
3202
+ waitTimer: number | null;
3203
+ isUnmounted: boolean;
3200
3204
  play: (url?: string) => void;
3201
3205
  playerPause: () => void;
3202
3206
  playerScreenShot: () => void;
@@ -3420,6 +3424,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
3420
3424
  videoInfo: import("vue").Ref<any, any>;
3421
3425
  realFullscreen: import("vue").Ref<boolean, boolean>;
3422
3426
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
3427
+ waitTimer: number | null;
3428
+ isUnmounted: boolean;
3423
3429
  play: (url?: string) => void;
3424
3430
  playerPause: () => void;
3425
3431
  playerScreenShot: () => void;
@@ -4939,6 +4945,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4939
4945
  videoInfo: import("vue").Ref<any, any>;
4940
4946
  realFullscreen: import("vue").Ref<boolean, boolean>;
4941
4947
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
4948
+ waitTimer: number | null;
4949
+ isUnmounted: boolean;
4942
4950
  play: (url?: string) => void;
4943
4951
  playerPause: () => void;
4944
4952
  playerScreenShot: () => void;
@@ -6641,6 +6649,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6641
6649
  videoInfo: import("vue").Ref<any, any>;
6642
6650
  realFullscreen: import("vue").Ref<boolean, boolean>;
6643
6651
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
6652
+ waitTimer: number | null;
6653
+ isUnmounted: boolean;
6644
6654
  play: (url?: string) => void;
6645
6655
  playerPause: () => void;
6646
6656
  playerScreenShot: () => void;
@@ -6867,6 +6877,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
6867
6877
  videoInfo: import("vue").Ref<any, any>;
6868
6878
  realFullscreen: import("vue").Ref<boolean, boolean>;
6869
6879
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
6880
+ waitTimer: number | null;
6881
+ isUnmounted: boolean;
6870
6882
  play: (url?: string) => void;
6871
6883
  playerPause: () => void;
6872
6884
  playerScreenShot: () => void;
@@ -8386,6 +8398,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
8386
8398
  videoInfo: import("vue").Ref<any, any>;
8387
8399
  realFullscreen: import("vue").Ref<boolean, boolean>;
8388
8400
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
8401
+ waitTimer: number | null;
8402
+ isUnmounted: boolean;
8389
8403
  play: (url?: string) => void;
8390
8404
  playerPause: () => void;
8391
8405
  playerScreenShot: () => void;
@@ -10088,6 +10102,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
10088
10102
  videoInfo: import("vue").Ref<any, any>;
10089
10103
  realFullscreen: import("vue").Ref<boolean, boolean>;
10090
10104
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
10105
+ waitTimer: number | null;
10106
+ isUnmounted: boolean;
10091
10107
  play: (url?: string) => void;
10092
10108
  playerPause: () => void;
10093
10109
  playerScreenShot: () => void;
@@ -2,9 +2,9 @@ import { defineComponent, toRefs, shallowRef, watch, computed, openBlock, create
2
2
  import { debounce } from 'lodash-es';
3
3
  import './ctyun-player.vue.mjs';
4
4
  import './easyPlayer.vue.mjs';
5
+ import './errorPage.vue.mjs';
5
6
  import { TzjPlayerProps, isSupportedProtocol, getVideoType } from './tzj-player.mjs';
6
7
  import './ysPlayer.vue.mjs';
7
- import './errorPage.vue.mjs';
8
8
  import './yunzhiyanPlayer.vue.mjs';
9
9
  import _sfc_main$1 from './yunzhiyanPlayer.vue2.mjs';
10
10
  import _sfc_main$2 from './ysPlayer.vue2.mjs';
@@ -140,9 +140,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
140
140
  createCommentVNode(" \u9519\u8BEF\u72B6\u6001\u663E\u793A "),
141
141
  errorState.value ? (openBlock(), createBlock(_sfc_main$5, {
142
142
  key: 0,
143
- videoName: _ctx.areaName || _ctx.deviceSerial,
143
+ "video-name": _ctx.areaName || _ctx.deviceSerial,
144
144
  message: errorState.value.message
145
- }, null, 8, ["videoName", "message"])) : shouldShowPlayer.value ? (openBlock(), createElementBlock(
145
+ }, null, 8, ["video-name", "message"])) : shouldShowPlayer.value ? (openBlock(), createElementBlock(
146
146
  Fragment,
147
147
  { key: 1 },
148
148
  [
@@ -166,9 +166,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
166
166
  [
167
167
  createCommentVNode(" \u65E0\u53EF\u7528\u64AD\u653E\u5668 "),
168
168
  createVNode(_sfc_main$5, {
169
- videoName: _ctx.areaName || _ctx.deviceSerial,
169
+ "video-name": _ctx.areaName || _ctx.deviceSerial,
170
170
  message: "\u65E0\u4FE1\u53F7"
171
- }, null, 8, ["videoName"])
171
+ }, null, 8, ["video-name"])
172
172
  ],
173
173
  2112
174
174
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -1 +1 @@
1
- {"version":3,"file":"tzj-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, shallowRef, toRefs, watch } from \"vue\";\nimport { debounce } from \"lodash-es\";\nimport CtyunPlayer from \"./ctyun-player.vue\";\nimport EasyPlayer from \"./easyPlayer.vue\";\n// import XgPlayer from \"./xgplayer.vue\";\nimport {\n getVideoType,\n isSupportedProtocol,\n TzjPlayerProps,\n} from \"./tzj-player\";\nimport YsPlayer from \"./ysPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport YunzhiyanPlayer from \"./yunzhiyanPlayer.vue\";\n\ndefineOptions({\n name: \"ITzjPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst { url, platformTypeName, accessToken } = toRefs(props);\n\nconst compRef = shallowRef();\n\n// 防抖处理组件渲染更新,避免频繁切换播放器类型\nconst updatePlayerComponent = debounce(() => {\n // 强制更新组件,销毁旧实例\n if (compRef.value) {\n compRef.value.destroy?.();\n }\n}, 300);\n\n// 监听URL变化,使用防抖处理\nwatch(\n () => [url.value, platformTypeName.value, accessToken.value],\n ([newUrl, newPlatform, newToken], [oldUrl, oldPlatform, oldToken]) => {\n // 只有当值真正发生变化时才更新\n if (\n newUrl !== oldUrl ||\n newPlatform !== oldPlatform ||\n newToken !== oldToken\n ) {\n // 更新播放器组件\n updatePlayerComponent();\n }\n },\n);\n\n/**\n * 平台类型映射表,提升可维护性\n */\nconst PLATFORM_COMPONENTS = {\n 云智眼: YunzhiyanPlayer,\n 萤石云: YsPlayer,\n 天翼云: CtyunPlayer,\n // hls: XgPlayer,\n} as const;\n\n/**\n * 计算当前播放器组件类型\n * 使用计算属性避免重复计算,提升性能\n */\nconst playerComponent = computed(() => {\n // 优先使用指定的平台类型\n if (platformTypeName.value) {\n return (\n PLATFORM_COMPONENTS[\n platformTypeName.value as keyof typeof PLATFORM_COMPONENTS\n ] || EasyPlayer\n );\n }\n\n // 未指定平台类型时,根据URL自动判断\n if (!url.value) {\n return null;\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return null;\n }\n\n // ezopen协议使用萤石云播放器\n if (url.value.includes(\"ezopen\")) {\n return YsPlayer;\n }\n\n // 根据视频类型选择播放器\n const videoType = getVideoType(url.value);\n return videoType ? EasyPlayer : null;\n});\n\n/**\n * 计算错误状态信息\n * 统一错误状态管理,提升用户体验\n */\nconst errorState = computed(() => {\n // 云智眼平台不需要URL\n if (\n platformTypeName.value === \"云智眼\" ||\n platformTypeName.value === \"天翼云\"\n ) {\n return null;\n }\n\n // 检查URL是否存在\n if (!url.value) {\n return {\n type: \"no-url\",\n message: \"无视频地址\",\n };\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return {\n type: \"unsupported-protocol\",\n message: \"不支持该视频协议\",\n };\n }\n\n // 萤石云平台需要accessToken\n if (\n (platformTypeName.value === \"萤石云\" || url.value.includes(\"ezopen\")) &&\n !accessToken.value\n ) {\n return {\n type: \"no-token\",\n message: \"缺少访问令牌\",\n };\n }\n\n return null;\n});\n\n/**\n * 计算是否显示播放器组件\n */\nconst shouldShowPlayer = computed(() => {\n return !errorState.value && playerComponent.value;\n});\n\n/**\n * 暴露的方法,增加错误处理\n */\ndefineExpose({\n /**\n * 播放视频\n * @param options 播放选项\n */\n play(options?: any) {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.play(options);\n },\n\n /**\n * 销毁播放器\n */\n destroy() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.destroy();\n },\n\n /**\n * 调整播放器尺寸\n */\n resize() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.resize();\n },\n\n /**\n * 获取当前播放器类型\n */\n getPlayerType() {\n return playerComponent.value?.name || null;\n },\n\n /**\n * 获取错误状态\n */\n getErrorState() {\n return errorState.value;\n },\n});\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <!-- 错误状态显示 -->\n <error-page\n :videoName=\"areaName || deviceSerial\"\n :message=\"errorState.message\"\n v-if=\"errorState\"\n />\n\n <!-- 播放器组件 -->\n <component\n :is=\"playerComponent\"\n v-else-if=\"shouldShowPlayer\"\n ref=\"compRef\"\n v-bind=\"props\"\n />\n\n <!-- 无可用播放器 -->\n <error-page :videoName=\"areaName || deviceSerial\" message=\"无信号\" v-else />\n </div>\n</template>\n"],"names":["YunzhiyanPlayer","YsPlayer","CtyunPlayer","EasyPlayer","_openBlock","_createElementBlock","_createCommentVNode","_createBlock","ErrorPage","areaName","deviceSerial","_Fragment","_resolveDynamicComponent","_mergeProps","_createVNode"],"mappings":"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"}
1
+ {"version":3,"file":"tzj-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { debounce } from \"lodash-es\";\nimport { computed, shallowRef, toRefs, watch } from \"vue\";\nimport CtyunPlayer from \"./ctyun-player.vue\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport ErrorPage from \"./errorPage.vue\";\nimport {\n getVideoType,\n isSupportedProtocol,\n TzjPlayerProps,\n} from \"./tzj-player\";\nimport YsPlayer from \"./ysPlayer.vue\";\nimport YunzhiyanPlayer from \"./yunzhiyanPlayer.vue\";\n\ndefineOptions({\n name: \"ITzjPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\nconst { url, platformTypeName, accessToken } = toRefs(props);\n\nconst compRef = shallowRef();\n\n// 防抖处理组件渲染更新,避免频繁切换播放器类型\nconst updatePlayerComponent = debounce(() => {\n // 强制更新组件,销毁旧实例\n if (compRef.value) {\n compRef.value.destroy?.();\n }\n}, 300);\n\n// 监听URL变化,使用防抖处理\nwatch(\n () => [url.value, platformTypeName.value, accessToken.value],\n ([newUrl, newPlatform, newToken], [oldUrl, oldPlatform, oldToken]) => {\n // 只有当值真正发生变化时才更新\n if (\n newUrl !== oldUrl ||\n newPlatform !== oldPlatform ||\n newToken !== oldToken\n ) {\n // 更新播放器组件\n updatePlayerComponent();\n }\n },\n);\n\n/**\n * 平台类型映射表,提升可维护性\n */\nconst PLATFORM_COMPONENTS = {\n 云智眼: YunzhiyanPlayer,\n 萤石云: YsPlayer,\n 天翼云: CtyunPlayer,\n // hls: XgPlayer,\n} as const;\n\n/**\n * 计算当前播放器组件类型\n * 使用计算属性避免重复计算,提升性能\n */\nconst playerComponent = computed(() => {\n // 优先使用指定的平台类型\n if (platformTypeName.value) {\n return (\n PLATFORM_COMPONENTS[\n platformTypeName.value as keyof typeof PLATFORM_COMPONENTS\n ] || EasyPlayer\n );\n }\n\n // 未指定平台类型时,根据URL自动判断\n if (!url.value) {\n return null;\n }\n\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return null;\n }\n\n // ezopen协议使用萤石云播放器\n if (url.value.includes(\"ezopen\")) {\n return YsPlayer;\n }\n\n // 根据视频类型选择播放器\n const videoType = getVideoType(url.value);\n return videoType ? EasyPlayer : null;\n});\n\n/**\n * 计算错误状态信息\n * 统一错误状态管理,提升用户体验\n */\nconst errorState = computed(() => {\n // 云智眼平台不需要URL\n if (\n platformTypeName.value === \"云智眼\" ||\n platformTypeName.value === \"天翼云\"\n ) {\n return null;\n }\n\n // 检查URL是否存在\n if (!url.value) {\n return {\n type: \"no-url\",\n message: \"无视频地址\",\n };\n }\n // 检查协议支持性\n if (!isSupportedProtocol(url.value)) {\n return {\n type: \"unsupported-protocol\",\n message: \"不支持该视频协议\",\n };\n }\n\n // 萤石云平台需要accessToken\n if (\n (platformTypeName.value === \"萤石云\" || url.value.includes(\"ezopen\")) &&\n !accessToken.value\n ) {\n return {\n type: \"no-token\",\n message: \"缺少访问令牌\",\n };\n }\n\n return null;\n});\n\n/**\n * 计算是否显示播放器组件\n */\nconst shouldShowPlayer = computed(() => {\n return !errorState.value && playerComponent.value;\n});\n\n/**\n * 暴露的方法,增加错误处理\n */\ndefineExpose({\n /**\n * 播放视频\n * @param options 播放选项\n */\n play(options?: any) {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.play(options);\n },\n\n /**\n * 销毁播放器\n */\n destroy() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.destroy();\n },\n\n /**\n * 调整播放器尺寸\n */\n resize() {\n if (!compRef.value) {\n props.debug && console.warn(\"[TzjPlayer] 播放器组件未初始化\");\n return;\n }\n compRef.value?.resize();\n },\n\n /**\n * 获取当前播放器类型\n */\n getPlayerType() {\n return playerComponent.value?.name || null;\n },\n\n /**\n * 获取错误状态\n */\n getErrorState() {\n return errorState.value;\n },\n});\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <!-- 错误状态显示 -->\n <ErrorPage\n v-if=\"errorState\"\n :video-name=\"areaName || deviceSerial\"\n :message=\"errorState.message\"\n />\n\n <!-- 播放器组件 -->\n <component\n :is=\"playerComponent\"\n v-else-if=\"shouldShowPlayer\"\n ref=\"compRef\"\n v-bind=\"props\"\n />\n\n <!-- 无可用播放器 -->\n <ErrorPage v-else :video-name=\"areaName || deviceSerial\" message=\"无信号\" />\n </div>\n</template>\n"],"names":["YunzhiyanPlayer","YsPlayer","CtyunPlayer","EasyPlayer","_openBlock","_createElementBlock","_createCommentVNode","_createBlock","ErrorPage","areaName","deviceSerial","_Fragment","_resolveDynamicComponent","_mergeProps","_createVNode"],"mappings":"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"}
@@ -57,7 +57,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
57
57
  onTimeout?: ((...args: any[]) => any) | undefined;
58
58
  onMute?: ((...args: any[]) => any) | undefined;
59
59
  }> & {}>;
60
- emits: (event: "error" | "play" | "pause" | "videoInfo" | "timeout" | "mute", ...args: any[]) => void;
60
+ isH265Supported: import("vue").Ref<boolean, boolean>;
61
+ showBrowserTip: import("vue").Ref<boolean, boolean>;
62
+ isH265Video: import("vue").Ref<boolean, boolean>;
63
+ checkIsH265Video: (url: string) => boolean;
64
+ checkH265Support: () => any;
61
65
  setCamera: () => void;
62
66
  }, {}, {}, {}, 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<{
63
67
  url: {
@@ -1,4 +1,4 @@
1
- import { defineComponent, onMounted, openBlock, createElementBlock, createCommentVNode, createElementVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, ref, onMounted, openBlock, createElementBlock, createCommentVNode, createElementVNode, toDisplayString } from 'vue';
2
2
  import { TzjPlayerProps } from './tzj-player.mjs';
3
3
 
4
4
  var __defProp = Object.defineProperty;
@@ -8,24 +8,72 @@ const _hoisted_2 = {
8
8
  key: 0,
9
9
  class: "i-tzj-xgplayer__top"
10
10
  };
11
+ const _hoisted_3 = {
12
+ key: 1,
13
+ class: "i-tzj-xgplayer__browser-tip"
14
+ };
15
+ const _hoisted_4 = {
16
+ key: 2,
17
+ id: "xgplayerId",
18
+ style: { "flex": "1", "height": "0", "width": "100%" }
19
+ };
11
20
  var _sfc_main = /* @__PURE__ */ defineComponent({
12
21
  ...{
13
- name: "xgplayer1"
22
+ name: "Xgplayer1"
14
23
  },
15
24
  __name: "xgplayer",
16
25
  props: TzjPlayerProps,
17
- emits: [
18
- "timeout",
19
- "error",
20
- "play",
21
- "pause",
22
- "mute",
23
- "videoInfo"
24
- ],
25
- setup(__props, { emit: __emit }) {
26
+ emits: ["timeout", "error", "play", "pause", "mute", "videoInfo"],
27
+ setup(__props) {
26
28
  const props = __props;
27
- const emits = __emit;
29
+ const isH265Supported = ref(true);
30
+ const showBrowserTip = ref(false);
31
+ const isH265Video = ref(false);
32
+ function checkIsH265Video(url) {
33
+ if (!url) return false;
34
+ const urlLower = url.toLowerCase();
35
+ if (urlLower.includes("h265") || urlLower.includes("hevc")) {
36
+ return true;
37
+ }
38
+ if (urlLower.includes(".m3u8")) {
39
+ return true;
40
+ }
41
+ return false;
42
+ }
43
+ __name(checkIsH265Video, "checkIsH265Video");
44
+ function checkH265Support() {
45
+ var _a;
46
+ if (typeof ((_a = window.Player) == null ? void 0 : _a.isHevcSupported) === "function") {
47
+ try {
48
+ return window.Player.isHevcSupported();
49
+ } catch (e) {
50
+ console.error("\u68C0\u6D4B H265 \u652F\u6301\u5931\u8D25:", e);
51
+ return false;
52
+ }
53
+ }
54
+ if (typeof MediaSource !== "undefined") {
55
+ const mediaSource = new MediaSource();
56
+ try {
57
+ return mediaSource.isTypeSupported('video/mp4; codecs="hvc1.1.6.L123"');
58
+ } catch (e) {
59
+ return false;
60
+ }
61
+ }
62
+ return false;
63
+ }
64
+ __name(checkH265Support, "checkH265Support");
28
65
  function setCamera() {
66
+ isH265Video.value = checkIsH265Video(props.url);
67
+ console.log("\u662F\u5426\u4E3A H265 \u89C6\u9891:", isH265Video.value);
68
+ if (isH265Video.value) {
69
+ isH265Supported.value = checkH265Support();
70
+ console.log("H265 \u652F\u6301\u72B6\u6001:", isH265Supported.value);
71
+ if (!isH265Supported.value) {
72
+ showBrowserTip.value = true;
73
+ console.log("H265 \u89C6\u9891\u4F46\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\uFF0C\u663E\u793A\u63D0\u793A");
74
+ return;
75
+ }
76
+ }
29
77
  const config = {
30
78
  id: "xgplayerId",
31
79
  url: props.url,
@@ -60,7 +108,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
60
108
  }
61
109
  };
62
110
  if (window == null ? void 0 : window.Player) {
63
- new window.Player(config);
111
+ const player = new window.Player(config);
112
+ window.__tzjPlayerInstance = player;
64
113
  }
65
114
  }
66
115
  __name(setCamera, "setCamera");
@@ -86,16 +135,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
86
135
  /* TEXT */
87
136
  )
88
137
  ])) : createCommentVNode("v-if", true),
89
- _cache[1] || (_cache[1] = createElementVNode(
90
- "div",
91
- {
92
- id: "xgplayerId",
93
- style: { "flex": "1", "height": "0", "width": "100%" }
94
- },
95
- null,
96
- -1
97
- /* CACHED */
98
- ))
138
+ showBrowserTip.value ? (openBlock(), createElementBlock("div", _hoisted_3, _cache[1] || (_cache[1] = [
139
+ createElementVNode(
140
+ "div",
141
+ { class: "browser-tip-content" },
142
+ [
143
+ createElementVNode("i", {
144
+ class: "iconfont icon-tishi",
145
+ style: { "color": "#ff9800", "margin-right": "8px" }
146
+ }),
147
+ createElementVNode("span", null, "\u5F53\u524D\u89C6\u9891\u4E3A H265 \u7F16\u7801\uFF0C\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301 H265 \u64AD\u653E\uFF0C\u8BF7\u4F7F\u7528 Chrome \u6D4F\u89C8\u5668\u89C2\u770B")
148
+ ],
149
+ -1
150
+ /* CACHED */
151
+ )
152
+ ]))) : (openBlock(), createElementBlock("div", _hoisted_4))
99
153
  ]);
100
154
  };
101
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xgplayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/xgplayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted } from \"vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\n\ndefineOptions({\n name: \"xgplayer1\",\n});\nconst props = defineProps(TzjPlayerProps);\nconst emits = defineEmits([\n \"timeout\",\n \"error\",\n \"play\",\n \"pause\",\n \"mute\",\n \"videoInfo\",\n]);\nfunction setCamera() {\n const config = {\n id: \"xgplayerId\",\n url: props.url,\n playsinline: true,\n plugins: [window.HlsPlayer],\n isLive: true,\n autoplayMuted: true,\n autoplay: true,\n playbackRate: [null],\n // Edge特定优化\n videoAttributes: {\n playsInline: true,\n crossOrigin: \"anonymous\",\n },\n live: {\n alwaysLive: true, // 保持直播状态,避免切换为点播\n minCacheTime: 1,\n maxCacheTime: 3,\n },\n // Edge特有优化\n customPlayback: false, // 禁用可能冲突的自定义播放逻辑\n ignoreMutedError: true, // 忽略静音状态错误\n edgeCompat: true, // 西瓜播放器Edge兼容模式(v3.0+支持)\n mediaDataSource: {\n cors: true,\n withCredentials: false, // 避免跨域凭证问题\n },\n };\n if (window?.Player) {\n new window.Player(config);\n }\n}\nonMounted(() => {\n setCamera();\n});\n</script>\n\n<template>\n <div class=\"i-tzj-xgplayer\">\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-xgplayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <div id=\"xgplayerId\" style=\"flex: 1; height: 0; width: 100%\"></div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_createCommentVNode","areaName","deviceSerial","_createElementVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAQd,IAAA,SAAS,SAAY,GAAA;AACnB,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,EAAI,EAAA,YAAA;AAAA,QACJ,KAAK,KAAM,CAAA,GAAA;AAAA,QACX,WAAa,EAAA,IAAA;AAAA,QACb,OAAA,EAAS,CAAC,MAAA,CAAO,SAAS,CAAA;AAAA,QAC1B,MAAQ,EAAA,IAAA;AAAA,QACR,aAAe,EAAA,IAAA;AAAA,QACf,QAAU,EAAA,IAAA;AAAA,QACV,YAAA,EAAc,CAAC,IAAI,CAAA;AAAA;AAAA,QAEnB,eAAiB,EAAA;AAAA,UACf,WAAa,EAAA,IAAA;AAAA,UACb,WAAa,EAAA;AAAA,SACf;AAAA,QACA,IAAM,EAAA;AAAA,UACJ,UAAY,EAAA,IAAA;AAAA;AAAA,UACZ,YAAc,EAAA,CAAA;AAAA,UACd,YAAc,EAAA;AAAA,SAChB;AAAA;AAAA,QAEA,cAAgB,EAAA,KAAA;AAAA;AAAA,QAChB,gBAAkB,EAAA,IAAA;AAAA;AAAA,QAClB,UAAY,EAAA,IAAA;AAAA;AAAA,QACZ,eAAiB,EAAA;AAAA,UACf,IAAM,EAAA,IAAA;AAAA,UACN,eAAiB,EAAA;AAAA;AAAA;AACnB,OACF;AACA,MAAA,IAAI,iCAAQ,MAAQ,EAAA;AAClB,QAAI,IAAA,MAAA,CAAO,OAAO,MAAM,CAAA;AAAA;AAC1B;AA/BO,IAAA,MAAA,CAAA,SAAA,EAAA,WAAA,CAAA;AAiCT,IAAA,SAAA,CAAU,MAAM;AACd,MAAU,SAAA,EAAA;AAAA,KACX,CAAA;;AAIC,MAAA,OAAAA,SAAA,EAAA,EAAAC,kBAOM,CAAA,KAAA,EAPN,UAOM,EAAA;AAAA,QANJC,mBAAwB,oFAAA,CAAA;AAAA,QACbC,IAAAA,CAAAA,YAAYC,IAAY,CAAA,YAAA,IAAnCJ,WAAA,EAAAC,kBAAA,CAGM,OAHN,UAGM,EAAA;AAAA,iCAFJ,GAAAI,kBAAA;AAAA,YAAwC,GAAA;AAAA,YAAA,EAArC,OAAM,4BAA4B,EAAA;AAAA,YAAA,IAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA,CAAA;AAAA,UACrCA,kBAAA;AAAA,YAA2C,MAAA;AAAA,YAAA,IAAA;AAAA,YAAAC,eAAlCH,CAAAA,IAAAA,CAAQ,QAAIC,IAAAA,IAAAA,CAAY,YAAA,CAAA;AAAA,YAAA;AAAA;AAAA;AAAA;+BAEnC,GAAAC,kBAAA;AAAA,UAAmE,KAAA;AAAA,UAAA;AAAA,YAA9D,EAAG,EAAA,YAAA;AAAA,YAAa,OAAA,EAAuC,MAAA,EAAA,KAAA,QAAA,EAAA,GAAA,EAAA,SAAA,MAAA;AAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"xgplayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/xgplayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref } from \"vue\";\nimport { TzjPlayerProps } from \"./tzj-player\";\n\ndefineOptions({\n name: \"Xgplayer1\",\n});\nconst props = defineProps(TzjPlayerProps);\ndefineEmits([\"timeout\", \"error\", \"play\", \"pause\", \"mute\", \"videoInfo\"]);\n\nconst isH265Supported = ref(true);\nconst showBrowserTip = ref(false);\nconst isH265Video = ref(false);\n\n// 检测是否为 H265 视频(通过 URL 或视频类型判断)\nfunction checkIsH265Video(url: string): boolean {\n if (!url) return false;\n\n // 通过 URL 路径判断\n const urlLower = url.toLowerCase();\n if (urlLower.includes(\"h265\") || urlLower.includes(\"hevc\")) {\n return true;\n }\n\n // HLS m3u8 文件需要进一步检测\n if (urlLower.includes(\".m3u8\")) {\n // 如果 URL 明确标识为 h265,返回 true\n return true;\n }\n\n return false;\n}\n\n// 检测是否支持 H265 编码\nfunction checkH265Support() {\n if (typeof window.Player?.isHevcSupported === \"function\") {\n try {\n return window.Player.isHevcSupported();\n } catch (e) {\n console.error(\"检测 H265 支持失败:\", e);\n return false;\n }\n }\n // 备用检测方法\n if (typeof MediaSource !== \"undefined\") {\n const mediaSource: any = new MediaSource();\n try {\n return mediaSource.isTypeSupported('video/mp4; codecs=\"hvc1.1.6.L123\"');\n } catch (e) {\n return false;\n }\n }\n return false;\n}\n\nfunction setCamera() {\n // 先判断是否为 H265 视频\n isH265Video.value = checkIsH265Video(props.url);\n console.log(\"是否为 H265 视频:\", isH265Video.value);\n\n // 如果是 H265 视频,才检测浏览器支持\n if (isH265Video.value) {\n isH265Supported.value = checkH265Support();\n console.log(\"H265 支持状态:\", isH265Supported.value);\n\n if (!isH265Supported.value) {\n showBrowserTip.value = true;\n console.log(\"H265 视频但浏览器不支持,显示提示\");\n return;\n }\n }\n\n const config = {\n id: \"xgplayerId\",\n url: props.url,\n playsinline: true,\n plugins: [window.HlsPlayer],\n isLive: true,\n autoplayMuted: true,\n autoplay: true,\n playbackRate: [null],\n // Edge特定优化\n videoAttributes: {\n playsInline: true,\n crossOrigin: \"anonymous\",\n },\n live: {\n alwaysLive: true, // 保持直播状态,避免切换为点播\n minCacheTime: 1,\n maxCacheTime: 3,\n },\n // Edge特有优化\n customPlayback: false, // 禁用可能冲突的自定义播放逻辑\n ignoreMutedError: true, // 忽略静音状态错误\n edgeCompat: true, // 西瓜播放器Edge兼容模式(v3.0+支持)\n mediaDataSource: {\n cors: true,\n withCredentials: false, // 避免跨域凭证问题\n },\n };\n\n if (window?.Player) {\n const player = new window.Player(config);\n // 将player实例存储到组件中,避免new表达式被识别为纯副作用\n (window as any).__tzjPlayerInstance = player;\n }\n}\nonMounted(() => {\n setCamera();\n});\n</script>\n\n<template>\n <div class=\"i-tzj-xgplayer\">\n <!-- 播放器顶部显示区域(设备)名称 -->\n <div v-if=\"areaName || deviceSerial\" class=\"i-tzj-xgplayer__top\">\n <i class=\"iconfont icon-shexiangtou4\" />\n <span>{{ areaName || deviceSerial }}</span>\n </div>\n <div v-if=\"showBrowserTip\" class=\"i-tzj-xgplayer__browser-tip\">\n <div class=\"browser-tip-content\">\n <i\n class=\"iconfont icon-tishi\"\n style=\"color: #ff9800; margin-right: 8px\"\n />\n <span\n >当前视频为 H265 编码,当前浏览器不支持 H265 播放,请使用 Chrome\n 浏览器观看</span\n >\n </div>\n </div>\n <div v-else id=\"xgplayerId\" style=\"flex: 1; height: 0; width: 100%\" />\n </div>\n</template>\n\n<style scoped></style>\n"],"names":["_openBlock","_createElementBlock","_createCommentVNode","areaName","deviceSerial","_createElementVNode","_toDisplayString"],"mappings":"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"}
@@ -1435,6 +1435,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1435
1435
  videoInfo: import("vue").Ref<any, any>;
1436
1436
  realFullscreen: import("vue").Ref<boolean, boolean>;
1437
1437
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
1438
+ waitTimer: number | null;
1439
+ isUnmounted: boolean;
1438
1440
  play: (url?: string) => void;
1439
1441
  playerPause: () => void;
1440
1442
  playerScreenShot: () => void;
package/es/installer.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { App } from 'vue';
1
+ import type { App } from "vue";
2
2
  export declare const install: (app: App, _options?: any) => void;
3
3
  declare const _default: {
4
4
  install: (app: App, _options?: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"installer.mjs","sources":["../../../../packages/installer.ts"],"sourcesContent":["import type { App, Plugin } from 'vue';\n\nimport {\n ICheckbox,\n IDatePicker,\n IDescriptionItem,\n IDescriptions,\n IDialog,\n IDivider,\n IDrawer,\n IForm,\n IIconSelect,\n IImageVerification,\n ILink,\n ILivePlayer,\n IPageHeader,\n IRadio,\n ISearch,\n ISegmented,\n ISelect,\n ISplitPane,\n ITable,\n ITenantEnterprise,\n ITextButton,\n ITextButtonGroup,\n ITzjPlayer,\n} from './components';\n\nconst component = [\n IForm,\n ISelect,\n IRadio,\n ICheckbox,\n IDivider,\n IDrawer,\n IIconSelect,\n IImageVerification,\n ITextButton,\n ITextButtonGroup,\n IPageHeader,\n ISearch,\n ITable,\n ISplitPane,\n ITenantEnterprise,\n ISegmented,\n IDescriptions,\n IDescriptionItem,\n ILivePlayer,\n IDialog,\n ILink,\n ITzjPlayer,\n IDatePicker,\n] as Plugin[];\n\nexport const install = function (app: App, _options?: any) {\n component.forEach(i => app.use(i, _options));\n};\n\nexport default {\n install,\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,SAAY,GAAA;AAAA,EAChB,KAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA;AAEa,MAAA,OAAA,mBAAoB,MAAA,CAAA,SAAA,GAAA,EAAU,QAAgB,EAAA;AACzD,EAAA,SAAA,CAAU,QAAQ,CAAK,CAAA,KAAA,GAAA,CAAI,GAAI,CAAA,CAAA,EAAG,QAAQ,CAAC,CAAA;AAC7C,CAFuB,EAAA,SAAA;AAIvB,gBAAe;AAAA,EACb;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"installer.mjs","sources":["../../../../packages/installer.ts"],"sourcesContent":["import type { App, Plugin } from \"vue\";\n\nimport {\n ICheckbox,\n IDatePicker,\n IDescriptionItem,\n IDescriptions,\n IDialog,\n IDivider,\n IDrawer,\n IForm,\n IIconSelect,\n IImageVerification,\n ILink,\n ILivePlayer,\n IPageHeader,\n IRadio,\n ISearch,\n ISegmented,\n ISelect,\n ISplitPane,\n ITable,\n ITenantEnterprise,\n ITextButton,\n ITextButtonGroup,\n ITzjPlayer,\n} from \"./components\";\n\nconst component = [\n IForm,\n ISelect,\n IRadio,\n ICheckbox,\n IDivider,\n IDrawer,\n IIconSelect,\n IImageVerification,\n ITextButton,\n ITextButtonGroup,\n IPageHeader,\n ISearch,\n ITable,\n ISplitPane,\n ITenantEnterprise,\n ISegmented,\n IDescriptions,\n IDescriptionItem,\n ILivePlayer,\n IDialog,\n ILink,\n ITzjPlayer,\n IDatePicker,\n] as Plugin[];\n\nexport const install = function (app: App, _options?: any) {\n component.forEach((i) => app.use(i, _options));\n};\n\nexport default {\n install,\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,SAAY,GAAA;AAAA,EAChB,KAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,kBAAA;AAAA,EACA,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA;AAEa,MAAA,OAAA,mBAAoB,MAAA,CAAA,SAAA,GAAA,EAAU,QAAgB,EAAA;AACzD,EAAA,SAAA,CAAU,QAAQ,CAAC,CAAA,KAAM,IAAI,GAAI,CAAA,CAAA,EAAG,QAAQ,CAAC,CAAA;AAC/C,CAFuB,EAAA,SAAA;AAIvB,gBAAe;AAAA,EACb;AACF,CAAA;;;;"}
@@ -1494,6 +1494,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
1494
1494
  videoInfo: import("vue").Ref<any, any>;
1495
1495
  realFullscreen: import("vue").Ref<boolean, boolean>;
1496
1496
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
1497
+ waitTimer: number | null;
1498
+ isUnmounted: boolean;
1497
1499
  play: (url?: string) => void;
1498
1500
  playerPause: () => void;
1499
1501
  playerScreenShot: () => void;
@@ -3198,6 +3200,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3198
3200
  videoInfo: import("vue").Ref<any, any>;
3199
3201
  realFullscreen: import("vue").Ref<boolean, boolean>;
3200
3202
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
3203
+ waitTimer: number | null;
3204
+ isUnmounted: boolean;
3201
3205
  play: (url?: string) => void;
3202
3206
  playerPause: () => void;
3203
3207
  playerScreenShot: () => void;
@@ -3421,6 +3425,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
3421
3425
  videoInfo: import("vue").Ref<any, any>;
3422
3426
  realFullscreen: import("vue").Ref<boolean, boolean>;
3423
3427
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
3428
+ waitTimer: number | null;
3429
+ isUnmounted: boolean;
3424
3430
  play: (url?: string) => void;
3425
3431
  playerPause: () => void;
3426
3432
  playerScreenShot: () => void;
@@ -4940,6 +4946,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
4940
4946
  videoInfo: import("vue").Ref<any, any>;
4941
4947
  realFullscreen: import("vue").Ref<boolean, boolean>;
4942
4948
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
4949
+ waitTimer: number | null;
4950
+ isUnmounted: boolean;
4943
4951
  play: (url?: string) => void;
4944
4952
  playerPause: () => void;
4945
4953
  playerScreenShot: () => void;
@@ -6642,6 +6650,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
6642
6650
  videoInfo: import("vue").Ref<any, any>;
6643
6651
  realFullscreen: import("vue").Ref<boolean, boolean>;
6644
6652
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
6653
+ waitTimer: number | null;
6654
+ isUnmounted: boolean;
6645
6655
  play: (url?: string) => void;
6646
6656
  playerPause: () => void;
6647
6657
  playerScreenShot: () => void;
@@ -6868,6 +6878,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
6868
6878
  videoInfo: import("vue").Ref<any, any>;
6869
6879
  realFullscreen: import("vue").Ref<boolean, boolean>;
6870
6880
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
6881
+ waitTimer: number | null;
6882
+ isUnmounted: boolean;
6871
6883
  play: (url?: string) => void;
6872
6884
  playerPause: () => void;
6873
6885
  playerScreenShot: () => void;
@@ -8387,6 +8399,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
8387
8399
  videoInfo: import("vue").Ref<any, any>;
8388
8400
  realFullscreen: import("vue").Ref<boolean, boolean>;
8389
8401
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
8402
+ waitTimer: number | null;
8403
+ isUnmounted: boolean;
8390
8404
  play: (url?: string) => void;
8391
8405
  playerPause: () => void;
8392
8406
  playerScreenShot: () => void;
@@ -10089,6 +10103,8 @@ export declare const ITzjPlayer: import("../../types").SFCWithInstall<import("vu
10089
10103
  videoInfo: import("vue").Ref<any, any>;
10090
10104
  realFullscreen: import("vue").Ref<boolean, boolean>;
10091
10105
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
10106
+ waitTimer: number | null;
10107
+ isUnmounted: boolean;
10092
10108
  play: (url?: string) => void;
10093
10109
  playerPause: () => void;
10094
10110
  playerScreenShot: () => void;
@@ -1435,6 +1435,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1435
1435
  videoInfo: import("vue").Ref<any, any>;
1436
1436
  realFullscreen: import("vue").Ref<boolean, boolean>;
1437
1437
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
1438
+ waitTimer: number | null;
1439
+ isUnmounted: boolean;
1438
1440
  play: (url?: string) => void;
1439
1441
  playerPause: () => void;
1440
1442
  playerScreenShot: () => void;
@@ -71,6 +71,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
71
71
  videoInfo: import("vue").Ref<any, any>;
72
72
  realFullscreen: import("vue").Ref<boolean, boolean>;
73
73
  eventHandlers: import("vue").Ref<Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>, Map<string, Function> | (Map<string, Function> & Omit<Map<string, Function>, keyof Map<any, any>>)>;
74
+ waitTimer: number | null;
75
+ isUnmounted: boolean;
74
76
  play: (url?: string) => void;
75
77
  playerPause: () => void;
76
78
  playerScreenShot: () => void;