前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一次搞懂滚动加载

一次搞懂滚动加载

作者头像
用户5166556
发布2019-11-26 15:20:57
1.1K0
发布2019-11-26 15:20:57
举报

分页加载通常适用于客户端,通常是为了防止一次返回导致客户端崩溃,所以采用下拉加载更多的方式,为了防止数据重复的现象,数据传递建议使用唯一标识id。 普通的下拉加载方式 对于普通的下拉加载我们通常处理方式分为以下步骤: 1 客户端传递请求数目大小和上一次请求最后一条数据的id或者时间(如果是第一次请求则可以不传递) 2 对于后端按照终端请求的id或者时间进行某种特定次序排列,取固定数目返回给终端。由此便可以保证终端每次获取到正确数据

核心sql查询语句

SELECT * FROM admin  WHERE id < 10000 ORDER BY id DESC LIMIT 1, size

具体定义的数据结构

 # 接口地址/scroll/list

# 请求方式HTTP  GET
# 入参{    "size":10,//请求大小    "id":1 //返回数据最后一条id }# 出参# 成功
{  "flag": 1,  "result": {    "hasMore": ture, //是否有更多数据    "total": 68,    "list": [      {          "id":1, //文件Id          "desc":"描述", //可以为空          "name":"David"      },      {          "id":2, //文件Id          "desc":"描述", //可以为空          "name":"Tom"      },      ...    ]  }}
#失败{  "flag":0,  "result":"错误信息"}

对于包含特定条件次序的分页加载的处理方式 比如说,项目要求已经置顶的数据的排列在所有数据的最前面(当然置顶数据的id可能比较小)那么就需要先按照置顶排序、id排序,然后查询数据(对于查询数据,则要根据不同的条件进行不同的处理)。 核心sql查询语句

SELECT * FROM admin  WHERE #if(id!=null && state==2) ((id < 21 AND state=2) OR state != 2)) #elseif(id!=null && state!=2) id < 23 ORDER BY FIELD(state,2) DESC, id DESC LIMIT 1, size

具体定义的数据结构

 ## 接口地址
/scroll/list```
## 请求方式HTTP GET
## 入参{    "size":10,//请求大小    "id":1 //返回数据最后一条id,第一次请求不用传递    "state":2 //返回最后一条数据的状态信息,第一次请求不用传递   }## 出参### 成功{  "flag": 1,  "result": {    "hasMore": ture, //是否有更多数据    "total": 68,    "list": [      {          "id":1, //文件Id          "desc":"描述", //可以为空          "name":"David",          "state":1      },      {          "id":2, //文件Id          "desc":"描述", //可以为空          "name":"Tom",          "state":2      },      ...    ]  }}### 失败{  "flag":0,  "result":"错误信息"}

总结

第二种情况在项目中比较常见,不同的排序条件可能会导致数据的遗漏。故在分页加载过程中要考虑多种情况以及状态判断,做到不重不漏。

添加关注第一时间收到通知

原创不易,如果觉得有用,可以随手转发或者”在看“

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生技术爱好者社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档