hy-dispatch-ui-v3 0.1.6 → 0.2.1

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 (160) hide show
  1. package/README.md +47 -0
  2. package/dist/tailwind.css +349 -4
  3. package/es/components/appAudioPlayer/appAudioPlayer.vue.mjs +462 -0
  4. package/es/components/appAudioPlayer/index.mjs +6 -0
  5. package/es/components/appAudioPlayer/js/index.mjs +327 -0
  6. package/es/components/appAudioPlayer/style/appAudioPlayer.scss +319 -0
  7. package/es/components/appButton/style/appButton.scss +0 -1
  8. package/es/components/appConfigProvider/appConfigProvider.vue.mjs +22 -1
  9. package/es/components/appCutter/appCutter.vue.mjs +202 -129
  10. package/es/components/appDatePicker/appDatePicker.vue.mjs +1 -1
  11. package/es/components/appForm/appForm.vue.mjs +132 -209
  12. package/es/components/appForm/cpns/appFormItem.vue.mjs +312 -0
  13. package/es/components/appForm/cpns/arrayItem.vue.mjs +305 -0
  14. package/es/components/appForm/cpns/extraItem.vue.mjs +140 -0
  15. package/es/components/appForm/js/index.mjs +46 -24
  16. package/es/components/appForm/js/useAppForm.mjs +30 -6
  17. package/es/components/appForm/style/appForm.scss +53 -0
  18. package/es/components/appIcon/appIcon.vue.mjs +0 -1
  19. package/es/components/appIconBox/style/appIconBox.scss +0 -1
  20. package/es/components/appInput/appInput.vue.mjs +99 -0
  21. package/es/components/appInput/index.mjs +6 -0
  22. package/es/components/appMenu/appMenu.vue.mjs +129 -0
  23. package/es/components/appMenu/index.mjs +6 -0
  24. package/es/components/appMenu/style/appMenu.scss +145 -0
  25. package/es/components/appOrgCascader/appOrgCascader.vue.mjs +14 -10
  26. package/es/components/appSearch/appSearch.vue.mjs +55 -211
  27. package/es/components/appSearch/cpns/appSearchItem.vue.mjs +238 -0
  28. package/es/components/appSearch/js/index.mjs +20 -8
  29. package/es/components/appSearch/js/useAppSearch.mjs +10 -5
  30. package/es/components/appSearch/style/appSearch.scss +10 -0
  31. package/es/components/appTable/appTable.vue.mjs +312 -158
  32. package/es/components/appTable/cpns/columnSelect.vue.mjs +151 -156
  33. package/es/components/appTable/cpns/columnSelectItem.vue2.mjs +104 -110
  34. package/es/components/appTable/cpns/headerItem.vue.mjs +98 -0
  35. package/es/components/appTable/cpns/virtualTable.vue.mjs +560 -0
  36. package/es/components/appTable/js/index.mjs +46 -20
  37. package/es/components/appTable/js/search.mjs +1 -2
  38. package/es/components/appTable/js/useAppTable.mjs +58 -14
  39. package/es/components/appTable/style/appTable.scss +16 -0
  40. package/es/components/appTooltip/appTooltip.vue.mjs +24 -13
  41. package/es/components/appTree/appTree.vue.mjs +304 -0
  42. package/es/components/appTree/index.mjs +6 -0
  43. package/es/components/appTree/js/index.mjs +531 -0
  44. package/es/components/appUserAvatar/appUserAvatar.vue.mjs +9 -8
  45. package/es/components/appUserAvatar/style/appUserAvatar.scss +0 -1
  46. package/es/components/appVideoPlayer/appVideoPlayer.vue.mjs +645 -0
  47. package/es/components/appVideoPlayer/cpns/mediaLoading.vue.mjs +35 -0
  48. package/es/components/appVideoPlayer/index.mjs +6 -0
  49. package/es/components/appVideoPlayer/js/index.mjs +426 -0
  50. package/es/components/appVideoPlayer/style/appVideoPlayer.scss +275 -0
  51. package/es/components/appVideoPlayer/style/mediaLoading.scss +62 -0
  52. package/es/components/index.mjs +5 -0
  53. package/es/hooks/index.mjs +3 -0
  54. package/es/hooks/useApi.mjs +4 -4
  55. package/es/hooks/useAudioPlayerConfig.mjs +12 -0
  56. package/es/hooks/useGlobalConfig.mjs +18 -7
  57. package/es/hooks/useLocale.mjs +3 -11
  58. package/es/hooks/useMixins.mjs +1 -1
  59. package/es/hooks/usePermissionMap.mjs +12 -0
  60. package/es/hooks/useUserAvatarMap.mjs +2 -3
  61. package/es/hooks/useVideoPlayerConfig.mjs +12 -0
  62. package/es/index.mjs +13 -4
  63. package/es/locale/en.mjs +52 -3
  64. package/es/locale/zh_CN.mjs +48 -3
  65. package/es/make-installer.mjs +2 -0
  66. package/es/static/hy-svg-icons.js +462 -0
  67. package/es/static/index.js +2 -0
  68. package/es/static/protocolcheck.js +247 -0
  69. package/es/style/element/element.scss +9 -0
  70. package/es/style/element/index.scss +6 -3
  71. package/es/style/index.scss +11 -0
  72. package/es/style/theme.scss +73 -0
  73. package/es/utils/date.mjs +25 -1
  74. package/es/utils/file.mjs +5 -4
  75. package/es/utils/form.mjs +52 -0
  76. package/es/utils/handler.mjs +22 -2
  77. package/es/utils/index.mjs +5 -4
  78. package/es/utils/is.mjs +23 -2
  79. package/es/version.mjs +1 -1
  80. package/lib/components/appAudioPlayer/appAudioPlayer.vue.js +466 -0
  81. package/lib/components/appAudioPlayer/index.js +11 -0
  82. package/lib/components/appAudioPlayer/js/index.js +329 -0
  83. package/lib/components/appAudioPlayer/style/appAudioPlayer.scss +319 -0
  84. package/lib/components/appButton/style/appButton.scss +0 -1
  85. package/lib/components/appConfigProvider/appConfigProvider.vue.js +22 -1
  86. package/lib/components/appCutter/appCutter.vue.js +201 -128
  87. package/lib/components/appDatePicker/appDatePicker.vue.js +1 -1
  88. package/lib/components/appForm/appForm.vue.js +129 -206
  89. package/lib/components/appForm/cpns/appFormItem.vue.js +316 -0
  90. package/lib/components/appForm/cpns/arrayItem.vue.js +309 -0
  91. package/lib/components/appForm/cpns/extraItem.vue.js +144 -0
  92. package/lib/components/appForm/js/index.js +48 -23
  93. package/lib/components/appForm/js/useAppForm.js +30 -6
  94. package/lib/components/appForm/style/appForm.scss +53 -0
  95. package/lib/components/appIcon/appIcon.vue.js +0 -1
  96. package/lib/components/appIconBox/style/appIconBox.scss +0 -1
  97. package/lib/components/appInput/appInput.vue.js +103 -0
  98. package/lib/components/appInput/index.js +11 -0
  99. package/lib/components/appMenu/appMenu.vue.js +133 -0
  100. package/lib/components/appMenu/index.js +11 -0
  101. package/lib/components/appMenu/style/appMenu.scss +145 -0
  102. package/lib/components/appOrgCascader/appOrgCascader.vue.js +14 -10
  103. package/lib/components/appSearch/appSearch.vue.js +51 -207
  104. package/lib/components/appSearch/cpns/appSearchItem.vue.js +242 -0
  105. package/lib/components/appSearch/js/index.js +20 -7
  106. package/lib/components/appSearch/js/useAppSearch.js +10 -5
  107. package/lib/components/appSearch/style/appSearch.scss +10 -0
  108. package/lib/components/appTable/appTable.vue.js +319 -165
  109. package/lib/components/appTable/cpns/columnSelect.vue.js +151 -156
  110. package/lib/components/appTable/cpns/columnSelectItem.vue2.js +105 -111
  111. package/lib/components/appTable/cpns/headerItem.vue.js +102 -0
  112. package/lib/components/appTable/cpns/virtualTable.vue.js +564 -0
  113. package/lib/components/appTable/js/index.js +47 -19
  114. package/lib/components/appTable/js/search.js +1 -2
  115. package/lib/components/appTable/js/useAppTable.js +57 -13
  116. package/lib/components/appTable/style/appTable.scss +16 -0
  117. package/lib/components/appTooltip/appTooltip.vue.js +23 -12
  118. package/lib/components/appTree/appTree.vue.js +308 -0
  119. package/lib/components/appTree/index.js +11 -0
  120. package/lib/components/appTree/js/index.js +533 -0
  121. package/lib/components/appUserAvatar/appUserAvatar.vue.js +9 -8
  122. package/lib/components/appUserAvatar/style/appUserAvatar.scss +0 -1
  123. package/lib/components/appVideoPlayer/appVideoPlayer.vue.js +649 -0
  124. package/lib/components/appVideoPlayer/cpns/mediaLoading.vue.js +39 -0
  125. package/lib/components/appVideoPlayer/index.js +11 -0
  126. package/lib/components/appVideoPlayer/js/index.js +429 -0
  127. package/lib/components/appVideoPlayer/style/appVideoPlayer.scss +275 -0
  128. package/lib/components/appVideoPlayer/style/mediaLoading.scss +62 -0
  129. package/lib/components/index.js +42 -32
  130. package/lib/hooks/index.js +9 -0
  131. package/lib/hooks/useApi.js +4 -4
  132. package/lib/hooks/useAudioPlayerConfig.js +15 -0
  133. package/lib/hooks/useGlobalConfig.js +18 -7
  134. package/lib/hooks/useLocale.js +3 -11
  135. package/lib/hooks/useMixins.js +1 -1
  136. package/lib/hooks/usePermissionMap.js +15 -0
  137. package/lib/hooks/useUserAvatarMap.js +1 -2
  138. package/lib/hooks/useVideoPlayerConfig.js +15 -0
  139. package/lib/index.js +59 -33
  140. package/lib/locale/en.js +52 -3
  141. package/lib/locale/zh_CN.js +48 -3
  142. package/lib/make-installer.js +2 -0
  143. package/lib/static/hy-svg-icons.js +459 -8
  144. package/lib/static/index.js +5 -0
  145. package/lib/static/protocolcheck.js +249 -0
  146. package/lib/style/element/element.scss +9 -0
  147. package/lib/style/element/index.scss +6 -3
  148. package/lib/style/index.scss +11 -0
  149. package/lib/style/theme.scss +73 -0
  150. package/lib/utils/date.js +25 -0
  151. package/lib/utils/file.js +4 -4
  152. package/lib/utils/form.js +57 -0
  153. package/lib/utils/handler.js +22 -1
  154. package/lib/utils/index.js +8 -1
  155. package/lib/utils/is.js +23 -1
  156. package/lib/version.js +1 -1
  157. package/package.json +25 -9
  158. package/es/config/index.mjs +0 -1
  159. package/es/static/hy-svg-icons.mjs +0 -11
  160. package/lib/config/index.js +0 -2
@@ -0,0 +1,645 @@
1
+ import { defineComponent, useTemplateRef, onMounted, onUnmounted, openBlock, createElementBlock, normalizeClass, unref, createCommentVNode, createVNode, createElementVNode, toDisplayString, Fragment, createBlock, withCtx, createTextVNode, normalizeStyle, withDirectives, isRef, vModelText, renderList, renderSlot } from 'vue';
2
+ import { ElPopover, ElSlider } from 'element-plus';
3
+ import _sfc_main$1 from './cpns/mediaLoading.vue.mjs';
4
+ import { useVideoPlayer, useVideoResize } from './js/index.mjs';
5
+ import { useLocale } from '../../hooks/useLocale.mjs';
6
+ import { useMixins } from '../../hooks/useMixins.mjs';
7
+ import { AppIcon } from '../appIcon/index.mjs';
8
+ import { AppButton } from '../appButton/index.mjs';
9
+ import { AppTooltip } from '../appTooltip/index.mjs';
10
+ import { useVideoPlayerConfig } from '../../hooks/useVideoPlayerConfig.mjs';
11
+ import { isBoolean, isNumber } from '../../utils/is.mjs';
12
+
13
+ import "./style/appVideoPlayer.scss";
14
+
15
+ const __default__ = defineComponent({
16
+ name: "AppVideoPlayer"
17
+ });
18
+ const _sfc_main = /* @__PURE__ */ Object.assign(__default__, {
19
+ props: {
20
+ type: {
21
+ type: String,
22
+ default: () => {
23
+ const { videoPlayerConfig } = useVideoPlayerConfig();
24
+ const { type } = videoPlayerConfig.value;
25
+ if (["default", "analyse"].includes(type)) return type;
26
+ return "default";
27
+ }
28
+ },
29
+ // 播放列表
30
+ playList: {
31
+ type: Array,
32
+ default: () => []
33
+ },
34
+ // 播放速度
35
+ speed: {
36
+ type: Number,
37
+ default: () => {
38
+ const { videoPlayerConfig } = useVideoPlayerConfig();
39
+ if (isNumber(videoPlayerConfig.value.speed)) {
40
+ return videoPlayerConfig.value.speed;
41
+ }
42
+ return 1;
43
+ }
44
+ },
45
+ // 播放规则
46
+ playRules: {
47
+ type: Number,
48
+ default: () => {
49
+ const { videoPlayerConfig } = useVideoPlayerConfig();
50
+ if ([1, 2, 3].includes) {
51
+ return videoPlayerConfig.value.playRules;
52
+ }
53
+ return 3;
54
+ }
55
+ },
56
+ // 是否显示播放规则
57
+ showPlayRules: {
58
+ type: Boolean,
59
+ default: () => {
60
+ const { videoPlayerConfig } = useVideoPlayerConfig();
61
+ const { showPlayRules } = videoPlayerConfig.value;
62
+ return isBoolean(showPlayRules) ? showPlayRules : true;
63
+ }
64
+ },
65
+ // 是否显示下载文件
66
+ showDownloadFiles: {
67
+ type: Boolean,
68
+ default: () => {
69
+ const { videoPlayerConfig } = useVideoPlayerConfig();
70
+ const { showDownloadFiles } = videoPlayerConfig.value;
71
+ return isBoolean(showDownloadFiles) ? showDownloadFiles : true;
72
+ }
73
+ },
74
+ // 是否显示展开控件
75
+ showShrink: {
76
+ type: Boolean,
77
+ default: () => {
78
+ const { videoPlayerConfig } = useVideoPlayerConfig();
79
+ const { showShrink } = videoPlayerConfig.value;
80
+ return isBoolean(showShrink) ? showShrink : false;
81
+ }
82
+ },
83
+ // 是否显示全屏控件
84
+ showFullScreen: {
85
+ type: Boolean,
86
+ default: () => {
87
+ const { videoPlayerConfig } = useVideoPlayerConfig();
88
+ const { showFullScreen } = videoPlayerConfig.value;
89
+ return isBoolean(showFullScreen) ? showFullScreen : true;
90
+ }
91
+ },
92
+ // VLC协议
93
+ vlcProtocol: {
94
+ type: String,
95
+ default: () => {
96
+ const { videoPlayerConfig } = useVideoPlayerConfig();
97
+ return videoPlayerConfig.value.vlcProtocol || "hyvlc";
98
+ }
99
+ },
100
+ // VLC下载地址
101
+ vlcAddress: {
102
+ type: String,
103
+ default: () => {
104
+ const { videoPlayerConfig } = useVideoPlayerConfig();
105
+ return videoPlayerConfig.value.vlcAddress;
106
+ }
107
+ },
108
+ // 下载处理
109
+ downloadFn: {
110
+ type: Function
111
+ }
112
+ },
113
+ emits: [
114
+ "canplay",
115
+ "timeupdate",
116
+ "play-start",
117
+ "play-ended",
118
+ "play-previous",
119
+ "play-next"
120
+ ],
121
+ setup(__props, { expose: __expose, emit: __emit }) {
122
+ const props = __props;
123
+ const emits = __emit;
124
+ const { t } = useLocale();
125
+ const videoWrapperRef = useTemplateRef("videoWrapperRef");
126
+ const videoRef = useTemplateRef("videoRef");
127
+ const {
128
+ // useVideoPlayer
129
+ speed,
130
+ playRules,
131
+ loading,
132
+ videoItem,
133
+ videoUrl,
134
+ currentDuration,
135
+ totalDuration,
136
+ progress,
137
+ isDrop,
138
+ isFullScreen,
139
+ volumeValue,
140
+ hasVLC,
141
+ isCanNotPlayType,
142
+ videoState,
143
+ speedLabel,
144
+ isCanPlay,
145
+ isAnalyseType,
146
+ // 配置
147
+ speedList,
148
+ playRulesList,
149
+ // 函数
150
+ playVideo,
151
+ pauseVideo,
152
+ playPrevious,
153
+ playNext,
154
+ playRulesHandler,
155
+ speedHandler,
156
+ changeVolume,
157
+ getNowWh,
158
+ setVideoCurrentTime,
159
+ getPercent,
160
+ initFullScreenEvent,
161
+ destroyFullScreenEvent,
162
+ onFullScreenHandler,
163
+ openVLC,
164
+ downloadVLC,
165
+ onDownloadHandler,
166
+ // useVideoResize
167
+ isExpand,
168
+ videoHeight,
169
+ onSwitchShrink,
170
+ listenerVideoWrapper,
171
+ unlistenerVideoWrapper
172
+ } = useMixins(
173
+ {
174
+ props,
175
+ emits,
176
+ videoWrapperRef,
177
+ videoRef
178
+ },
179
+ [useVideoPlayer, useVideoResize]
180
+ );
181
+ onMounted(() => {
182
+ initFullScreenEvent();
183
+ listenerVideoWrapper();
184
+ });
185
+ onUnmounted(() => {
186
+ destroyFullScreenEvent();
187
+ unlistenerVideoWrapper();
188
+ });
189
+ __expose({
190
+ playVideo,
191
+ pauseVideo,
192
+ setVideoCurrentTime
193
+ });
194
+ return (_ctx, _cache) => {
195
+ return openBlock(), createElementBlock(
196
+ "div",
197
+ {
198
+ ref_key: "videoWrapperRef",
199
+ ref: videoWrapperRef,
200
+ class: normalizeClass(["video-player-content", {
201
+ "video-player-content-pick-up": !unref(isExpand) && !unref(isFullScreen),
202
+ "full-video-player-content": unref(isFullScreen)
203
+ }])
204
+ },
205
+ [
206
+ createCommentVNode(" loading "),
207
+ unref(loading) ? (openBlock(), createElementBlock("div", {
208
+ key: 0,
209
+ class: "w-full h-full flex flex-col justify-center items-center absolute left-0 top-0"
210
+ }, [
211
+ createVNode(_sfc_main$1),
212
+ createElementVNode(
213
+ "span",
214
+ { class: "text-xs text-theme mt-4" },
215
+ "..." + toDisplayString(unref(t)("videoPlayer.videoResourcesAreLoading")) + "...",
216
+ 1
217
+ /* TEXT */
218
+ )
219
+ ])) : createCommentVNode("v-if", true),
220
+ createCommentVNode(" \u65E0\u6CD5\u64AD\u653E "),
221
+ unref(videoState) === "CAN_NOT_PLAY" ? (openBlock(), createElementBlock("div", {
222
+ key: 1,
223
+ class: "w-full h-full flex flex-col justify-center items-center px-[34px]"
224
+ }, [
225
+ createCommentVNode(" \u91C7\u96C6\u7AD9\u6587\u4EF6 "),
226
+ unref(videoItem) && unref(videoItem).csFile === 1 && unref(videoItem).onlineState !== 1 ? (openBlock(), createElementBlock(
227
+ Fragment,
228
+ { key: 0 },
229
+ [
230
+ createElementVNode("div", { class: "w-[54px] h-[54px] rounded-full border-[2px] border-dangerv2 flex justify-center items-center shadow-[0px_0px_10px_2px_var(--dangerv2)]" }, [
231
+ createElementVNode("div", { class: "w-[42px] h-[42px] rounded-full border-[1px] border-dashed border-dangerv2 flex justify-center items-center" }, [
232
+ createVNode(unref(AppIcon), {
233
+ "svg-name": "player-icon_brokLink",
234
+ class: "!w-[24px] !h-[24px] text-dangerv2"
235
+ })
236
+ ])
237
+ ]),
238
+ createElementVNode(
239
+ "span",
240
+ { class: "text-xs text-auxiliary mt-4" },
241
+ toDisplayString(unref(t)("videoPlayer.fileLoadingFailed")),
242
+ 1
243
+ /* TEXT */
244
+ ),
245
+ createElementVNode(
246
+ "span",
247
+ { class: "text-xs text-auxiliary" },
248
+ toDisplayString(_ctx.$t(
249
+ "pleaseCheckWhetherTheCollectionStationIsOnlineAndWhetherTheFileExists"
250
+ )),
251
+ 1
252
+ /* TEXT */
253
+ )
254
+ ],
255
+ 64
256
+ /* STABLE_FRAGMENT */
257
+ )) : (openBlock(), createElementBlock(
258
+ Fragment,
259
+ { key: 1 },
260
+ [
261
+ createCommentVNode(" \u666E\u901A\u6587\u4EF6 "),
262
+ createElementVNode("div", { class: "flex items-center justify-center text-auxiliary" }, [
263
+ createVNode(unref(AppIcon), {
264
+ "svg-name": "player-media-center-right-ripple",
265
+ className: "!w-[12px] !h-[12px]"
266
+ }),
267
+ createVNode(unref(AppIcon), {
268
+ "svg-name": "player-media-center-video",
269
+ className: "!w-[40px] !h-[40px] mx-1"
270
+ }),
271
+ createVNode(unref(AppIcon), {
272
+ "svg-name": "player-media-center-left-ripple",
273
+ className: "!w-[12px] !h-[12px]"
274
+ })
275
+ ]),
276
+ createElementVNode(
277
+ "div",
278
+ { class: "text-theme text-center mt-3 mb-[14px]" },
279
+ toDisplayString(unref(isCanNotPlayType) ? unref(t)("videoPlayer.vlcPlayerTip") : unref(t)("theVideoCannotBePlayed")),
280
+ 1
281
+ /* TEXT */
282
+ ),
283
+ unref(isCanNotPlayType) ? (openBlock(), createElementBlock("div", {
284
+ key: 0,
285
+ class: "flex justify-center"
286
+ }, [
287
+ unref(hasVLC) ? (openBlock(), createBlock(unref(AppButton), {
288
+ key: 0,
289
+ onClick: unref(openVLC)
290
+ }, {
291
+ default: withCtx(() => [
292
+ createTextVNode(
293
+ toDisplayString(unref(t)("videoPlayer.clickPlay")),
294
+ 1
295
+ /* TEXT */
296
+ )
297
+ ]),
298
+ _: 1
299
+ /* STABLE */
300
+ }, 8, ["onClick"])) : (openBlock(), createBlock(unref(AppButton), {
301
+ key: 1,
302
+ onClick: unref(downloadVLC)
303
+ }, {
304
+ default: withCtx(() => [
305
+ createTextVNode(
306
+ toDisplayString(unref(t)("videoPlayer.toDownloadVlc")),
307
+ 1
308
+ /* TEXT */
309
+ )
310
+ ]),
311
+ _: 1
312
+ /* STABLE */
313
+ }, 8, ["onClick"]))
314
+ ])) : createCommentVNode("v-if", true)
315
+ ],
316
+ 64
317
+ /* STABLE_FRAGMENT */
318
+ )),
319
+ createCommentVNode(" \u5207\u6362\u89C6\u9891\u63A7\u4EF6 "),
320
+ __props.playList?.length > 1 ? (openBlock(), createElementBlock(
321
+ Fragment,
322
+ { key: 2 },
323
+ [
324
+ createElementVNode("div", { class: "vlc-between-control left-0" }, [
325
+ createVNode(unref(AppTooltip), {
326
+ isAlways: "",
327
+ content: "\u67E5\u770B\u4E0A\u4E00\u6761\u89C6\u9891"
328
+ }, {
329
+ default: withCtx(() => [
330
+ createElementVNode("div", {
331
+ class: "w-[30px] h-[30px] bg-[#3D6286] flex items-center justify-center cursor-pointer",
332
+ onClick: unref(playPrevious)
333
+ }, [
334
+ createVNode(unref(AppIcon), {
335
+ "svg-name": "player--previous",
336
+ className: "!w-3 !h-3 text-main"
337
+ })
338
+ ], 8, ["onClick"])
339
+ ]),
340
+ _: 1
341
+ /* STABLE */
342
+ })
343
+ ]),
344
+ createElementVNode("div", { class: "vlc-between-control right-0" }, [
345
+ createVNode(unref(AppTooltip), {
346
+ isAlways: "",
347
+ content: "\u67E5\u770B\u4E0B\u4E00\u6761\u89C6\u9891"
348
+ }, {
349
+ default: withCtx(() => [
350
+ createElementVNode("div", {
351
+ class: "w-[30px] h-[30px] bg-[#3D6286] flex items-center justify-center cursor-pointer",
352
+ onClick: unref(playNext)
353
+ }, [
354
+ createVNode(unref(AppIcon), {
355
+ "svg-name": "player--next",
356
+ className: "!w-3 !h-3 text-main"
357
+ })
358
+ ], 8, ["onClick"])
359
+ ]),
360
+ _: 1
361
+ /* STABLE */
362
+ })
363
+ ])
364
+ ],
365
+ 64
366
+ /* STABLE_FRAGMENT */
367
+ )) : createCommentVNode("v-if", true)
368
+ ])) : (openBlock(), createElementBlock(
369
+ Fragment,
370
+ { key: 2 },
371
+ [
372
+ createCommentVNode(" \u53EF\u4EE5\u64AD\u653E "),
373
+ createElementVNode(
374
+ "video",
375
+ {
376
+ ref_key: "videoRef",
377
+ ref: videoRef,
378
+ style: normalizeStyle({ height: unref(videoHeight) })
379
+ },
380
+ [
381
+ createElementVNode("source", { type: "video/mp4" }),
382
+ createElementVNode("source", { type: "video/webm" }),
383
+ createElementVNode("source", { type: "video/ogg" }),
384
+ createTextVNode(
385
+ " " + toDisplayString(unref(t)("videoPlayer.yourBrowserDoesNotSupportHTMLVideoPlayback")),
386
+ 1
387
+ /* TEXT */
388
+ )
389
+ ],
390
+ 4
391
+ /* STYLE */
392
+ ),
393
+ createElementVNode("div", { class: "operator-box" }, [
394
+ createElementVNode("div", { class: "progress-box" }, [
395
+ withDirectives(createElementVNode("input", {
396
+ "onUpdate:modelValue": ($event) => isRef(progress) ? progress.value = $event : null,
397
+ type: "range",
398
+ max: "100",
399
+ style: normalizeStyle({
400
+ background: `linear-gradient(to right, rgba(var(--hy-theme)) ${unref(getPercent)(
401
+ unref(progress),
402
+ 100
403
+ )}%, rgba(var(--hy-theme), 0.5) ${unref(getPercent)(unref(progress), 100)}% `
404
+ }),
405
+ onMousedown: ($event) => isDrop.value = true,
406
+ onMouseup: ($event) => unref(getNowWh)($event)
407
+ }, null, 44, ["onUpdate:modelValue", "onMousedown", "onMouseup"]), [
408
+ [vModelText, unref(progress)]
409
+ ])
410
+ ]),
411
+ createElementVNode("div", { class: "left-operator" }, [
412
+ createElementVNode(
413
+ "span",
414
+ { class: "text-main" },
415
+ toDisplayString(unref(currentDuration)),
416
+ 1
417
+ /* TEXT */
418
+ ),
419
+ createTextVNode(" / "),
420
+ createElementVNode(
421
+ "span",
422
+ null,
423
+ toDisplayString(unref(totalDuration)),
424
+ 1
425
+ /* TEXT */
426
+ )
427
+ ]),
428
+ unref(isCanPlay) ? (openBlock(), createElementBlock(
429
+ "div",
430
+ {
431
+ key: 0,
432
+ class: normalizeClass(["center-operator", { "center-analyse": unref(isAnalyseType) }])
433
+ },
434
+ [
435
+ createElementVNode("div", { onClick: unref(playPrevious) }, [
436
+ createVNode(unref(AppIcon), {
437
+ "svg-name": unref(isAnalyseType) ? "player--interpretation-last" : "player-audio_previous-btn",
438
+ "class-name": "last-icon"
439
+ }, null, 8, ["svg-name"])
440
+ ], 8, ["onClick"]),
441
+ unref(videoState) !== "PLAYING" ? (openBlock(), createElementBlock("div", {
442
+ key: 0,
443
+ onClick: ($event) => unref(playVideo)(unref(videoUrl))
444
+ }, [
445
+ createVNode(unref(AppIcon), { "svg-name": "player-audio_play-btn" })
446
+ ], 8, ["onClick"])) : createCommentVNode("v-if", true),
447
+ unref(videoState) === "PLAYING" ? (openBlock(), createElementBlock("div", {
448
+ key: 1,
449
+ onClick: unref(pauseVideo)
450
+ }, [
451
+ createVNode(unref(AppIcon), { "svg-name": "player-audio_pause-btn" })
452
+ ], 8, ["onClick"])) : createCommentVNode("v-if", true),
453
+ createElementVNode("div", { onClick: unref(playNext) }, [
454
+ createVNode(unref(AppIcon), {
455
+ "svg-name": unref(isAnalyseType) ? "player--interpretation-next" : "player-audio_next-btn",
456
+ "class-name": "next-icon"
457
+ }, null, 8, ["svg-name"])
458
+ ], 8, ["onClick"])
459
+ ],
460
+ 2
461
+ /* CLASS */
462
+ )) : createCommentVNode("v-if", true),
463
+ createElementVNode("div", { class: "right-operator" }, [
464
+ createCommentVNode(" \u901F\u5EA6 "),
465
+ createVNode(unref(ElPopover), {
466
+ placement: "top",
467
+ trigger: "click",
468
+ appendToBody: false,
469
+ "popper-class": "popover-speed"
470
+ }, {
471
+ reference: withCtx(() => [
472
+ createElementVNode(
473
+ "div",
474
+ { class: "speed-box" },
475
+ toDisplayString(unref(speedLabel)),
476
+ 1
477
+ /* TEXT */
478
+ )
479
+ ]),
480
+ default: withCtx(() => [
481
+ createElementVNode("div", { class: "flex items-center justify-center py-[10px]" }, [
482
+ createElementVNode("ul", { class: "speed-list" }, [
483
+ (openBlock(true), createElementBlock(
484
+ Fragment,
485
+ null,
486
+ renderList(unref(speedList), (item, index) => {
487
+ return openBlock(), createElementBlock("li", {
488
+ key: index,
489
+ class: normalizeClass(["clickBox", { selectBox: item.value === unref(speed) }]),
490
+ onClick: ($event) => unref(speedHandler)(item.value)
491
+ }, toDisplayString(item.label), 11, ["onClick"]);
492
+ }),
493
+ 128
494
+ /* KEYED_FRAGMENT */
495
+ ))
496
+ ])
497
+ ])
498
+ ]),
499
+ _: 1
500
+ /* STABLE */
501
+ }),
502
+ createCommentVNode(" \u58F0\u97F3 "),
503
+ createVNode(unref(ElPopover), {
504
+ placement: "top",
505
+ appendToBody: false,
506
+ trigger: "click",
507
+ "popper-class": "popover-volume-slider"
508
+ }, {
509
+ reference: withCtx(() => [
510
+ createElementVNode("div", { class: "flex items-center justify-center" }, [
511
+ createVNode(unref(AppTooltip), {
512
+ isAlways: "",
513
+ content: unref(t)("videoPlayer.adjustPlaybackVolume")
514
+ }, {
515
+ default: withCtx(() => [
516
+ createVNode(unref(AppIcon), {
517
+ "svg-name": "player-audio_volumn",
518
+ "class-name": "volume-icon"
519
+ })
520
+ ]),
521
+ _: 1
522
+ /* STABLE */
523
+ }, 8, ["content"])
524
+ ])
525
+ ]),
526
+ default: withCtx(() => [
527
+ createElementVNode("div", { class: "flex items-center justify-center" }, [
528
+ createVNode(unref(ElSlider), {
529
+ modelValue: unref(volumeValue),
530
+ "onUpdate:modelValue": ($event) => isRef(volumeValue) ? volumeValue.value = $event : null,
531
+ vertical: "",
532
+ height: "105px",
533
+ onInput: ($event) => unref(changeVolume)($event)
534
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onInput"])
535
+ ])
536
+ ]),
537
+ _: 1
538
+ /* STABLE */
539
+ }),
540
+ createCommentVNode(" \u653E\u5927 "),
541
+ __props.showFullScreen ? (openBlock(), createBlock(unref(AppTooltip), {
542
+ key: 0,
543
+ isAlways: "",
544
+ content: unref(t)("videoPlayer.fullScreenSwitch")
545
+ }, {
546
+ default: withCtx(() => [
547
+ createVNode(unref(AppIcon), {
548
+ "svg-name": unref(isFullScreen) ? "player-audio_reduce" : "player-audio_enlarge",
549
+ onClick: unref(onFullScreenHandler)
550
+ }, null, 8, ["svg-name", "onClick"])
551
+ ]),
552
+ _: 1
553
+ /* STABLE */
554
+ }, 8, ["content"])) : createCommentVNode("v-if", true),
555
+ createCommentVNode(" \u6536\u8D77/\u5C55\u5F00 "),
556
+ !unref(isFullScreen) && __props.showShrink ? (openBlock(), createBlock(unref(AppTooltip), {
557
+ key: 1,
558
+ isAlways: "",
559
+ content: unref(isExpand) ? "\u6536\u8D77" : "\u5C55\u5F00"
560
+ }, {
561
+ default: withCtx(() => [
562
+ createVNode(unref(AppIcon), {
563
+ "svg-name": unref(isExpand) ? "player--interpretation-foldup" : "player--interpretation-expand",
564
+ onClick: unref(onSwitchShrink)
565
+ }, null, 8, ["svg-name", "onClick"])
566
+ ]),
567
+ _: 1
568
+ /* STABLE */
569
+ }, 8, ["content"])) : createCommentVNode("v-if", true)
570
+ ])
571
+ ])
572
+ ],
573
+ 64
574
+ /* STABLE_FRAGMENT */
575
+ )),
576
+ createCommentVNode(" \u89C6\u9891\u989D\u5916\u529F\u80FD "),
577
+ (__props.showDownloadFiles || __props.showPlayRules) && unref(isExpand) ? (openBlock(), createElementBlock(
578
+ "div",
579
+ {
580
+ key: 3,
581
+ class: normalizeClass(["float-operator-item", {
582
+ "!right-[43px]": unref(videoState) === "CAN_NOT_PLAY" && __props.playList?.length > 1
583
+ }])
584
+ },
585
+ [
586
+ createCommentVNode(" \u4E0B\u8F7D "),
587
+ __props.showDownloadFiles ? (openBlock(), createBlock(unref(AppTooltip), {
588
+ key: 0,
589
+ isAlways: "",
590
+ content: unref(t)("videoPlayer.downloadFile")
591
+ }, {
592
+ default: withCtx(() => [
593
+ createVNode(unref(AppIcon), {
594
+ "svg-name": "player-audio_down-btn",
595
+ onClick: unref(onDownloadHandler)
596
+ }, null, 8, ["onClick"])
597
+ ]),
598
+ _: 1
599
+ /* STABLE */
600
+ }, 8, ["content"])) : createCommentVNode("v-if", true),
601
+ createCommentVNode(" \u64AD\u653E\u89C4\u5219 "),
602
+ __props.showPlayRules && unref(videoState) !== "CAN_NOT_PLAY" ? (openBlock(true), createElementBlock(
603
+ Fragment,
604
+ { key: 1 },
605
+ renderList(unref(playRulesList), (item, index) => {
606
+ return openBlock(), createElementBlock(
607
+ Fragment,
608
+ { key: index },
609
+ [
610
+ unref(playRules) === item.value ? (openBlock(), createBlock(unref(AppTooltip), {
611
+ key: 0,
612
+ isAlways: "",
613
+ content: item.label
614
+ }, {
615
+ default: withCtx(() => [
616
+ createVNode(unref(AppIcon), {
617
+ "svg-name": item.svgName,
618
+ onClick: ($event) => unref(playRulesHandler)(item.value)
619
+ }, null, 8, ["svg-name", "onClick"])
620
+ ]),
621
+ _: 2
622
+ /* DYNAMIC */
623
+ }, 1032, ["content"])) : createCommentVNode("v-if", true)
624
+ ],
625
+ 64
626
+ /* STABLE_FRAGMENT */
627
+ );
628
+ }),
629
+ 128
630
+ /* KEYED_FRAGMENT */
631
+ )) : createCommentVNode("v-if", true),
632
+ renderSlot(_ctx.$slots, "pight-control-ranel")
633
+ ],
634
+ 2
635
+ /* CLASS */
636
+ )) : createCommentVNode("v-if", true)
637
+ ],
638
+ 2
639
+ /* CLASS */
640
+ );
641
+ };
642
+ }
643
+ });
644
+
645
+ export { _sfc_main as default };
@@ -0,0 +1,35 @@
1
+ import { openBlock, createElementBlock, normalizeStyle, createElementVNode } from 'vue';
2
+
3
+ import "../style/mediaLoading.scss";
4
+
5
+ const _sfc_main = {
6
+ __name: "mediaLoading",
7
+ props: {
8
+ width: {
9
+ type: Number,
10
+ default: 60
11
+ },
12
+ height: {
13
+ type: Number,
14
+ default: 60
15
+ }
16
+ },
17
+ setup(__props) {
18
+ return (_ctx, _cache) => {
19
+ return openBlock(), createElementBlock(
20
+ "div",
21
+ {
22
+ class: "tech-loader",
23
+ style: normalizeStyle({ width: __props.width + "px", height: __props.height + "px" })
24
+ },
25
+ [
26
+ createElementVNode("div", { class: "tech-center-dot" })
27
+ ],
28
+ 4
29
+ /* STYLE */
30
+ );
31
+ };
32
+ }
33
+ };
34
+
35
+ export { _sfc_main as default };
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './appVideoPlayer.vue.mjs';
2
+ import { withInstall } from '../../utils/handler.mjs';
3
+
4
+ const AppVideoPlayer = withInstall(_sfc_main);
5
+
6
+ export { AppVideoPlayer, AppVideoPlayer as default };