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