0

ionic と socket.io-client を使用してチャット アプリケーションを作成しました。

アプリでチャットを開始するユーザーを選択すると、アプリはサーバーから最近のチャット データを読み込み、それをユーザーに表示します。ネットワーク接続がない場合、ユーザーは以前のチャット メッセージを表示できません。そのため、チャットメッセージをイオンローカルストレージに保存するか、他のより良い方法で保存したいと考えています。

ユーザーが選択されるたびにサーバーから取得するのではなく、2 人のユーザー間の最近のチャットを読み込むためのより良い方法を教えてください。

4

1 に答える 1

0

あなたはすでにそれを言った、イオンストレージが行く方法です: 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) ....

常にローカル値のみを表示し、何かを受け取ったときにそれらを更新します。また、メッセージを送信するときにオブジェクト参照を記憶し、ネットワーク例外が発生した場合に送信しないようにマークすることもできます。

于 2018-09-26T09:46:45.840 に答える