flx:修改ios视频格式 企业账号底部换icon

This commit is contained in:
Rain_ 2025-12-10 18:11:41 +08:00
parent fe531b881d
commit a4eea9cfa8
14 changed files with 101 additions and 72 deletions

View File

@ -160,8 +160,8 @@
}
that.tabList.push({
appName: 'AI预警',
moduleIcon2: 'menu-icon',
moduleIcon: 'menu-icon_active',
moduleIcon2: 'ai-icon',
moduleIcon: 'ai-icon_active',
plugin: 'aIEarlyWarn',
appShow: 1,
isShow: true,
@ -184,8 +184,8 @@
})
that.tabList.push({
appName: '我的',
moduleIcon2: 'tabIcon-my',
moduleIcon: 'tabIcon-my-select',
moduleIcon2: 'my-icon',
moduleIcon: 'my-icon_active',
plugin: 'my',
appShow: 1,
isShow: true,

View File

@ -14,15 +14,15 @@
@play="onPlay" @pause="onPause" @error="onVideoError" @ended="onEnded" @timeupdate="onTimeUpdate"
@fullscreenchange="onFullscreenChange">
<cover-view @click="onVideoClick" v-if="!error && !loading" class="maskleft"></cover-view>
</video>
<!-- 加载状态 - APP平台使用cover-view覆盖 -->
<!-- #ifdef APP-PLUS -->
<cover-view v-if="loading" class="loading-overlay">
<cover-image src="@/static/iscImage/loading.gif" class="loading-spinner"></cover-image>
<!-- <cover-view class="loading-text">加载中...</cover-view> -->
</cover-view>
<!-- #endif -->
<!-- 加载状态 - APP平台使用cover-view覆盖 -->
<!-- #ifdef APP-PLUS -->
<cover-view v-if="loading" class="loading-overlay">
<cover-image src="@/static/iscImage/loading.gif" class="loading-spinner"></cover-image>
<!-- <cover-view class="loading-text">加载中...</cover-view> -->
</cover-view>
<!-- #endif -->
</video>
<!-- 加载状态 - H5平台使用普通view -->
<!-- #ifdef H5 -->
@ -680,16 +680,21 @@
}
}
</script>
<style scoped lang="scss">
/deep/ .uni-video-slots {
display: flex;
justify-content: space-between;
}
/deep/ .uni-video-slot {
display: flex;
justify-content: space-between;
height: 80%;
position: relative;
}
.maskleft {
width: calc(100% - 2rpx);
height: 80%;
/* #ifdef APP-PLUS */
// cover-view video
position: absolute;
@ -712,9 +717,9 @@
z-index: 1;
/* #ifdef APP-PLUS */
// swiper
transform: translateZ(0);
-webkit-transform: translateZ(0);
will-change: transform;
// transform: translateZ(0);
// -webkit-transform: translateZ(0);
// will-change: transform;
/* #endif */
.video-container {
@ -747,17 +752,12 @@
.loading-overlay {
width: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
flex-direction: column;
align-items: center;
// flex-direction: column;
// align-items: center;
justify-content: center;
// background: rgba(0, 0, 0, 0.5);
z-index: 10;
// z-index: 10;
.loading-spinner {
width: 500rpx;
@ -831,7 +831,7 @@
top: 0;
left: 0;
width: 100%;
height: 80%;
// height: 80%;
z-index: 1000;
//
pointer-events: auto;
@ -843,25 +843,20 @@
}
cover-view.loading-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
// background: rgba(0, 0, 0, 0.5);
width: 100%;
z-index: 998;
height: 80%;
// z-index: 998;
// swiper
transform: translateZ(0);
-webkit-transform: translateZ(0);
// transform: translateZ(0);
// -webkit-transform: translateZ(0);
cover-view.loading-spinner {
width: 500rpx;
height: 500rpx;
height: 100%;
}
cover-view.loading-text {
@ -885,8 +880,8 @@
z-index: 999;
width: 99%;
// swiper
transform: translateZ(0);
-webkit-transform: translateZ(0);
// transform: translateZ(0);
// -webkit-transform: translateZ(0);
cover-view.error-icon {
width: 120rpx;

View File

@ -8,7 +8,7 @@
"sassImplementationName" : "node-sass",
/* 5+App */
"app-plus" : {
"orientation" : [
"screenOrientation" : [
// //
"portrait-primary",
"portrait-secondary",

View File

@ -95,8 +95,8 @@
</view>
<u-calendar v-model="constructionTimeShow" mode="range" :max-date="'2300-01-01'"
@change="onConstructionTimeChange"></u-calendar>
<u-popup v-model="detailShow" mode="bottom" :closeable="true">
<view class="popup-main">
<u-popup class="my-popup" v-model="detailShow" :mask="false" mode="bottom" :closeable="true">
<view class="popup-main" :style="{height: `calc(100vh - ${mobileTopHeight + 44}px - 110rpx)`}">
<view class="popup-box_header">{{alarmTypeName(detailInfo.alarmType)}}</view>
<view class="popup-box_item">
<view>时间</view>
@ -486,12 +486,14 @@
</script>
<style scoped lang="scss">
/deep/ .u-drawer .u-icon__icon {
color: white !important;
/deep/ .my-popup {
bottom: 110rpx;
.u-icon__icon {
color: white !important;
}
}
.popup-main {
height: 100vh;
padding-top: 164rpx;
background: #000000;

View File

@ -380,12 +380,19 @@
display: flex;
justify-content: space-between;
align-items: center;
>view:first-child {
flex: 1;
white-space: nowrap; /* 不换行 */
overflow: hidden; /* 隐藏溢出的内容 */
text-overflow: ellipsis; /* 用省略号表示溢出的文本 */
}
>view:last-child {
width: 20rpx;
height: 20rpx;
background-color: #D8DBE8;
border-radius: 50%;
flex-shrink: 0;
}
.onLine {

View File

@ -134,9 +134,9 @@
</scroll-view>
</view>
<view class="content-footer">
<view class="" @click="onVideoStop">
<!-- <view class="" @click="onVideoStop">
<image src="/static/stop-icon.png" mode=""></image>
</view>
</view> -->
<view :class="{'showDetail': showDetail}" @click="getDetail">
<image src="/static/detail-icon.png" mode=""></image>
</view>
@ -642,7 +642,8 @@
.content-footer {
display: flex;
align-items: center;
justify-content: space-between;
// justify-content: space-between;
justify-content: flex-end;
position: fixed;
bottom: 0;
width: 100%;

View File

@ -9,7 +9,8 @@
<template v-if="videoConfig.enableNotPlugin != 1">
<!-- APP环境使用web-view -->
<!-- #ifdef APP-PLUS -->
<video v-if="!isYsy" class="videoBox" id="myVideo" :custom-cache="false" :src="playUrlFilter" controls
<video v-if="!isYsy && isIOS" class="videoBox" id="myVideo" :src="audioUrl" controls autoplay></video>
<video v-if="!isYsy && !isIOS" class="videoBox" id="myVideo" :custom-cache="false" :src="playUrlFilter" controls
autoplay></video>
<!-- #endif -->
<!-- H5环境使用ezuikit -->
@ -222,6 +223,7 @@
seconds: 0,
secondsTime: null,
testModule: null,
audioUrl: "",
};
},
onLoad(options) {
@ -285,6 +287,10 @@
formattedTime() {
return this.$dayjs.duration(this.seconds, 'seconds').format('HH:mm:ss');
},
isIOS() {
const systemInfo = uni.getSystemInfoSync();
return systemInfo.platform === 'ios';
}
},
methods: {
setHeight() {
@ -413,7 +419,7 @@
that.secondsTime = setInterval(() => {
that.seconds += 1;
}, 1000);
} else if(res.status == "EXCEPTION" || res.status == "FAILED") {
} else if (res.status == "EXCEPTION" || res.status == "FAILED") {
uni.showToast({
title: '连接失败!',
icon: 'none'
@ -1081,29 +1087,47 @@
}
}
});
this.sendRequest({
url: "xmgl/videoItem/getVideoItemInfo",
data: {
...json,
type: "wss", //rtsphls
},
method: "post",
success(res) {
let isProd = process.env.NODE_ENV === 'development' ? "" : "" // '/mlh5'
switch (that.videoInfo.videoType) {
case 1:
that.webURL = isProd + '/static/monitor/player.html?cameraUrl=' + res.result
.videoInfo
.hdFlvAddress
break;
default:
that.webURL = isProd + '/static/monitor/player.html?cameraUrl=' + res.result
.videoInfo
.url
break;
const systemInfo = uni.getSystemInfoSync();
if (systemInfo.platform === 'ios') {
this.sendRequest({
url: "xmgl/videoItem/getVideoItemInfo",
data: {
...json,
type: "hls", //rtsphls
},
method: "post",
success(res) {
if (res.code == 200) {
console.log(778877, res.result.videoInfo.url);
that.audioUrl = res.result.videoInfo.url;
}
}
}
})
})
} else {
this.sendRequest({
url: "xmgl/videoItem/getVideoItemInfo",
data: {
...json,
type: "wss", //rtsphls
},
method: "post",
success(res) {
let isProd = process.env.NODE_ENV === 'development' ? "" : "" // '/mlh5'
switch (that.videoInfo.videoType) {
case 1:
that.webURL = isProd + '/static/monitor/player.html?cameraUrl=' + res.result
.videoInfo
.hdFlvAddress
break;
default:
that.webURL = isProd + '/static/monitor/player.html?cameraUrl=' + res.result
.videoInfo
.url
break;
}
}
})
}
// #endif
},

BIN
static/ai-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
static/ai-icon_active.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 668 B

After

Width:  |  Height:  |  Size: 856 B

BIN
static/my-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/my-icon_active.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB