默認
發表評論 5
想開發IM:買成品怕坑?租第3方怕貴?找開源自已擼?盡量別走彎路了... 找站長給點建議
[已回復] 求助RainbowChat-Web中,我將消息緩存改為HTML5的sissonStorage后,切換錯亂
閱讀(1110) | 評論(5 收藏 淘帖
好友選中【首頁"消息"處理】您當前點擊(選中)的是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和本身就是全局存儲的。

你拍個完整的演示視頻(把整個電腦屏幕拍進來,拍全一點),完整的演示給我看一下,視頻可以微信上發我,我看后再來幫你分析是什么原因。

另外,你在切換的時候,把瀏覽器的控制臺打開,看看控制臺下有沒什么搞出什么異常信息,你也貼到帖子里,我一并幫我分析一下。

下面這個視頻是原版產品里的切換效果,順滑的很,不存在什么錯亂:

簽名: 《IM里“附近的人”功能實現原理是什么?如何高效率地實現它?》http://www.hqkrtb.live/thread-2827-1-1.html
可以取你的定義全局的選中好友ID和群組ID來用,定義緩存來用可以嗎?
引用:ATONY 發表于 2019-10-19 10:48
可以取你的定義全局的選中好友ID和群組ID來用,定義緩存來用可以嗎?

你在微信上說,你將原版里的JS全局緩存改成了HTML5里的sissonStorage緩存,這個只是數據的存取位置不同,顯示和切換的邏輯應該是不需要變化。

不過,你具體是怎么修改的,先把原版的切換邏輯要讀清楚再動手,以免改錯。

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

另外,吐槽一下,你微信上拍的視頻被微信壓縮后糊的跟屎一樣,什么都看不出來,更別說你晃來晃去還想給我看控制臺下的小字了。。
你這IM產品的名字是叫“趣聊”嗎?已經生產上線了是吧
簽名: 《IM里“附近的人”功能實現原理是什么?如何高效率地實現它?》http://www.hqkrtb.live/thread-2827-1-1.html
需要全局歷史消息的緩存,我去取離線的消息緩存 還是去取歷史消息緩存
引用:ATONY 發表于 2019-10-19 15:49
需要全局歷史消息的緩存,我去取離線的消息緩存 還是去取歷史消息緩存

你不如說你打算做什么樣的功能(普通用戶能聽懂的,不要扯技術,越扯越講不清),我給你建議應該怎么做
簽名: 《IM里“附近的人”功能實現原理是什么?如何高效率地實現它?》http://www.hqkrtb.live/thread-2827-1-1.html
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
乐彩网17500