|
@@ -102,7 +102,7 @@ export class RoomController extends BasicController {
|
|
|
userObj.role = "customer";
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// if (assistantId && Number(this.userId) !== Number(assistantId) && !this.isHoster(this.user.role)) {
|
|
|
// userObj.role = "customer";
|
|
|
// }
|
|
@@ -237,42 +237,42 @@ export class RoomController extends BasicController {
|
|
|
|
|
|
this.socket.on(EVENT.kickUser, async ({ data, from }) => {
|
|
|
// 要前端断线才可以踢人
|
|
|
- setTimeout(async () => {
|
|
|
- try {
|
|
|
- const userId = `user:${data.userId}`;
|
|
|
- const roomId = `room:${data.sceneNumber}:${data.roomId}`;
|
|
|
- const currentUser = await getCurrentUser(userId, FROMTYPE.MiniAPP);
|
|
|
- const user = JSON.parse(currentUser);
|
|
|
- // 被踢人不能是hoster
|
|
|
- console.log("user", JSON.stringify(user));
|
|
|
- if (user && !this.isHoster(user.role)) {
|
|
|
- console.log("currentUser.role", user.role);
|
|
|
- const isKick = await this.roomAssistant.kickPersion(roomId, userId);
|
|
|
- if (isKick) {
|
|
|
- const AllRoomUsers = await getAllRoomUsers(roomId);
|
|
|
- console.log("kickUser-AllRoomUsers", AllRoomUsers.length);
|
|
|
- this.logger.info("kickUser", currentUser, userId, roomId);
|
|
|
- // 通知管理
|
|
|
- this.socket.emit(EVENT.someOneLeaveRoom, {
|
|
|
- user: user,
|
|
|
- roomsPerson: AllRoomUsers,
|
|
|
- });
|
|
|
- // 通知房间人员变动
|
|
|
- this.socket.broadcast.to(roomId).emit(EVENT.someOneLeaveRoom, {
|
|
|
- user: user,
|
|
|
- roomsPerson: AllRoomUsers,
|
|
|
- });
|
|
|
- // 如果踢人后 如何通知?
|
|
|
- this.socket.broadcast.to(roomId).emit(EVENT.beKicked, data);
|
|
|
- }
|
|
|
- } else {
|
|
|
- const nickname = user.nickname || "";
|
|
|
- this.logger.warn(nickname + "是房主,不能被踢!!");
|
|
|
+ try {
|
|
|
+ const userId = `user:${data.userId}`;
|
|
|
+ const roomId = `room:${data.sceneNumber}:${data.roomId}`;
|
|
|
+ const currentUser = await getCurrentUser(userId, FROMTYPE.MiniAPP);
|
|
|
+ const user = JSON.parse(currentUser);
|
|
|
+ // 被踢人不能是hoster
|
|
|
+ console.log("user", JSON.stringify(user));
|
|
|
+ if (user && !this.isHoster(user.role)) {
|
|
|
+ console.log("currentUser.role", user.role);
|
|
|
+ // 如果踢人后 如何通知?
|
|
|
+ this.socket.broadcast.to(roomId).emit(EVENT.beKicked, data);
|
|
|
+
|
|
|
+ const isKick = await this.roomAssistant.kickPersion(roomId, userId);
|
|
|
+ if (isKick) {
|
|
|
+ const AllRoomUsers = await getAllRoomUsers(roomId);
|
|
|
+ console.log("kickUser-AllRoomUsers", AllRoomUsers.length);
|
|
|
+ this.logger.info("kickUser", currentUser, userId, roomId);
|
|
|
+
|
|
|
+ // 通知管理
|
|
|
+ this.socket.emit(EVENT.someOneLeaveRoom, {
|
|
|
+ user: user,
|
|
|
+ roomsPerson: AllRoomUsers,
|
|
|
+ });
|
|
|
+ // 通知房间人员变动
|
|
|
+ this.socket.broadcast.to(roomId).emit(EVENT.someOneLeaveRoom, {
|
|
|
+ user: user,
|
|
|
+ roomsPerson: AllRoomUsers,
|
|
|
+ });
|
|
|
}
|
|
|
- } catch (error) {
|
|
|
- console.error("error", error);
|
|
|
+ } else {
|
|
|
+ const nickname = user.nickname || "";
|
|
|
+ this.logger.warn(nickname + "是房主,不能被踢!!");
|
|
|
}
|
|
|
- }, 1000);
|
|
|
+ } catch (error) {
|
|
|
+ console.error("error", error);
|
|
|
+ }
|
|
|
});
|
|
|
/**
|
|
|
* 设置助手
|