|
@@ -163,8 +163,8 @@ const isBrushes = ref(false);
|
|
|
const hideVideo = ref(false);
|
|
|
const hideVideoBottom = ref(false);
|
|
|
const hideVideoTop = ref(true);
|
|
|
-const hideMic = ref(false);
|
|
|
-const hideMicTop = ref(false);
|
|
|
+const hideMic = ref(true);
|
|
|
+const hideMicTop = ref(true);
|
|
|
const showInput = ref(false);
|
|
|
const showMember = ref(false);
|
|
|
const animateActive = ref(false);
|
|
@@ -207,30 +207,16 @@ const userGetOut = (item,i) => {
|
|
|
};
|
|
|
|
|
|
const setUserWords = (res) => {
|
|
|
- if (user_info.value.Role == "leader") {
|
|
|
- user_list.value = res.members.reduce(function (tempArr, item) {
|
|
|
- if (tempArr.findIndex((ele) => ele.UserId === item.UserId) === -1) {
|
|
|
- tempArr.push(item);
|
|
|
- }
|
|
|
- return tempArr;
|
|
|
- }, []);
|
|
|
- }
|
|
|
if (res.userId == user_info.value.UserId) {
|
|
|
user_info.value.IsWords = res.words;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
const setUserMuted = (res) => {
|
|
|
- if (user_info.value.Role == "leader") {
|
|
|
- user_list.value = res.members.reduce(function (tempArr, item) {
|
|
|
- if (tempArr.findIndex((ele) => ele.UserId === item.UserId) === -1) {
|
|
|
- tempArr.push(item);
|
|
|
- }
|
|
|
- return tempArr;
|
|
|
- }, []);
|
|
|
- }
|
|
|
if (res.userId == user_info.value.UserId) {
|
|
|
user_info.value.IsMuted = res.muted;
|
|
|
+ disableMic.value = res.muted
|
|
|
+ hideMic.value = res.muted
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -367,6 +353,21 @@ const onMemberMuted = (item) => {
|
|
|
socket.value.emit("action", { type: "users-muted", muted: item.IsMuted, userId: item.UserId });
|
|
|
};
|
|
|
|
|
|
+const onMemberLeave = (res) => {
|
|
|
+ console.log("有人离开了", res);
|
|
|
+ user_list.value = res.members.reduce(function (tempArr, item) {
|
|
|
+ if (tempArr.findIndex((ele) => ele.UserId === item.UserId) === -1) {
|
|
|
+ tempArr.push(item);
|
|
|
+ }
|
|
|
+ return tempArr;
|
|
|
+ }, []);
|
|
|
+ if (res.user.Role == "leader") {
|
|
|
+ Dialog.toast({ content: `房间解散` });
|
|
|
+ // emit("closeSocket");
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
const userCanSpeak = (item) => {
|
|
|
item.IsWords = !item.IsWords;
|
|
|
socket.value.emit("action", { type: "users-words", words: item.IsWords, userId: item.UserId });
|
|
@@ -459,6 +460,7 @@ const startFollow = (app) => {
|
|
|
socket.value.on("action", (data) => {
|
|
|
if (data.type == "error") {
|
|
|
Dialog.toast({ content: `房间未找到`, type: "error" });
|
|
|
+ emit("closeSocket");
|
|
|
} else if (data.type == "danmumsg") {
|
|
|
setReceiveMsg(data.data);
|
|
|
} else if (data.type == "getout") {
|
|
@@ -482,17 +484,26 @@ const startFollow = (app) => {
|
|
|
} else if (data.type == "users-words") {
|
|
|
setUserWords(data);
|
|
|
//禁言
|
|
|
+ } else if (data.type == "user-leave") {
|
|
|
+ // 房间解散
|
|
|
+ onMemberLeave(data)
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
});
|
|
|
|
|
|
// 同屏带看
|
|
|
socket.value.on("sync", (data) => {
|
|
|
- app.Connect.follow.receive(data);
|
|
|
+ if (role.value=='customer') {
|
|
|
+ app.Connect.follow.receive(data);
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
// 画笔
|
|
|
socket.value.on("paint", (data) => {
|
|
|
- app.Connect.paint.receive(data);
|
|
|
+ if (role.value=='customer') {
|
|
|
+ app.Connect.paint.receive(data);
|
|
|
+ }
|
|
|
});
|
|
|
};
|
|
|
|