优化通话弹窗
This commit is contained in:
parent
9710144319
commit
7ba434aeca
Binary file not shown.
|
Before Width: | Height: | Size: 438 B |
@ -1,43 +1,49 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="call-float"
|
<div class="call-float"
|
||||||
v-if="call.isSmall"
|
v-if="isSmall"
|
||||||
:style="callFloatStyle"
|
:style="callFloatStyle"
|
||||||
@touchmove="touchmove"
|
@touchmove="touchmove"
|
||||||
@touchend="touchend"
|
@touchend="touchend"
|
||||||
@click="call.isSmall = false">
|
@click="isSmall = false">
|
||||||
<img src="@/assets/img/icon/message/chat/call-float.png" alt="">
|
<img src="@/assets/img/icon/message/chat/call-float.png" alt="">
|
||||||
<span>呼叫中</span>
|
<span>呼叫中</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<transition name="scale">
|
<transition name="scale">
|
||||||
<div class="audio-call"
|
<div class="audio-call"
|
||||||
:style="call.isSmall ? callFloatStyle : {zIndex:10}"
|
:style="isSmall ? callFloatStyle : {zIndex:10}"
|
||||||
:class="call.isSmall?'small':''"
|
:class="isSmall?'small':''"
|
||||||
v-if="call.isShowAudioCall">
|
v-if="isShowAudioCall">
|
||||||
<div class="float">
|
<div class="float">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<img @click="call.isSmall = true" src="@/assets/img/icon/message/chat/narrow.png" alt="">
|
<img @click="isSmall = true" src="@/assets/img/icon/message/chat/narrow.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
<span class="center">等待对方接听...</span>
|
<span class="center">等待对方接听...</span>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="option">
|
<div class="option">
|
||||||
<img src="@/assets/img/icon/message/chat/disabled-camera.png" alt="">
|
<img v-show="!isOpenCamera" @click="isOpenCamera = !isOpenCamera"
|
||||||
|
src="@/assets/img/icon/message/chat/disabled-camera.png" alt="">
|
||||||
|
<img v-show="isOpenCamera" @click="isOpenCamera = !isOpenCamera"
|
||||||
|
src="@/assets/img/icon/message/chat/able-camera.png" alt="">
|
||||||
<span>摄像头</span>
|
<span>摄像头</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="option">
|
<div class="option" v-if="isExpand">
|
||||||
<img src="@/assets/img/icon/message/chat/able-volume.png" alt="">
|
<img v-show="!isOpenAudio" @click="isOpenAudio = !isOpenAudio"
|
||||||
|
src="@/assets/img/icon/message/chat/disabled-volume.png" alt="">
|
||||||
|
<img v-show="isOpenAudio" @click="isOpenAudio = !isOpenAudio"
|
||||||
|
src="@/assets/img/icon/message/chat/able-volume.png" alt="">
|
||||||
<span>免提</span>
|
<span>免提</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="option">
|
<div class="option">
|
||||||
<back mode="light" img="back" class="shrink"/>
|
<back mode="light" @click="isExpand = !isExpand" img="back" class="shrink"/>
|
||||||
<!-- <img src="@/assets/img/icon/message/chat/narrow.png" alt="">-->
|
<!-- <img src="@/assets/img/icon/message/chat/narrow.png" alt="">-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<img src="@/assets/img/icon/avatar/2.png" alt="" class="big-avatar">
|
<img src="@/assets/img/icon/avatar/2.png" alt="" class="big-avatar">
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<img @click="call.isShowAudioCall = false" src="@/assets/img/icon/message/chat/call-end.png">
|
<img @click="isShowAudioCall = false" src="@/assets/img/icon/message/chat/call-end.png">
|
||||||
<span>挂断</span>
|
<span>挂断</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -56,13 +62,14 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
mitt: inject('mitt'),
|
mitt: inject('mitt'),
|
||||||
call: {
|
|
||||||
callFloatTransitionTime: 300,
|
callFloatTransitionTime: 300,
|
||||||
callFloatLeft: 15,
|
callFloatLeft: 15,
|
||||||
callFloatTop: 100,
|
callFloatTop: 100,
|
||||||
|
isOpenCamera: false,
|
||||||
|
isOpenAudio: true,
|
||||||
|
isExpand: true,
|
||||||
isSmall: false,
|
isSmall: false,
|
||||||
isShowAudioCall: false,
|
isShowAudioCall: false,
|
||||||
},
|
|
||||||
height: 0,
|
height: 0,
|
||||||
width: 0,
|
width: 0,
|
||||||
}
|
}
|
||||||
@ -70,36 +77,43 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
callFloatStyle() {
|
callFloatStyle() {
|
||||||
return {
|
return {
|
||||||
'transition-duration': this.call.callFloatTransitionTime + 'ms',
|
'transition-duration': this.callFloatTransitionTime + 'ms',
|
||||||
left: this.call.callFloatLeft + 'px',
|
left: this.callFloatLeft + 'px',
|
||||||
top: this.call.callFloatTop + 'px',
|
top: this.callFloatTop + 'px',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
isShowAudioCall(newVal) {
|
||||||
|
if (!newVal) {
|
||||||
|
this.isOpenCamera = false
|
||||||
|
this.isOpenAudio = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {},
|
|
||||||
created() {
|
created() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
touchmove(e) {
|
touchmove(e) {
|
||||||
this.call.callFloatTransitionTime = 0
|
this.callFloatTransitionTime = 0
|
||||||
this.call.callFloatLeft = e.touches[0].pageX - 35
|
this.callFloatLeft = e.touches[0].pageX - 35
|
||||||
this.call.callFloatTop = e.touches[0].pageY - 40
|
this.callFloatTop = e.touches[0].pageY - 40
|
||||||
},
|
},
|
||||||
touchend(e) {
|
touchend(e) {
|
||||||
this.call.callFloatTransitionTime = 300
|
this.callFloatTransitionTime = 300
|
||||||
if (this.call.callFloatLeft < this.width / 2) {
|
if (this.callFloatLeft < this.width / 2) {
|
||||||
this.call.callFloatLeft = 15
|
this.callFloatLeft = 15
|
||||||
} else {
|
} else {
|
||||||
this.call.callFloatLeft = this.width - 15 - 70
|
this.callFloatLeft = this.width - 15 - 70
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.mitt.on('showAudioCall', () => {
|
this.mitt.on('showAudioCall', () => {
|
||||||
if (this.call.isShowAudioCall) {
|
if (this.isShowAudioCall) {
|
||||||
this.call.isSmall = false
|
this.isSmall = false
|
||||||
} else {
|
} else {
|
||||||
this.call.isShowAudioCall = true
|
this.isShowAudioCall = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.height = document.body.clientHeight
|
this.height = document.body.clientHeight
|
||||||
|
|||||||
@ -32,9 +32,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="love" @click="loved(item)">
|
<div class="love" @click="loved(item)">
|
||||||
<img v-if="item.isLoved" src="../assets/img/icon/components/like-red-small.png" alt=""
|
<img v-show="item.isLoved" src="../assets/img/icon/components/like-red-small.png" alt=""
|
||||||
class="love-image">
|
class="love-image">
|
||||||
<img v-else src="../assets/img/icon/components/like-gray-small.png" alt="" class="love-image">
|
<img v-show="!item.isLoved" src="../assets/img/icon/components/like-gray-small.png" alt="" class="love-image">
|
||||||
<span>{{ $likeNum(item.loveNum) }}</span>
|
<span>{{ $likeNum(item.loveNum) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -478,6 +478,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
|
font-size: 1rem;
|
||||||
transform: translateY(-.5rem);
|
transform: translateY(-.5rem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,8 +8,10 @@
|
|||||||
<span>zzzz</span>
|
<span>zzzz</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img @click="mitt.emit('showAudioCall')" style="transform: scale(1.1)"
|
<img @click="mitt.emit('showAudioCall')"
|
||||||
src="../../../assets/img/icon/message/video-white.png" alt="">
|
src="../../../assets/img/icon/message/chat/call.png" alt="">
|
||||||
|
<img @click="$no"
|
||||||
|
src="../../../assets/img/icon/message/chat/video-white.png" alt="">
|
||||||
<img src="../../../assets/img/icon/menu-white.png" alt="" @click="$nav('/message/chat/detail')">
|
<img src="../../../assets/img/icon/menu-white.png" alt="" @click="$nav('/message/chat/detail')">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -449,7 +451,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
typing: false,
|
typing: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
opening: false,
|
opening: false,
|
||||||
@ -585,6 +586,10 @@ export default {
|
|||||||
background: @second-btn-color;
|
background: @second-btn-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.right{
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-wrapper {
|
.message-wrapper {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user