美文网首页
关注、点赞、收藏等功能的业务逻辑

关注、点赞、收藏等功能的业务逻辑

作者: While1_ | 来源:发表于2019-04-24 14:17 被阅读0次

一般来说,用户的关注、点赞、收藏等功能的状态都是由服务器返回的。

在只有单页面用到这些功能的情况下,基本就只用靠请求网络获取状态就能达到要求。

但是在多处都用到了这些状态的情况下

如何才能更好的让整个应用内的这些用户状态达到同步。

有的人说在每次进页面,回到页面就去服务端请求一次,那当我没有讲,这也简直太牛逼了。。。

问题点:

1.如何修改本地数据;(如何保证数据是最新的)

2.如何通知界面修改UI展示;(如何保证UI展示是最新的)

1.如何修改本地数据

想到的方法就是用本地数据库进行管理,创建一张关注表,主键为userId. 另外一个字段为focus 表示是否关注        

关注表

只需要在每次更新数据时,去更新这个表的内容就可以了,这样就能保证本地数据库里存的状态是当前最新的状态

但是这个只是修改了本地数据库的值,往往我们请求网络都是用model去接收网络数据,更新了数据库的值怎么去保证每一个已经存在的model的关注字段能够更新。

土方法就是 每个model 都去注册一个通知,当关注状态改变的时候就发送通知,让model去改变这个字段

2.如何通知界面修改UI展示

这里像关注、点赞这些功能都是通过用户操作触发去修改状态,所以可以将这些功能的按钮封装起来。

FocusButton 负责处理关注状态的信息,每个FocusButton 有对应的userId ,同样是应用通知,在一个button状态发生改变的时候,通知其他所有的button去更新数据,这个时候数据是从你最新的本地数据库中取的,所以所有界面的这些状态都发生了同步的变化

相关文章

网友评论

      本文标题:关注、点赞、收藏等功能的业务逻辑

      本文链接:https://www.haomeiwen.com/subject/eycggqtx.html