发言人5分钟未推音视频流自动下麦
This commit is contained in:
parent
739b6161ec
commit
b42a5ae6ab
|
|
@ -10,6 +10,7 @@ const computedBehavior = require('miniprogram-computed').behavior;
|
|||
let reconnectTime = "" as any;
|
||||
let refreshTime = "" as any;
|
||||
let isReconnecTimeSetTimeout = "" as any;
|
||||
let isAutoApplySpeakTime = "" as any;
|
||||
Page({
|
||||
behaviors: [computedBehavior],
|
||||
data: {
|
||||
|
|
@ -102,6 +103,7 @@ Page({
|
|||
isCurrePage: true,
|
||||
isReconnec: false,
|
||||
isReconnecTime: false,
|
||||
isAutoApplySpeakDialog: false,
|
||||
},
|
||||
watch: {
|
||||
'roomUserList.**': function (roomUserList) {
|
||||
|
|
@ -128,6 +130,32 @@ Page({
|
|||
'footerList.**': function (footerList) {
|
||||
const footerListTemplate = [...footerList];
|
||||
footerListTemplate[3].show = footerListTemplate[2].active
|
||||
if (!footerListTemplate[1].active && !footerListTemplate[2].active) {
|
||||
if (isAutoApplySpeakTime) {
|
||||
clearTimeout(isAutoApplySpeakTime)
|
||||
isAutoApplySpeakTime = ''
|
||||
}
|
||||
isAutoApplySpeakTime = setTimeout(() => {
|
||||
let userItem = this.data.roomUserList.find((item: any) => item.uid === this.data.user.uid)
|
||||
if (!role.ID.includes(this.data.user.roleId) && userItem && userItem.isRoomManager) {
|
||||
DeleteRoomManager({
|
||||
roomId: this.data.roomInfo.id,
|
||||
roomNum: this.data.channelId,
|
||||
userId: userItem.uid
|
||||
})
|
||||
this.setData({
|
||||
isAutoApplySpeakDialog: true
|
||||
})
|
||||
}
|
||||
clearTimeout(isAutoApplySpeakTime)
|
||||
isAutoApplySpeakTime = ''
|
||||
}, 1000 * 60 * 5);
|
||||
} else {
|
||||
if (isAutoApplySpeakTime) {
|
||||
clearTimeout(isAutoApplySpeakTime)
|
||||
isAutoApplySpeakTime = ''
|
||||
}
|
||||
}
|
||||
this.setData({
|
||||
footerList: footerListTemplate
|
||||
})
|
||||
|
|
@ -316,6 +344,36 @@ Page({
|
|||
clearInterval(refreshTime)
|
||||
refreshTime = ''
|
||||
}
|
||||
if (isAutoApplySpeakTime) {
|
||||
clearTimeout(isAutoApplySpeakTime)
|
||||
isAutoApplySpeakTime = ''
|
||||
}
|
||||
},
|
||||
confirmIsAutoApplySpeakDialog() {
|
||||
if (!this.data.isClicked) {
|
||||
GetApplySpeak(this.data.channelId).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.setData({
|
||||
isClicked: true,
|
||||
})
|
||||
this.message('申请发言成功').success()
|
||||
}
|
||||
this.setData({
|
||||
isAutoApplySpeakDialog: false
|
||||
})
|
||||
}).catch(() => {
|
||||
this.setData({
|
||||
isAutoApplySpeakDialog: false
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.message('申请太频繁了,请稍后重试!').error();
|
||||
}
|
||||
},
|
||||
cancelIsAutoApplySpeakDialog() {
|
||||
this.setData({
|
||||
isAutoApplySpeakDialog: false
|
||||
})
|
||||
},
|
||||
async reconnecFun() {
|
||||
offSignalr()
|
||||
|
|
|
|||
|
|
@ -136,3 +136,4 @@
|
|||
</view>
|
||||
</t-popup>
|
||||
<t-dialog visible="{{isReconnec}}" content="重连失败,请退出重试!" confirm-btn="{{ { content: '确定', variant: 'base', theme: 'primary' } }}" data-type="isReconnec" cancel-btn="{{null}}" bind:confirm="closeRoom" style="transform: scale(0.5) translate3d(-50%, -50%, 0);" close-btn="{{false}}" />
|
||||
<t-dialog visible="{{isAutoApplySpeakDialog}}" content="由于您长时间未发言,已自动取消发言权限,是否重新申请发言?" cancel-btn="取消" confirm-btn="{{ { content: '确定', variant: 'base', theme: 'primary' } }}" data-type="isAutoApplySpeakDialog" bind:cancel="cancelIsAutoApplySpeakDialog" bind:confirm="confirmIsAutoApplySpeakDialog" style="transform: scale(0.5) translate3d(-50%, -50%, 0);" close-btn="{{false}}" />
|
||||
Loading…
Reference in New Issue