关于请求数据(是否弹出强制购买页面)
将是否显示强制购买的数据请求结果定为进入程序的必经步骤
1.先从本地判断是否已经购买
已购买, 直接进入程序
return;
2.未购买逻辑
判断本地是否有上次的请求结果,
有结果,结果表示审核通过 ,直接显示强制购买
return;
有结果,结果表示未审核通过, 使用缓存有效期, 低于1小时使用本地缓存,
超过1小时执行请求(提高审核期,进入程序的速度)
3.数据请求逻辑
无网络,停留在启动界面.(注:不弹强制购买, 也不进入程序)
有网络,请求网络 没有超时时间限制, 直到请求到结果
请求失败, 直接进入程序.(注:不弹强制购买, 也不进入程序)
请求成功,根据结果判断进入还是显示强制页面, 并缓存结果
关于请求json的逻辑
要点:
0.目前将获取程序中3个json都定义为进入主机面的的必经步骤
0.1 请求每日精选json
0.2 请求主页图片数据json
0.3 请求支付的json
1.获取json的逻辑放在Start场景里处理
2.json的存储逻辑,本地缓存,每个json的有效期为1天
步骤:
Start场景中
如果本地存在, 直接进入下一个场景
如果本地存在,但是过期了,则执行请求逻辑.请求完成后,
写入本次请求的时间到本地(请求的结果再不用写入本地了)
如果json与本地不一致, 则执行刷新界面逻辑
如果本地不存在,则请求服务器
没有网络或请求失败, 则停留在Start场景.(防止在主界面没有数据问题)
请求成功(注: 3个json都全部请求成功,才算成功),
将json写入本地
将本次收到请求结果的时间写入本地(用于判断是否过期)
进入下一个场景.
网友评论