|
@@ -43,7 +43,9 @@
|
|
|
<!-- 播放器区域 -->
|
|
<!-- 播放器区域 -->
|
|
|
<div class="player-section">
|
|
<div class="player-section">
|
|
|
<div v-if="!currentSrc && !currentVideoId" class="player-placeholder">
|
|
<div v-if="!currentSrc && !currentVideoId" class="player-placeholder">
|
|
|
- <el-icon :size="60" color="#ddd"><VideoPlay /></el-icon>
|
|
|
|
|
|
|
+ <el-icon :size="60" color="#ddd">
|
|
|
|
|
+ <VideoPlay />
|
|
|
|
|
+ </el-icon>
|
|
|
<p>请输入 Video ID 并点击播放</p>
|
|
<p>请输入 Video ID 并点击播放</p>
|
|
|
</div>
|
|
</div>
|
|
|
<VideoPlayer
|
|
<VideoPlayer
|
|
@@ -73,28 +75,44 @@
|
|
|
<!-- PTZ 方向控制 九宫格 -->
|
|
<!-- PTZ 方向控制 九宫格 -->
|
|
|
<div class="ptz-controls">
|
|
<div class="ptz-controls">
|
|
|
<div class="ptz-btn" @mousedown="handlePTZ('UP_LEFT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
<div class="ptz-btn" @mousedown="handlePTZ('UP_LEFT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
|
- <el-icon><TopLeft /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <TopLeft />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="ptz-btn" @mousedown="handlePTZ('UP')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
<div class="ptz-btn" @mousedown="handlePTZ('UP')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
|
- <el-icon><Top /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <Top />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="ptz-btn" @mousedown="handlePTZ('UP_RIGHT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
<div class="ptz-btn" @mousedown="handlePTZ('UP_RIGHT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
|
- <el-icon><TopRight /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <TopRight />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="ptz-btn" @mousedown="handlePTZ('LEFT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
<div class="ptz-btn" @mousedown="handlePTZ('LEFT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
|
- <el-icon><Back /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <Back />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="ptz-btn ptz-center" @click="handlePTZStop">
|
|
<div class="ptz-btn ptz-center" @click="handlePTZStop">
|
|
|
- <el-icon><Refresh /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <Refresh />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="ptz-btn" @mousedown="handlePTZ('RIGHT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
<div class="ptz-btn" @mousedown="handlePTZ('RIGHT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
|
- <el-icon><Right /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <Right />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="ptz-btn" @mousedown="handlePTZ('DOWN_LEFT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
<div class="ptz-btn" @mousedown="handlePTZ('DOWN_LEFT')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
|
- <el-icon><BottomLeft /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <BottomLeft />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="ptz-btn" @mousedown="handlePTZ('DOWN')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
<div class="ptz-btn" @mousedown="handlePTZ('DOWN')" @mouseup="handlePTZStop" @mouseleave="handlePTZStop">
|
|
|
- <el-icon><Bottom /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <Bottom />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<div
|
|
<div
|
|
|
class="ptz-btn"
|
|
class="ptz-btn"
|
|
@@ -102,7 +120,9 @@
|
|
|
@mouseup="handlePTZStop"
|
|
@mouseup="handlePTZStop"
|
|
|
@mouseleave="handlePTZStop"
|
|
@mouseleave="handlePTZStop"
|
|
|
>
|
|
>
|
|
|
- <el-icon><BottomRight /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <BottomRight />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -117,9 +137,13 @@
|
|
|
<!-- 缩放控制 -->
|
|
<!-- 缩放控制 -->
|
|
|
<div class="zoom-controls">
|
|
<div class="zoom-controls">
|
|
|
<div class="zoom-header">
|
|
<div class="zoom-header">
|
|
|
- <el-icon><ZoomOut /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <ZoomOut />
|
|
|
|
|
+ </el-icon>
|
|
|
<span>缩放</span>
|
|
<span>缩放</span>
|
|
|
- <el-icon><ZoomIn /></el-icon>
|
|
|
|
|
|
|
+ <el-icon>
|
|
|
|
|
+ <ZoomIn />
|
|
|
|
|
+ </el-icon>
|
|
|
</div>
|
|
</div>
|
|
|
<el-slider
|
|
<el-slider
|
|
|
v-model="zoomValue"
|
|
v-model="zoomValue"
|
|
@@ -427,10 +451,6 @@ async function handleZoomRelease() {
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
.page-container {
|
|
.page-container {
|
|
|
- padding: 1rem;
|
|
|
|
|
- background-color: var(--bg-page);
|
|
|
|
|
- height: 100%;
|
|
|
|
|
- overflow: auto;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.page-header {
|
|
.page-header {
|