diff --git a/WebVue/src/components/basic/VideoPlayer.vue b/WebVue/src/components/basic/VideoPlayer.vue
index 2475a08..9ef5355 100644
--- a/WebVue/src/components/basic/VideoPlayer.vue
+++ b/WebVue/src/components/basic/VideoPlayer.vue
@@ -24,6 +24,12 @@
@click.stop="toggle">
+
+
@@ -861,6 +867,30 @@ onBeforeUnmount(() => {
cursor: pointer;
}
+/* 控制区收起后留在画面右下角的「显示控制区」入口 */
+.vp-restore {
+ position: absolute;
+ right: 14px;
+ bottom: 14px;
+ z-index: 3;
+ width: 38px;
+ height: 38px;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 18px;
+ color: #fff;
+ background: rgba(6, 56, 62, 0.5);
+ border: 1px solid rgba(255, 255, 255, 0.45);
+ backdrop-filter: blur(6px);
+ opacity: 0.85;
+}
+
+.vp-restore:active {
+ transform: scale(0.94);
+}
+
/* ---------- 功能图标行 ---------- */
diff --git a/WebVue/src/views/master/DmsFileEnquiry.vue b/WebVue/src/views/master/DmsFileEnquiry.vue
index 3075522..6021fce 100644
--- a/WebVue/src/views/master/DmsFileEnquiry.vue
+++ b/WebVue/src/views/master/DmsFileEnquiry.vue
@@ -370,21 +370,29 @@ const clearRefreshTimers = () => {
const onUploadComplete = (payload: { count?: number }) => {
const count = payload?.count ?? 1;
const sec = 2500 + (count - 1) * 1000;
+ // 本次是不是视频:只有视频才需要补刷和转码提示
+ const isVideo = uploadingVideo.value;
// 视频场景由转码提示接管文案,等首刷完成后再切回"加载中..."
- if (!uploadingVideo.value) spinTip.value = "加载中...";
+ if (!isVideo) spinTip.value = "加载中...";
clearRefreshTimers();
refreshTimers.push(
window.setTimeout(() => {
- // 列表已经刷出来了,转码提示到此为止(后续补刷沿用默认的"加载中...")
+ // 列表已经刷出来了,转码提示到此为止
stopTranscodeTip();
uploadingVideo.value = false;
onReSearch();
loading.value = false;
}, sec),
);
- refreshTimers.push(window.setTimeout(onReSearch, sec + 3000));
- refreshTimers.push(window.setTimeout(onReSearch, sec + 6000));
+
+ // 只有视频才补刷:封面(jpg)是服务端 ffmpeg 异步生成的,首刷时可能还没落盘;
+ // 每次查询服务端都会重新拼 ?v=,src 变了
才会重新请求,封面就能补上来。
+ // 图片/音频/普通文件上传后文件已经就绪,一次刷新就够,多刷纯属浪费。
+ if (isVideo) {
+ refreshTimers.push(window.setTimeout(onReSearch, sec + 3000));
+ refreshTimers.push(window.setTimeout(onReSearch, sec + 6000));
+ }
};
/** 中断时的断点信息,弹窗里展示用 */
diff --git a/WebVue/src/views/master/PreviewVideo.vue b/WebVue/src/views/master/PreviewVideo.vue
index 1b68cd8..b8f49ff 100644
--- a/WebVue/src/views/master/PreviewVideo.vue
+++ b/WebVue/src/views/master/PreviewVideo.vue
@@ -2,12 +2,12 @@
-
+