1. 客户端网络逻辑整理及建议
1.1. 第一次进入页面显示占位
下面是已有逻辑,以后保持目前逻辑,统一处理。
- 无网络(没有Wifi,没有4G),期望提示语:No network。
- 服务端报错,期望提示语:Loading failed。
- 服务端返回空,期望提示语:No data。
1.2. 第一次进入页面loading显示
- loading显示场景不明确,导致开发自己想象,比如进入“消息中心”有loading,进入“首页”没有。
- loading样式根据场景做不同的区别,比如第一次进入页面与点击事件的loading可以有不同的视觉效果。
- loading开始显示与结束的逻辑需要明确,比如一个页面加载有2个请求,是等一个请求完成后消失还是两个都完成后消失,比如:首页。
1.3. 点击事件及反馈
- 明确是否需要增加loading等待,比如目前逻辑:点赞不显示loading,发布动态显示loading。
- 涉及网络请求的点击,反馈提示不明确,应该如何提示,个人认为如果产品没有定义,客户端不应该存在提示,因为客户端也不知道如何提示。
- 允许用户最大的等待时间不明确,目前客户端统一的超时时间是30s,是否合理,有待确定。
- 统一错误提示需要明确,比如:网络超时,没有网络,服务端报错,根据不同错误码给出指定提示。
- 重复点击处理,用户可能重复发出多个事件及请求。
1.4. 网络监听处理
- 用户第一次进入页面,没有网络,页面显示了空占位,是否通过网络监听自动重新加载数据。
- 用户看视频的时候,是否提示用户正在使用4g。
1.5. 上拉下拉刷新
- 当页面已经有数据的情况,这个时候下拉刷新,服务端报错,这个时候是显示空还是继续显示数据,是否给出错误提示。
- 当页面已经有数据的情况,这个时候上拉加载更多,服务端报错,是否给出错误提示。
1.6. Toast重叠
- 当用点击了两个有提示的按钮,可能导致Toast重叠。
- App弹窗显示逻辑处理,当App首页存在多个窗口的时候,那么需要处理。
1.7. 日志完善
- 确保每个请求都在控制台有日志打印,目前有些网络请求没有。
- 调试日志完善,GWLog增加上报或者支持沙盒。