From 877754ac066a547b7e648a0f85fab7549f239f2a Mon Sep 17 00:00:00 2001
From: yj <1336058017@qq.com>
Date: Thu, 27 Feb 2025 15:51:47 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/meeting/index.scss | 14 +++++--
pages/meeting/index.ts | 90 +++++++++++++++++++++++++++++++---------
pages/meeting/index.wxml | 19 ++++++---
3 files changed, 93 insertions(+), 30 deletions(-)
diff --git a/pages/meeting/index.scss b/pages/meeting/index.scss
index bf901b6..1c3d808 100644
--- a/pages/meeting/index.scss
+++ b/pages/meeting/index.scss
@@ -310,7 +310,7 @@
.user-popup {
width: 30vw;
- height: 100vh;
+ height: 88vh;
background-color: #16191E;
padding: 10rpx 0;
box-sizing: border-box;
@@ -318,12 +318,18 @@
flex-direction: column;
&-title {
- color: white;
- text-align: center;
+ color: gray;
font-size: 16rpx;
flex-shrink: 0;
border-bottom: 1px rgb(59, 59, 59) solid;
padding-bottom: 10rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+
+ &-active {
+ color: white;
+ }
}
&-view {
@@ -333,6 +339,7 @@
flex-grow: 1;
&-view {
+ color: white;
display: flex;
align-items: center;
justify-content: space-between;
@@ -344,7 +351,6 @@
flex-grow: 1;
&-text {
- color: white;
font-size: 14rpx;
margin: 0 2rpx;
white-space: nowrap;
diff --git a/pages/meeting/index.ts b/pages/meeting/index.ts
index d6eb44e..c34af6d 100644
--- a/pages/meeting/index.ts
+++ b/pages/meeting/index.ts
@@ -73,6 +73,7 @@ Page({
},
],
channelId: '',
+ tabBarIndex: 1,
roomInfo: '',
roomUserList: [],
audioList: [],
@@ -106,7 +107,10 @@ Page({
isReconnec: false,
isAutoApplySpeakDialog: false,
showScroll: false,
- reconnecNumber: 0
+ reconnecNumber: 0,
+ setting: {
+ voiceStimulation: true, //语音激励
+ }
},
watch: {
'roomUserList.**': function (roomUserList) {
@@ -269,6 +273,17 @@ Page({
},
onReady() {
wx.onNetworkStatusChange(this.listener)
+ const setting: any = getStorage('setting')
+ if (setting) {
+ this.setData({
+ setting
+ })
+ } else {
+ wx.setStorage({
+ key: "setting",
+ data: this.data.setting
+ })
+ }
},
async onShow() {
wx.setKeepScreenOn({
@@ -285,22 +300,24 @@ Page({
this.reconnecFun()
}
isSpeakTime = setInterval(() => {
- function getMaxObject(arr) {
- let maxObject = arr[0];
- for (let i = 1; i < arr.length; i++) {
- if (arr[i].volumeNumber > maxObject.volumeNumber) {
- maxObject = arr[i];
+ if (this.data.setting.voiceStimulation) {
+ function getMaxObject(arr) {
+ let maxObject = arr[0];
+ for (let i = 1; i < arr.length; i++) {
+ if (arr[i].volumeNumber > maxObject.volumeNumber) {
+ maxObject = arr[i];
+ }
}
+ return maxObject;
+ }
+ const isShare = this.data.roomUserList.find(item => item.shareSrc)
+ const item = getMaxObject(this.data.audioList)
+ const user = this.data.roomUserList.find(row => item.uid === row.uid)
+ if (this.data.currentUid !== item.uid && !isShare && (user && user.isRoom) && item.volumeNumber > 0 && item.uid !== this.data.user.uid) {
+ this.setData({
+ currentUid: item.uid
+ })
}
- return maxObject;
- }
- const isShare = this.data.roomUserList.find(item => item.shareSrc)
- const item = getMaxObject(this.data.audioList)
- const user = this.data.roomUserList.find(row => item.uid === row.uid)
- if (this.data.currentUid !== item.uid && !isShare && (user && user.isRoom) && item.volumeNumber > 0) {
- this.setData({
- currentUid: item.uid
- })
}
}, 3000)
},
@@ -335,6 +352,8 @@ Page({
},
async startReconnec() {
if (getSignIr() === signalR.HubConnectionState.Connected) {
+ clearTimeout(reconnectTime)
+ reconnectTime = ''
await GetRoomRtcToken(this.data.channelId).then(res => {
if (res.code === 200) {
agora.reconnecSetOption(res.data, async (bool) => {
@@ -350,8 +369,6 @@ Page({
duration: 3000,
content: '重连成功',
});
- clearTimeout(reconnectTime)
- reconnectTime = ''
this.setData({
isReconnec: false
})
@@ -716,12 +733,45 @@ Page({
item.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager
item.avatarName = item.userName?.slice(-2)
})
- this.setData({
- roomUserList: res.data
- })
+ if (this.data.roomUserList.length) {
+ let arr: any = []
+ const { roomUserList } = this.data;
+ res.data.forEach((item: any) => {
+ let userItem = roomUserList.find((row: any) => row.uid == item.uid);
+ if (userItem) {
+ userItem.enableCamera = item.enableCamera;
+ userItem.enableMicr = item.enableMicr;
+ userItem.isRoomManager = item.isRoomManager;
+ userItem.isAdmin = role.ID.includes(item.roleId) || item.isRoomManager;
+ } else {
+ arr.push(item)
+ }
+ });
+ this.setData({
+ roomUserList: [...roomUserList, ...arr]
+ })
+ } else {
+ this.setData({
+ roomUserList: res.data
+ })
+ }
}
})
},
+ // 切换tab
+ setTabBarIndex(e) {
+ this.setData({
+ tabBarIndex: Number(e.currentTarget.dataset.tabbarindex)
+ })
+ },
+ // 修改缓存设置
+ changeSetting(e) {
+ this.data.setting[e.currentTarget.dataset.str] = e.detail.value
+ wx.setStorage({
+ key: "setting",
+ data: this.data.setting
+ })
+ },
// 成员显示用户名称
showMultiText(e) {
Toast({
diff --git a/pages/meeting/index.wxml b/pages/meeting/index.wxml
index 2513196..7a49ef9 100644
--- a/pages/meeting/index.wxml
+++ b/pages/meeting/index.wxml
@@ -18,8 +18,8 @@
-
-
+
+
@@ -39,7 +39,7 @@
-
+
@@ -91,12 +91,13 @@
-
+