wildfirechat / wfc_flutter_plugins

野火flutter插件,包含即时通讯和实时音视频插件
Other
35 stars 26 forks source link

消息顺序问题 #81

Closed doralines closed 9 months ago

doralines commented 9 months ago

ReceiveMessagesEvent 这个通知 什么情况下会返回数组形式的messages呢?通常我本地測試的時候,都是一條一條的返回,最近有人反应会出现消息渲染顺序问题,我是根据 ReceiveMessagesEvent 这个通知去先后顺序渲染的, 有的时候两条消息,在不同手机上看到的顺序是不一样的,但是退出去再重新拉取一下历史消息 顺序才会一致。

imndx commented 9 months ago

当一次拉取到多条消息的时候,比如在离线期间,收到很多调消息,上线之后,返回的可能就是数组,里面的消息,默认应当是根据messageId增序排列。

可以根据messageId进行排序,这样就不会出现直接渲染和退出重新获取消息渲染时,消息顺序不一致了。

doralines commented 9 months ago

我是在chat页面中 使用的这个回调 ReceiveMessagesEvent ,所以应该就不存在返回数组的情况了 都是实时获取的消息,这样导致的消息顺序问题,应该怎么解决呢?

imndx commented 9 months ago

还是可能存在的,比如很多人同时给你发消息,你可以根据messageId进行一下排序