【LUA】mac状态栏添加天气
local urlApi = 'http://..'
--这个urlApi去申请个免费的就可以了 然后打开对应的json数据修改
local menubar = hs.menubar.new()
local menuData = {}
local weaEmoji = {
lei = '????️',
qing = '☀️',
shachen = '????',
wu = '????',
xue = '❄️',
yu = '????',
yujiaxue = '????',
yun = '☁️',
zhenyu = '????',
yin = '⛅️',
default = ''
}
function updateMenubar()
menubar:setTooltip("Weather Info")
menubar:setMenu(menuData)
end
function getWeather()
hs.http.doAsyncRequest(urlApi, "GET", nil,nil, function(code, body, htable)
if code ~= 200 then
print('get weather error:'..code)
return
end
rawjson = hs.json.decode(body)
city = rawjson.city
menuData = {}
for k, v in pairs(rawjson.data) do
if k == 1 then
menubar:setTitle(weaEmoji[v.wea_img])
if v.win_speed == "<3级" then
titlestr = string.format("%s %s %s ????️%s-%s°C", city,weaEmoji[v.wea_img], v.wea, v.tem_night, v.tem_day)
else
titlestr = string.format("%s %s ????️%s-%s°C ????%s %s %s", city,weaEmoji[v.wea_img],v.tem_night, v.tem_day, v.win_speed, v.win, v.wea)
end
item = { title = titlestr }
table.insert(menuData, item)
table.insert(menuData, {title = '-'})
else
if v.win_speed == "<3级" then
titlestr = string.format("%s %s ????️%s-%s°C %s", v.date, weaEmoji[v.wea_img], v.tem_night, v.tem_day, v.wea)
else
titlestr = string.format("%s %s ????️%s-%s°C ????%s %s %s", v.date, weaEmoji[v.wea_img],v.tem_night, v.tem_day, v.win_speed, v.win, v.wea)
end
item = { title = titlestr }
table.insert(menuData, item)
end
end
updateMenubar()
end)
end
menubar:setTitle('????')
getWeather()
updateMenubar()
hs.timer.doEvery(3000, getWeather)