ChatKit-OC icon indicating copy to clipboard operation
ChatKit-OC copied to clipboard

设置好了用户体系,退出程序后,再次进入应用联系人列表里并没有加载之前获取的用户信息,源码里也没找到缓存用户信息的实现,是不是目前还没实现呢?

Open xueqiulou opened this issue 7 years ago • 6 comments

xueqiulou avatar Aug 11 '16 09:08 xueqiulou

还没有做是因为还没有想好用户信息的本地缓存方案,因为涉及到APP的用户信息更新,而ChatKit是不关心用户系统的,所以暂时来看应该是APP这端做本地缓存会更合适一点。如果你有什么好的建议也欢迎提出来。

ChenYilong avatar Aug 11 '16 09:08 ChenYilong

既然设置了用户体系,ChatKit也拿到用户信息了,我觉得可以在显示用户信息之前把用户信息缓存起来,因为显示用户信息的逻辑也是ChatKit做的,可以只把app当做数据提供者,我觉得这个应该和聊天内容一样的逻辑,有网络的时候加载网络数据,没网的时候加载缓存数据,不知道你觉得这样写会有什么问题...

xueqiulou avatar Aug 11 '16 10:08 xueqiulou

比如:APP层更新了用户的头像,ChatKit不知道,展示的还是旧的,而且也无法更新本地缓存。如果APP层自己做缓存,然后在 -setFetchProfilesBlock: 接口返回,一样可以达到无网络加载缓存数据的目的。

ChenYilong avatar Aug 11 '16 10:08 ChenYilong

嗯,之前确实也想到了问题,那我就自己写缓存用户信息吧,谢啦

xueqiulou avatar Aug 12 '16 01:08 xueqiulou

嗯,好的。有问题随时提issue。

ChenYilong avatar Aug 12 '16 01:08 ChenYilong

@ChenYilong 总觉得ChatKit可以做本地的用户信息缓存,毕竟涉及到的只是头像,名字的通用信息。关于你提到的头像更新问题,可以加一个接口让用户自己来调用更新用户信息。例如用户可以每次进入和具体某个人的聊天窗口触发一次update,甚至每次到聊天列表页触发一次全量的用户信息更新,但是会先显示老的信息,我觉得这个体验并没有什么问题。

zjmdp avatar Oct 12 '17 05:10 zjmdp