Внедрить приватный чат с помощью 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 (каждый пользователь имеет уникальный идентификатор), которые будут в приватном чате. Каковы изменения в приведенном выше коде?

Заметка: Я не любил использовать API Firechat

-2

Решение

Там нет одного ответа, но вот несколько основных вариантов:

Структура

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"

Вы могли бы даже пойти немного поверхностно и полагаться на логику в коде, чтобы получать уведомления об изменениях, но показывать пользователю только те из них, которые являются частными для этого пользователя, и публичные сообщения.

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"

Надеюсь, один из них подойдет вашей модели.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]