【LUA】mac状态栏添加天气

基于网络上的版本修改的,找不到出处了。第一个摸索的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)

相关推荐

  1. Android11 MTK 状态栏添加无Sim卡图标

    2024-01-27 07:06:05       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-27 07:06:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-27 07:06:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-27 07:06:05       82 阅读
  4. Python语言-面向对象

    2024-01-27 07:06:05       91 阅读

热门阅读

  1. 2024 CKA 题库 | 15、备份还原 etcd

    2024-01-27 07:06:05       66 阅读
  2. 浅谈RPC调用

    2024-01-27 07:06:05       63 阅读
  3. 自然语言处理的发展

    2024-01-27 07:06:05       54 阅读
  4. 同态加密库Openfhe的介绍与安装

    2024-01-27 07:06:05       64 阅读
  5. “文心一言”揭秘:智能语言模型的新里程碑

    2024-01-27 07:06:05       43 阅读
  6. 【算法题】73. 矩阵置零

    2024-01-27 07:06:05       49 阅读
  7. spring(三):IOC介绍及代码实现

    2024-01-27 07:06:05       48 阅读
  8. Git使用

    Git使用

    2024-01-27 07:06:05      52 阅读
  9. 机器学习--基础概念(二)

    2024-01-27 07:06:05       56 阅读
  10. 常用命令-

    2024-01-27 07:06:05       36 阅读