使用 firebase 实现私人聊天

Implement private chat using firebase

我正在尝试使用 firebase 实现私人聊天应用程序(网站),但我会坚持使用私人消息逻辑。 这是我的代码,但它仅用于群聊而不是私人

var messagesRef = new Firebase('https://sample.firebaseio.com/users');
var message="Hi firebase"
var userid="1"
//send message
 messagesRef.push({userid:userid, message:message});

//list the messages
messagesRef.limitToLast(10).on('child_added', function (snapshot) {
   //get the chat messages
    var data = snapshot.val();
    var username = data.name;
    var message = data.text;
    shomessage.append("from:"+username+"msg:"+message);
}

假设我有两个用户 A 和 B(每个用户都有一个唯一的 ID)将在私人聊天中上面的代码有什么变化??

注意:我不喜欢用firechatapi

没有人回答,但这里有一些基本选项:

结构

Users
  user_id_0
    messages
      message_id_0
        from: user_id_1
        message: "Hello to user_id_0"
  user_id_1
    messages
      message_id_1
        from: user_id_0
        message: "Hello back to user_id_1"

user_id_0 和 user_id_1 将观察他们自己的消息节点以获取添加的消息。

您可以翻转逻辑并将数据存储在消息节点中

Messages
  user_id_0
    message_id_0
      from: user_id_1
      message: "Hello to user_id_0"
  user_id_1
    message_id_1
      from: user_id_0
      message: "Hello to user_id_1"
  public
    message_id_3
      from: user_id_0
      message: "Hello to the public"

您甚至可以变得非常肤浅,依靠代码中的逻辑来通知更改,但只向用户显示该用户私有的那些和 public 消息。

Messages
  message_id_0
    from: user_id_0
    to:   user_id_1
    type: "private"
    message: "a private message"
  message_id_1
    from: user_id_0
    type: "public"
    message: "a public message"

希望其中之一适合您的模型。