使用firebase实现私人聊天

时间:2015-10-25 09:08:46

标签: php html 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)将在私聊中上面的代码有什么变化?

注意:我不想使用firechat api

1 个答案:

答案 0 :(得分:3)

没有一个答案,但这里有几个基本选项:

结构

/y

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

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

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"

您甚至可以非常浅薄地依赖代码中的逻辑来获得更改通知,但只向用户显示该用户和公共消息专用的那些。

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"

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