现在客户端做下拉刷新,客户端第一次请求,我给他10条数据list,按create_time降序,还有time参数,time为当前请求时间,之后请求都带着我给的time来请求。
后台根据update_time > time
来返回最新的数据,最多10条。
客户端根据我传过来的list对应的id来更新本地的数据,客户端只能保留最新的10条数据。
后台数据11条:create_time为1——11;
客户端第一次数据为10条:create_time为2——11;
这个时候如果第一条数据被更新,我会返回它,但客户端因为没有对应的本地数据,所以出现了排序错乱。导致客户端list中出现了create_time为1的信息。
关于这种情况,服务端该如何做下拉刷新的接口?或者有什么更好的办法去实现。
现在客户端做下拉刷新,客户端第一次请求,我给他10条数据list,按create_time降序,还有time参数,time为当前请求时间,之后请求都带着我给的time来请求。
后台根据update_time > time
来返回最新的数据,最多10条。
客户端根据我传过来的list对应的id来更新本地的数据,客户端只能保留最新的10条数据。
后台数据11条:create_time为1——11;
客户端第一次数据为10条:create_time为2——11;
这个时候如果第一条数据被更新,我会返回它,但客户端因为没有对应的本地数据,所以出现了排序错乱。导致客户端list中出现了create_time为1的信息。
关于这种情况,服务端该如何做下拉刷新的接口?或者有什么更好的办法去实现。
搬运.
可以参考 twitter: Working with Timelines
简单的办法,用服务器的最新列表替换本地的列表。
比如第一次,客户端拿到的是5 4 3 2 1
过了几秒客户端刷新,拿到的是7 6 5 4 3
就用7 6 5 4 3替换5 4 3 2 1
网页么?如果是网页可以看下ajax,说白了就是定时刷新
原理可以在客户端显示上做索引,根据ID去更新相应的信息和调序等,或者直接清理掉把新数据插入