feat: 监控添加清晰度切换功能

This commit is contained in:
范鹏 2025-04-06 18:47:39 +08:00
parent b04550828d
commit 920e5f3c33
2 changed files with 52 additions and 18 deletions

View File

@ -384,36 +384,36 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.search { .search {
padding: 32rpx;
width: 686rpx !important; width: 686rpx !important;
padding: 32rpx;
} }
.button { .button {
display: flex;
align-items: center;
position: fixed; position: fixed;
bottom: calc(env(safe-area-inset-bottom) + 20rpx); bottom: calc(env(safe-area-inset-bottom) + 20rpx);
display: flex;
align-items: center;
font-weight: bold; font-weight: bold;
.button-reset { .button-reset {
margin-left: 50rpx;
width: 300rpx; width: 300rpx;
height: 88rpx; height: 88rpx;
background-color: #df282d; margin-left: 50rpx;
line-height: 88rpx;
color: white; color: white;
text-align: center; text-align: center;
line-height: 88rpx; background-color: #df282d;
border-radius: 44rpx; border-radius: 44rpx;
} }
.button-create { .button-create {
margin-left: 50rpx;
width: 300rpx; width: 300rpx;
height: 88rpx; height: 88rpx;
background-color: #63b8af; margin-left: 50rpx;
line-height: 88rpx;
color: white; color: white;
text-align: center; text-align: center;
line-height: 88rpx; background-color: #63b8af;
border-radius: 44rpx; border-radius: 44rpx;
} }
} }
@ -421,29 +421,29 @@
.item { .item {
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #ffffff;
height: 120rpx;
width: 750rpx; width: 750rpx;
height: 120rpx;
background-color: #ffffff;
.item-left { .item-left {
margin-left: 32rpx;
width: 80rpx; width: 80rpx;
height: 80rpx; height: 80rpx;
margin-left: 32rpx;
} }
.item-right { .item-right {
width: 574rpx;
margin-right: 32rpx; margin-right: 32rpx;
margin-left: 32rpx; margin-left: 32rpx;
width: 574rpx;
.item-right-top { .item-right-top {
max-width: 400rpx; max-width: 400rpx;
font-size: 32rpx;
font-weight: bold;
padding-bottom: 6rpx; padding-bottom: 6rpx;
white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
font-size: 32rpx;
font-weight: bold;
white-space: nowrap;
} }
.item-right-bottom { .item-right-bottom {
@ -467,9 +467,9 @@
} }
.empty-list-text { .empty-list-text {
text-align: center;
font-size: 32rpx; font-size: 32rpx;
color: #999999; color: #999999;
text-align: center;
} }
.status { .status {

View File

@ -11,7 +11,7 @@
:acceptPlayerEvents="true" :acceptPlayerEvents="true"
soundMode="speaker" soundMode="speaker"
sceneType="live" sceneType="live"
streamQuality="high" :streamQuality="range[index].value"
:minCache="0.2" :minCache="0.2"
:maxCache="0.8" :maxCache="0.8"
:fill="true" :fill="true"
@ -19,6 +19,25 @@
@playsuccess="handlePlaySuccess" @playsuccess="handlePlaySuccess"
> >
</iot-p2p-player-with-mjpg> </iot-p2p-player-with-mjpg>
<view
v-if="buttonInfo"
:style="{
top: buttonInfo.bottom + 15 + 'px'
}"
class="bg-[rgba(0,0,0,0.35)] rounded-full px-2 py-1.5 fixed right-32"
>
<picker :value="index" mode="selector" :range="range" range-key="name" @change="changeEvent">
<up-icon
:label="range[index].name"
color="#ffffff"
label-color="#ffffff"
labelPos="left"
name="arrow-down-fill"
size="32rpx"
space="16rpx"
></up-icon>
</picker>
</view>
<image <image
v-if="!isVideoLoaded" v-if="!isVideoLoaded"
src="https://oss-lock.xhjcn.ltd/mp/background_monitor.png" src="https://oss-lock.xhjcn.ltd/mp/background_monitor.png"
@ -109,6 +128,15 @@
const $bluetooth = useBluetoothStore() const $bluetooth = useBluetoothStore()
const $basic = useBasicStore() const $basic = useBasicStore()
const buttonInfo = ref(null)
const index = ref(1)
const range = ref([
{ name: '标清', value: 'standard' },
{ name: '高清', value: 'high' },
{ name: '超清', value: 'super' }
])
const deviceInfo = ref() const deviceInfo = ref()
const xp2pInfo = ref() const xp2pInfo = ref()
@ -118,6 +146,8 @@
const isVideoLoaded = ref(false) const isVideoLoaded = ref(false)
onMounted(async () => { onMounted(async () => {
buttonInfo.value = await $basic.getButtonInfo()
const { code, data, message } = await getP2pInfo({ const { code, data, message } = await getP2pInfo({
request_method: 'GET', request_method: 'GET',
request_uri: '/api/v1/tencentYun/getDeviceDetailData', request_uri: '/api/v1/tencentYun/getDeviceDetailData',
@ -146,6 +176,10 @@
} }
}) })
const changeEvent = e => {
index.value = e.detail.value
}
const handleScreenshot = () => { const handleScreenshot = () => {
const page = getCurrentPages().pop() const page = getCurrentPages().pop()
const player = page.selectComponent('#playerRef') const player = page.selectComponent('#playerRef')