各个聊天用户仪表板中所有用户和管理员之间的套接字io聊天用户仪表板聊天对话

时间:2018-06-27 12:11:10

标签: javascript node.js sockets express

我已经集成了套接字io聊天。以用户身份登录时。我正在admin和所有其他用户之间通过用户面板获取所有消息。在从用户向管理员发送消息时,管理员面板中的会话是针对单个用户的。我希望管理员和用户之间通过用户仪表板进行会话。

控制器代码:

app.post('/saveuserchat',isLoggedIn ,function(req, res) {
     try {
            var chatModel = new chat(req.body)
            chatModel.save()
            res.sendStatus(200)
            //Emit the event
            io.emit("chat", req.body.msg_desc)
        } catch (error) {
            res.sendStatus(500);
        }
   });
app.get('/getuserchat',isLoggedIn,function(req, res) {
   chat.find({}, (error, chats) => {
        res.send(chats);
    });
     });

Ejs代码:

<script>
     var socket = io()
    socket.on("chat", addChat)

    $(() => {
        getChats()
    $("#send").click((e) => {
        e.preventDefault();
        var chatMessage = {
                 chat: $('#btn-chat-input').val(),
                 reciever: $('#adminid').val(),
                 sender: $('#userid').val(),
                 role: 'user',
                 msg_desc: $('#btn-chat-input').val(),
                 userid: $('#userid').val()


              }
            //console.log(chat);
            postChat(chatMessage);
            addChat(chatMessage);
            $('#btn-chat-input').val();
        });
    })

    function postChat(chat) {
    $.post("/saveuserchat", chat)
    }

    function getChats() {
        $.get("/getuserchat", (chats) => {
            console.log(chats);
     chats.forEach(addChat)
      })
    }
    function addChat(chatObj) {
    $("#chat_message").append(`<p class="usermsg">${chatObj.msg_desc}</p>`);

    }

</script>

User Dashboard all user converstion with admin

0 个答案:

没有答案