const io = require('socket.io')(); // 存储在线用户数 var onLineUser = { // "10086": [ // { // user_img: '../img/1.jpg', // user_name: '1', // user_room: '10086', // user_identity: 'admin', // leader 群主, admin 管理员, other 普通成员 // }, // { // user_img: '../img/1.jpg', // user_name: '1', // user_room: '10086', // user_identity: 'admin', // leader 群主, admin 管理员, other 普通成员 // } // ] } // 群聊天记录 var ChatRecord = { // 10086: [ // { // user_img: '../img/1.jpg', // user_name: '1', // user_room: '10086', // user_identity: 'admin', // user_record: '今天天气真的很好' // }, // { // user_img: '../img/1.jpg', // user_name: 'bmy', // user_room: '10086', // user_identity: 'other', // user_record: '今天不好' // } // ] } io.on('connection', socket => { console.log("客户端连接建立成功: ") // socket.on('error', (error) => {}); socket.on("JoinGroupChat", (res) => { // 如果存在这个群,返回 true if (onLineUser.hasOwnProperty(res.user_room)) { res.user_identity = "other" onLineUser[res.user_room].push(res) } else { onLineUser[res.user_room] = [] res.user_identity = "leader" onLineUser[res.user_room].push(res) } // 将 socket 加入群聊 socket.join(res.user_room); // 向群内所有人推送欢迎消息 io.in(res.user_room).emit("WelcomeUser", `欢迎${res.user_name}加入群聊`); console.log("onLineUser: ", onLineUser) }) // 接受聊天记录 socket.on("sendChatMessage",(res) => { if (!ChatRecord.hasOwnProperty(res.user_room)) { ChatRecord[res.user_room] = [] } ChatRecord[res.user_room].push(res) socket.to(res.user_room).emit("getChatMessage", res); }) socket.on("OnLineUserList", (res) => { io.in(res.user_room).emit("SendOnLineUserList", onLineUser[res.user_room]); }) socket.on('disconnect', (reason) => { console.log("客户端连接已断开: ") }); }); io.listen(3000);