第一种方法:
1、后台接入第三方平台获取最近的天气预报信息
2、将数据返回给前端,此时返回信息的是最近所有的天气预报信息 例如(当前8月3号10点整 返回的会从当前8月3号10点整-8月5号10点整中间所有时间段的天气 注意返回的均是整点信息)
3、获取当前时间戳,判别时间戳是否在返回的信息中,返回对应的天气信息
4、小程序前端渲染需要以循环的方式取值,因为天气信息返回是一个二维对象
出现问题
1、后台返回的数据为整点时间段信息,而当前时间戳是具体时间段,所以这里在测试的时候,写了整点时间戳去测试数据。但是我们实际场景中,一定是以当前具体时间去获取数据。
举例场景:后台返回来数据是8月3日10点的数据,我们可以在10点获取到数据后,但在10点01分就失去数据,因为当前时间戳不在返回的数据里面。
预期效果:数据应该是保存一个小时,到了下个时间段自动刷新。
解决思路:以时间日期的格式去判别。当前时间是在那个整点
首先获取当前时间戳。将其转换成日期格式。小程序直接转换的格式是 年/月/日 时:分:秒
而天气预报返回的日期格式是 年-月-日 时:分:秒:
所以第二步 需要去util 文件里面封装一个重写时间日期格式函数文件,将我们的当前时间格式转换成于天气预报返回的日期格式一样
第三步 比对时间数据 举例当前返回天气最新时间是 2022-8-3 10:00:00 我们的当前时间为 2