我正在尝试使用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
答案 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"
希望其中一个适合您的模型。