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

默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求助RainbowChat-Web中,我将消息缓存改为HTML5的sissonStorage后,切换错乱
好友选中【首页"消息"处理】您当前点击(选中)的是type=4,id=10040,【首页"消息"处理】您当前点击(选中)的是type=9,id=0000000122

选中的好友id和群组Id可以放在全局吗?

取选中A群组信息缓存起来,在选中B群的console.log查看还是当前A群信息,查看浏览器sessionStorage是B群组信息,
在选中B群,取缓存B会延迟的  还是取到A群信息。选中B群把历史消息很快渲染到聊天窗口面板
选中A  缓存A群,再选中B群还是A缓存信息, ?

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

推荐方案
评论 5
你这是代码改乱套了吧,原版产品不会发生这样的问题,首页“消息”里选中的好友id和群组Id和本身就是全局存储的。

你拍个完整的演示视频(把整个电脑屏幕拍进来,拍全一点),完整的演示给我看一下,视频可以微信上发我,我看后再来帮你分析是什么原因。

另外,你在切换的时候,把浏览器的控制台打开,看看控制台下有没什么搞出什么异常信息,你也贴到帖子里,我一并帮我分析一下。

下面这个视频是原版产品里的切换效果,顺滑的很,不存在什么错乱:

签名: 《零基础,史上最通俗视频编码技术入门》:http://www.52im.net/thread-2840-1-1.html
3 楼: ATONY Lv.2 楼主 1 个月前 | 显示全部楼层
可以取你的定义全局的选中好友ID和群组ID来用,定义缓存来用可以吗?
引用:ATONY 发表于 2019-10-19 10:48
可以取你的定义全局的选中好友ID和群组ID来用,定义缓存来用可以吗?

你在微信上说,你将原版里的JS全局缓存改成了HTML5里的sissonStorage缓存,这个只是数据的存取位置不同,显示和切换的逻辑应该是不需要变化。

不过,你具体是怎么修改的,先把原版的切换逻辑要读清楚再动手,以免改错。

你说的能否使用原版里的切换id,答案是肯定可以,原版用的地方很多,但建议你一定要看懂了再用:
var _selectedAlarmType = RBChatMainUI.getCurrentSelectedAlarmType();
var _selectecAlarmDataId = RBChatMainUI.getCurrentSelectedAlarmDataId();

另外,吐槽一下,你微信上拍的视频被微信压缩后糊的跟屎一样,什么都看不出来,更别说你晃来晃去还想给我看控制台下的小字了。。
你这IM产品的名字是叫“趣聊”吗?已经生产上线了是吧
签名: 《零基础,史上最通俗视频编码技术入门》:http://www.52im.net/thread-2840-1-1.html
5 楼: ATONY Lv.2 楼主 1 个月前 | 显示全部楼层
需要全局历史消息的缓存,我去取离线的消息缓存 还是去取历史消息缓存
引用:ATONY 发表于 2019-10-19 15:49
需要全局历史消息的缓存,我去取离线的消息缓存 还是去取历史消息缓存

你不如说你打算做什么样的功能(普通用户能听懂的,不要扯技术,越扯越讲不清),我给你建议应该怎么做
签名: 《零基础,史上最通俗视频编码技术入门》:http://www.52im.net/thread-2840-1-1.html
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部