Как сохранить сообщения чата в ионном хранилище? - PullRequest
0 голосов
/ 26 сентября 2018

Я создал приложение для чата, используя ionic и socket.io-client.

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

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

1 Ответ

0 голосов
/ 26 сентября 2018

Вы уже сказали, ионное хранилище - это путь: https://ionicframework.com/docs/storage/

Для каждого разговора я бы:

1. Send message to server 
2. storage.get(conversationID) ....
3. add message and last message send timestamp to conversation
4. storage.set(conversationID) ....

При загрузке сообщений:

1. storage.get(conversationID) ....
2. Check if newer messages are available
3. If yes -> fetch 
3.1. add messages and last message send timestamp to conversation
4. storage.set(conversationID) ....

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

...