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