口袋改版资源吧 关注:224,398贴子:1,459,054
  • 1回复贴,共1

【转载】【ESS全版本】获取实时实地天气

只看楼主收藏回复

【使用或转载请注明出自宝可饭堂社区网页链接
-
作者:@ES泽洛
-
毫无疑问这是一个需要网络连接的功能,所以模拟器是不支持的,不过你可以处理成未联网时不显示。
-
注意:天气API使用的是心知天气,仅支持国内城市。
-
首先在main上方插入一个地方写下以下代码:
Ruby:
$last_req_time = 0
$weather = ""
def getWeather
#请求的服务器接口
url = "http://0vej.esplus.club/update/weather.php"
#限制请求频率为1分钟,防止服务器拒绝频繁请求
if Time.now.to_i - $last_req_time > 60
$last_req_time = Time.now.to_i
#将服务器返回的字符串下载到本地
weathers = pbDownloadToString(url)
if weathers == "" || weathers == "error" #失败
echoln "failed to get weather"
else #成功
#将字符串转换成数组
weathers = weathers.split(",")
$weather = "天气:" + weathers[1] + " 气温:" + weathers[2] + "℃"
end
end
end
-
#weathers[0] 基于ip的市级地址,可能不准确,所以不建议显示
再在其他地方先调用getWeather这个函数,再使用$weather的值,具体用法不限制,以下是一个示例,在BW暂停菜单上显示。


IP属地:江苏来自Android客户端1楼2022-11-07 12:12回复
    示例



    IP属地:江苏来自Android客户端2楼2022-11-07 12:16
    回复