From 51780c02acd93fe82250e782594877c520d3e0f2 Mon Sep 17 00:00:00 2001
From: yj <1336058017@qq.com>
Date: Mon, 10 Mar 2025 15:48:49 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E7=9B=91=E6=8E=A7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/meeting/index.ts | 57 ++++++++++++++++++++++++++++++++++------
pages/meeting/index.wxml | 6 +++--
utils/agora.ts | 10 +++++++
utils/request.js | 4 +--
utils/singlr.ts | 4 +--
5 files changed, 67 insertions(+), 14 deletions(-)
diff --git a/pages/meeting/index.ts b/pages/meeting/index.ts
index 1862285..990cf91 100644
--- a/pages/meeting/index.ts
+++ b/pages/meeting/index.ts
@@ -113,7 +113,9 @@ Page({
setting: {
voiceStimulation: true, //语音激励
},
- network: 0
+ network: 0,
+ meSrc: '',
+ watchUids: []
},
watch: {
'roomUserList.**': function (roomUserList) {
@@ -665,13 +667,22 @@ Page({
this.setAllUserListData('ManagerRefresh', item, async () => {
if (item.user.uid === item.uid) {
if (item.user.uid === userInfo.uid) {
- // await agora.allLeaveChannelEx()
+ await agora.allJoinChannelEx(item.user, false, (url: string) => {
+ const roomUserListTemp = [...this.data.roomUserList]
+ const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
+ itemUser.src = url
+ this.setData({
+ meSrc: url,
+ roomUserList: roomUserListTemp,
+ })
+ })
this.message(`操作成功`).success()
await agora.setRole(item.user.isRoomManager, (url: string) => {
const roomUserListTemp = [...this.data.roomUserList]
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
itemUser.src = url
this.setData({
+ meSrc: url,
roomUserList: roomUserListTemp,
})
})
@@ -682,15 +693,22 @@ Page({
}
} else {
if (item.user.uid === userInfo.uid) {
- if (item.user.isRoomManager) {
- // await agora.allLeaveChannelEx()
- }
+ await agora.allJoinChannelEx(item.user, false, (url: string) => {
+ const roomUserListTemp = [...this.data.roomUserList]
+ const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
+ itemUser.src = url
+ this.setData({
+ meSrc: url,
+ roomUserList: roomUserListTemp,
+ })
+ })
this.message(`管理员${item.user.isRoomManager ? '设置' : '取消'}您为发言人`).success()
await agora.setRole(item.user.isRoomManager, (url: string) => {
const roomUserListTemp = [...this.data.roomUserList]
const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
itemUser.src = url
this.setData({
+ meSrc: url,
roomUserList: roomUserListTemp,
})
})
@@ -719,10 +737,30 @@ Page({
case 'Watch':
if (!role.ID.includes(userInfo.roleId)) {
let userId = item.watchUids.find((uid: any) => uid === userInfo.uid)
+ this.setData({
+ watchUids: item.watchUids
+ })
+ let userRow = this.data.roomUserList.find((row: any) => row.uid === userId)
if (userId) {
- // await agora.allJoinChannelEx()
+ await agora.allJoinChannelEx(userRow, true, (url: string) => {
+ const roomUserListTemp = [...this.data.roomUserList]
+ const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
+ itemUser.src = url
+ this.setData({
+ roomUserList: roomUserListTemp,
+ meSrc: url,
+ })
+ })
} else {
- // await agora.allLeaveChannelEx()
+ await agora.allJoinChannelEx(userRow, false, (url: string) => {
+ const roomUserListTemp = [...this.data.roomUserList]
+ const itemUser = roomUserListTemp.find(row => row.uid == userInfo.uid)
+ itemUser.src = url
+ this.setData({
+ roomUserList: roomUserListTemp,
+ meSrc: url,
+ })
+ })
}
}
break;
@@ -1246,7 +1284,10 @@ Page({
footerListTemplate[1].active = item.enableMicr
footerListTemplate[2].active = item.enableCamera
item.enableMicr ? await agora.unmuteLocal('audio') : await agora.muteLocal('audio')
- item.enableCamera ? await agora.unmuteLocal('video') : await agora.muteLocal('video')
+ let userId = this.data.watchUids.find((uid: any) => uid === userInfo.uid)
+ if (!userId) {
+ item.enableCamera ? await agora.unmuteLocal('video') : await agora.muteLocal('video')
+ }
if (!role.ID.includes(userInfo.roleId)) {
footerListTemplate[6].active = !item.isRoomManager;
}
diff --git a/pages/meeting/index.wxml b/pages/meeting/index.wxml
index edb008b..b29996d 100644
--- a/pages/meeting/index.wxml
+++ b/pages/meeting/index.wxml
@@ -42,8 +42,7 @@
-
-
+
@@ -71,6 +70,9 @@
+
+
+