请选择 进入手机版 | 继续访问电脑版

默认
发表评论 8
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
困惑了,IM中要对原消息进行表态动作,不知道咋搞,请教
举个例子:我发了1条消息,别人对消息点了个表情, 那点表情这个操作,需要记录为一条消息吗?

如果记录,那离线用户登录后,因为这条消息页面不可见,比如要拉取10条消息,其中1条不可见,还得多拉取1条,对拉消息很不友好?

如果不记录,有个场景,我发完消息后退出了,这时其他人点表情了,我重新登录后,如何知道消息被更新了?

请教一下大家

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:IM开发 求助
上一篇:[讨论] 为app用户提供即时通讯IM服务的设想下一篇:现想到一个多端的im,求IM跨平台的协议实现的sdk架构

本帖已收录至以下技术专辑

推荐方案
评论 8
是不是像钉钉里的消息那样,边上有个“大拇指”图标,点一下可以表态的那种。。
引用:JackJiang 发表于 2023-09-01 14:46
是不是像钉钉里的消息那样,边上有个“大拇指”图标,点一下可以表态的那种。。

是的,表情快捷回复,有很多表情可以选,点完之后,表情会填充在消息下边
引用:JackJiang 发表于 2023-09-01 14:46
是不是像钉钉里的消息那样,边上有个“大拇指”图标,点一下可以表态的那种。。

类似于这样的表情,有很多
明白了。

接收者看到这条消息的时候,如果点了表情,那通知的话肯定是要起一条新的指令来通知消息的原发送者。

但原消息发送者收到这条通知指令后,去更新原消息的某个属性(这对应于数据库表结构的话,可以起一个子表)。
引用:JackJiang 发表于 2023-09-04 10:21
明白了。

接收者看到这条消息的时候,如果点了表情,那通知的话肯定是要起一条新的指令来通知消息的原发 ...

目前是这么做的,但是有个离线的场景,就是发完消息后,立即退出,然后这时候其他人点了表情回复,那发消息的人上线后,需要知道这条消息有更新,会拉下来, 但是这影响了拉取消息的逻辑,点表情这种消息在页面看来是不可见的,如果拉取的都是点表情的这种消息,那很可能就拉取不到页面能看到的正常消息了。

边界情况,别人发了2条消息,我没看,然后退出了,群里所有人都给这2条消息点表情了,我上线后,应该要看到这两条消息下边有很多表情的

所以拉取会话消息就复杂了,拉取的消息里有页面不可见的这种消息

我举了个表情的例子,实际上已读回执也会出现这种情况
引用:iamjason 发表于 2023-09-04 10:47
目前是这么做的,但是有个离线的场景,就是发完消息后,立即退出,然后这时候其他人点了表情回复,那发消 ...

我上面把这条消息说成是“指令”,你有注意到吗。。。
也就是,你在最终离线拉到后,这条消息肯定要特殊处理,而不是一股脑扔界面上显示出来,,,显示它不是普通的聊天消息
引用:JackJiang 发表于 2023-09-04 11:49
我上面把这条消息说成是“指令”,你有注意到吗。。。
也就是,你在最终离线拉到后,这条消息肯定要特殊 ...

打算把这种不可见消息从消息流中剥离出去

查询会话消息这块就简单了,不需要过滤各种不可见消息

然后,查询会话消息时,异步走http接口请求去服务端拿一下这个分页内的消息是否有被修改, 拿到结果后,如果有修改就推送给前台页面

最终的效果是这样的:先让用户看到消息,然后稍稍延迟一下,又看到消息变了(表情)

这个方案咋样呢
引用:iamjason 发表于 2023-09-05 18:46
打算把这种不可见消息从消息流中剥离出去

查询会话消息这块就简单了,不需要过滤各种不可见消息

我觉得可以接受,而且对服务端来说实现简单
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部