Part.One 功能概述
功能名称
加载更多
功能描述
点击“加载更多”按钮、或上拉列表时,加载更多的内容。
使用场景
当一个页面有较多的信息要展示给用户时,为了减少用户单次请求对服务器产生的性能压力和时间损耗,每次只加载固定数量的少量信息。用户浏览完之后,再向服务器发起请求,加载更多内容。
常用于内容列表,如图文列表、资讯列表、专题列表、评论列表等。
常见案例
淘宝搜索结果页商品列表、简书文章列表、网易云音乐精彩评论列表、脉脉匿名八卦的热门评论、混沌大学热文列表等。
Part.Two 功能分析
数据流向图
该功能实现逻辑是:
1.前端通过接口,向后台发起请求;
2.接口将用户信息、当前页数传到后台;
3.后台接受信息,获取下一页数据列表;
4.从数据库中提取下一页数据;
5.对数据进行排序;
6.后台通过接口,将数据回传给前端;
7.前端接收信息,并将信息按既定样式展示出来。
用数据流转图表示如下:
触发方式
大部分产品都使用以下两种方式来触发“加载更多”功能:
上拉列表页面:在淘宝的商品搜索结果页,当页内容浏览完后,上拉页面,将自动加载更多商品。
点击“加载更多”按钮:如人人都是产品经理点击列表页面底部的“加载更多”按钮加载。如下图:
需求点描述-交互
以“混沌大学热文列表”为例:
1.页面滚动到底部时,稍微上拉列表:底部显示“上拉可以加载更多”提示,向服务器发起加载更多内容的请求。
2.上拉列表:底部显示“松开立即加载更多”提示。
3.松开:底部显示“正在加载更多的数据”提示和loading动画,向服务器发起加载更多内容的请求。
4.加载完成:loading动画和提示消失,直接显示加载的内容。
需要说明的是,每次加载的内容数,根据需要设定,不建议加载过多,导致请求时间过长。如每条记录都希望用户点进去看,最好10条以内。若每条记录都只需用户一扫而过,可适当增加数量。
需求点描述-异常
1.无网络或服务器繁忙:请求失败后,弹出toast提示“网络异常”。
2.无更多内容:当内容列表中没有更多内容时,弹出toast提示“暂无更多内容,请稍后再试”。
体验细节
在做功能点调研时,我看到一些创新的设计方案。
1.页面滚动到某个位置时,自动加载更多,不需要用户可以去拉。如淘宝的商品列表;
2.页面滚动到底部时,适当上拉,即自动开始发起加载更多请求,并显示“正在加载”提示和loading动画,省略了其他的显示逻辑。如得到app的专栏文章列表。