From b42a5ae6ab168b7cd9771279f435943098851fbc Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Mon, 17 Feb 2025 11:21:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E8=A8=80=E4=BA=BA5=E5=88=86=E9=92=9F?= =?UTF-8?q?=E6=9C=AA=E6=8E=A8=E9=9F=B3=E8=A7=86=E9=A2=91=E6=B5=81=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E4=B8=8B=E9=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/meeting/index.ts | 58 ++++++++++++++++++++++++++++++++++++++++ pages/meeting/index.wxml | 5 ++-- 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/pages/meeting/index.ts b/pages/meeting/index.ts index 3bb0de6..8b52022 100644 --- a/pages/meeting/index.ts +++ b/pages/meeting/index.ts @@ -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() diff --git a/pages/meeting/index.wxml b/pages/meeting/index.wxml index 42e0e75..a171314 100644 --- a/pages/meeting/index.wxml +++ b/pages/meeting/index.wxml @@ -16,7 +16,7 @@ - + @@ -135,4 +135,5 @@ - \ No newline at end of file + + \ No newline at end of file