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