@Fluber

Как сделать функционал просмотра сообщений в чате?

Всем привет, имею приложение на Laravel. Есть функционал диалогов и чат с пользователем, в реальном времени работает только отправка сообщений и показ его собеседнику. Хочу сделать функционал просмотра сообщений, то бишь статус прочитано или не прочитано. Например если человека нет в сети, мы помечаем это каким-то стилем у сообщения, например фоном, как в вк. Но это в принципе я знаю как сделать, используя php, вопрос в другом, как сделать этот функционал логически на стороне vuejs, javascript? Например если пользователь в чате и ему пришло сообщение от собеседника, то сразу читать это сообщение. Если его нет на странице, то соответственно помечать сообщение непрочитанным, какова логика должна быть у этого функционала? Кто-то может подсказать, как вк отлавливает просмотрел ли человек сообщение или нет?
  • Вопрос задан
  • 1154 просмотра
Пригласить эксперта
Ответы на вопрос 2
Если человек грубо говоря видит сообщение отправляем запрос ajax(socket) на сервер о прочтение сообщения
Ответ написан
@kacheleff
fullstack developer
я не подскажу, как сделано в вк, но я бы делал примерно так:
1. изначально новые сообщения являются непросмотренными/непрочитанными
2. сообщения делаем прочитанными в следующих случаях:
- при открытии диалога
- если был открыт диалог и начался ввод текста в поле для сообщений (ловим onKeyDown, например)
- если был открыт диалог и двигалась мышка в области диалога (ловим mousemove)

возможно, нужны и другие варианты, но это еще и зависит от самого приложения
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы