问题是这样的,小程序加了分页以后,一开始翻页没发现问题,但当我突然在后台新增一条数据时就会出现重复数据了,要是放到生产环境被用户发现岂不就直接怪罪到小程序端了,但小程序端看了代码却没发现问题就怼后端,这什么破接口我明明按文档调用接口的咋整出重复数据了,后端的人看接口返回数据也没出现重复数据而且前端web页面翻页也没出现重复数据呀,于是就开始一场互怼的斗争……这就是所谓的公说公有理婆说婆有理的真实写照。
当然这我希望这只是我主观臆测的场景而并非某些公司的日常,冷静查找、分析后你会发现造成出现重复数据主要是因为新增数据后导致分页offSet(偏移值)改变了,而前端web页面没出现重复数据是因为分页是翻页的,但小程序、app等的分页是直接追加数据这样就出现了下一页的第一条数据是上一页的最后一条数据,所以才会出现重复数据。
既然知道了前因后果那么就可以对症下药了。考虑到后端随时都可能新增数据,于是我们加个时间查询条件每次只查询指定时间的数据,但是又不能不加载新增的数据于是得在小程序、app端主动刷新查询时间,好了好了各端不要争吵了开始干活了,后端加个时间查询条件、其他端参数带查询时间并做好对应的更新时间,考虑到移动端界面又小搞太多按钮又不美观,于是最后决定底部点击加载更多数据、顶部下拉更新查询时间,最后效果如下图。
![](https://www.xubingtao.cn/wp-content/uploads/2020/08/处理分页数据重复.jpg)
历史上的今天:
展开阅读全文