【LUA】mac状态栏添加天气

基于网络上的版本修改的,找不到出处了。第一个摸索的lua脚本,调了很久。

主要修改:如果风速不大,就默认不显示,以及调整为了一些格式

lua 复制代码
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)
相关推荐
烛阴2 小时前
循环背后的魔法:Lua 迭代器深度解析
前端·lua
csdn_aspnet14 小时前
在 MacOS 中安装 MySQL 8
mysql·macos
木兰不吃草19 小时前
完美解决在最新系统 MacOS 26 无法使用 playCover 键盘映射的问题(下载安装教程,完美适配)
macos·键盘映射·playcover·mac26
乾坤瞬间1 天前
【Deepseek OCR】重磅测试,mac环境下的体验【本人已经本地实验成功】
macos·ocr
开发者驿站1 天前
2025年保姆级C++环境配置教程(Windows/macOS双平台)
c++·windows·macos
猫头虎1 天前
解决升级IDEA2025.2后,每次打开Maven项目爆红的问题:Windows和Mac解决方案
java·ide·macos·maven·intellij-idea·idea·intellij idea
白玉cfc1 天前
【iOS】KVC 与 KVO 的基本了解与使用
macos·ios·objective-c·cocoa
烛阴1 天前
深入Lua包(Package)与依赖管理
前端·lua
马拉萨的春天1 天前
谈谈你对iOS的runtime和runloop的了解
macos·ios·cocoa