【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)
endfunction getWeather()hs.http.doAsyncRequest(urlApi, "GET", nil,nil, function(code, body, htable)if code ~= 200 thenprint('get weather error:'..code)returnendrawjson = hs.json.decode(body)city = rawjson.citymenuData = {}for k, v in pairs(rawjson.data) doif k == 1 thenmenubar:setTitle(weaEmoji[v.wea_img])if v.win_speed == "<3级" thentitlestr = string.format("%s %s %s 🌡️%s-%s°C", city,weaEmoji[v.wea_img], v.wea, v.tem_night, v.tem_day)elsetitlestr = 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)enditem = { title = titlestr }table.insert(menuData, item)table.insert(menuData, {title = '-'})elseif v.win_speed == "<3级" thentitlestr = string.format("%s %s 🌡️%s-%s°C %s", v.date, weaEmoji[v.wea_img], v.tem_night, v.tem_day, v.wea)elsetitlestr = 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)enditem = { title = titlestr }table.insert(menuData, item)endendupdateMenubar()end)
endmenubar:setTitle('👀')
getWeather()
updateMenubar()
hs.timer.doEvery(3000, getWeather)相关文章:
【LUA】mac状态栏添加天气
基于网络上的版本修改的,找不到出处了。第一个摸索的lua脚本,调了很久。 主要修改:如果风速不大,就默认不显示,以及调整为了一些格式 local urlApi http://.. --这个urlApi去申请个免费的就可以了 然后打开对应的json…...
网络原理-TCP/IP(1)
应用层 我们之前编写完了基本的java socket, 要知道,我们之前所写的所有代码都在应用层中,都是为了完成某项业务,如翻译等.关于应用层,后面会有专门的讲解,在此处先讲一下基础知识. 应用层对应着应用程序,是程序员打交道最多的一层,调用系统提供的网络api写出的代码都是应用层…...
C# Socket 允许控制台应用通过防火墙
需求: 在代码中将exe添加到防火墙规则中,允许Socket通过 添加库引用 效果: 一键三联 若可用记得点赞评论收藏哦,你的支持就是写作的动力。 源地址: https://gist.github.com/cstrahan/513804 调用代码: private static void …...
Centos安装mysql/mariadb
1,yum install mysql-apt-config_0.8.12-1_all.deb 似乎后面会有冲突,不建议安装mysql了,直接mariadb吧 2, No such command: uninstall. Please use /usr/bin/yum --help It could be a YUM plugin command, try: "yum install dnf-command(uninstall)" It…...
2024 年, Web 前端开发趋势
希腊哲学家赫拉克利特认为,变化是生命中唯一不变的东西。这句话适用于我们的个人生活、行业和职业领域。 尤其是前端开发领域,新技术、开发趋势、库和框架不断涌现,变化并不陌生。最近发生的一些事件正在改变开发人员构建网站和 Web 应用的方…...
Mysql 插入数据
1 为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。基本语法格式为: INSERT INTO table_name (column_list) VALUES (value_list); 使用INSERT插入数据时,允许列名称列表column_list为空,此时&…...
【每日一题】YACS 473:栈的判断
这是上海计算机学会竞赛 P 473 P473 P473:栈的判断( 2021 2021 2021年 8 8 8月月赛 丙组 T 4 T4 T4)标签:栈题意:给定 n n n个数字,已知这些数字的入栈顺序为 1 , 2 , 3... , n 1,2,3...,n 1,2,3...,n&…...
Python - 整理 MySQL 慢查询日志
在实际的数据库管理和性能优化工作中,MySQL 慢查询日志(slow query log)是一个重要的工具。当系统中的 SQL 查询花费的时间超过阈值时,MySQL 会将这些查询记录在慢查询日志中,方便进行性能分析和调优。 本文将介绍如何…...
Python算法题集_无重复字符的最长子串
本文为Python算法题集之一的代码示例 题目3:无重复字符的最长子串 说明:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "a…...
12.Elasticsearch应用(十二)
Elasticsearch应用(十二) 1.单机ES面临的问题 海量数据存储问题单点故障问题 2.ES集群如何解决上面的问题 海量数据存储解决问题: 将索引库从逻辑上拆分为N个分片(Shard),存储到多个节点单点故障问题&a…...
linux -- 内存管理 -- SLAB分配器
SLAB分配器(slab allocator) SLAB分配器用于小内存空间管理,基本思想是:先利用页面分配器分配出单个或多个连续的物理页面,然后再此基础上将整块页面分割为多个相等的小内存单元,来满足小内存空间分配的需…...
【MySQL】学习如何通过DQL进行数据库数据的条件查询
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-63IIm2s5sIhQfsfy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…...
TS:子类型关系
子类型关系 1、概念1.1 里氏替换原则1.2 自反性1.3 传递性 2、顶端类型 和 尾端类型3、字面量类型4、undefined 和 null5、枚举类型6、函数类型6.1 变型6.1.1 协变6.1.2 逆变6.1.3 双变 6.2 函数类型间的子类型关系6.2.1 函数参数数量6.2.2 函数参数类型A、非严格函数类型检查B…...
IDEA插件(MyBatis Log Free)
引言 在Java开发中,MyBatis 是一款广泛使用的持久层框架,它简化了SQL映射并提供了强大的数据访问能力。为了更好地调试和优化MyBatis应用中的SQL语句执行,一款名为 MyBatis Log Free 的 IntelliJ IDEA 插件应运而生。这款插件旨在帮助开发者…...
Redis(八)哨兵机制(sentinel)
文章目录 哨兵机制案例认识异常 哨兵运行流程及选举原理主观下线(Subjectively Down)ODown客观下线(Objectively Down)选举出领导者哨兵选出新master过程 哨兵使用建议 哨兵机制 吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新…...
[数据结构]-哈希
前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…...
宝塔控制面板配置SSL证书实现网站HTTPS
宝塔安装SSL证书提前申请好SSL证书,如果还没有,先去Gworg里面申请,一般几分钟就可以下来,申请地址:首页-Gworg官方店-淘宝网 一、登录邮箱下载:Gworg证书文件目录 ,都会有以下五个文件夹。宝塔…...
elasticsearch优化总结
参考: https://docs.docker.com/manuals/ Manuals | Docker Docs Run Elasticsearch locally | Elasticsearch Guide [8.12] | Elastic 让你的ES查询性能起飞:Elasticsearch 查询优化攻略“一网打尽” - 知乎...
图论第三天|127. 单词接龙 841.钥匙和房间 463. 岛屿的周长 1971. 寻找图中是否存在路径 684.冗余连接 685.冗余连接II
目录 Leetcode127. 单词接龙Leetcode841.钥匙和房间Leetcode463. 岛屿的周长Leetcode1971. 寻找图中是否存在路径Leetcode684.冗余连接Leetcode685.冗余连接II Leetcode127. 单词接龙 文章链接:代码随想录 题目链接:127. 单词接龙 思路:广搜搜…...
react的高阶函数HOC:
React 的高阶组件(Higher-Order Component,HOC)是一种用于复用组件逻辑的模式。它是一个函数,接收一个组件作为参数,并返回一个新的增强过的组件。 HOC 可以用于实现以下功能: 代码复用:通过将…...
OpenClaw技能开发入门:为Qwen3.5-9B定制图片分类插件
OpenClaw技能开发入门:为Qwen3.5-9B定制图片分类插件 1. 为什么需要开发图片分类技能 上周整理手机相册时,我对着3000多张杂乱无章的照片头疼不已——旅行风景、工作截图、宠物照片全都混在一起。手动分类不仅耗时费力,还经常因为主观判断不…...
OpenClaw跨平台控制:Qwen3-32B同步操作多台设备的配置方法
OpenClaw跨平台控制:Qwen3-32B同步操作多台设备的配置方法 1. 为什么需要分布式OpenClaw控制? 去年冬天,当我需要在三台不同操作系统的设备上同步执行数据清洗任务时,第一次意识到单机OpenClaw的局限性。每台设备需要单独登录、…...
终极指南:AngularJS UI-Router 路由历史管理与导航栈实现详解
终极指南:AngularJS UI-Router 路由历史管理与导航栈实现详解 【免费下载链接】ui-router The de-facto solution to flexible routing with nested views in AngularJS 项目地址: https://gitcode.com/gh_mirrors/ui/ui-router AngularJS UI-Router 是 Angu…...
AI Agent架构入门到精通:LangChain重磅DeepAgents深度拆解,看这一篇就够了!
引言:为什么传统Agent总是"浅尝辄止"? 你有没有遇到过这样的尴尬场景: 让AI助手帮你完成一个复杂任务,比如"调研一下LangGraph技术,写一份技术报告,并创建相应的代码示例"。刚开始&a…...
飞腾D3000M一体机主板硬核动力打破金融移动终端应用落地壁垒
数字经济浪潮下,金融行业正加速迈入“移动化信创化”双轮驱动时代,移动终端已成为连接金融机构与客户的核心枢纽,承载着交易结算、风险管控、服务触达等关键职能。然而,金融场景的特殊性的要求,让终端设备不仅需要强劲…...
深度探索AKTools:Python金融数据接口的HTTP API实践指南
深度探索AKTools:Python金融数据接口的HTTP API实践指南 【免费下载链接】aktools AKTools is an elegant and simple HTTP API library for AKShare, built for AKSharers! 项目地址: https://gitcode.com/gh_mirrors/ak/aktools AKTools作为一款专为AKShar…...
小个子春天怎么穿?记住这四二法则显高十厘米
小个子女生的春天穿搭,核心诉求只有一个:显高。但显高不等于穿高跟鞋,也不等于把衣服改短。真正的显高是调整比例,让视觉重心上移。我总结了一个“四二法则”,四个技巧加两个雷区,照着穿,视觉上…...
一键永久珍藏QQ空间回忆:GetQzonehistory完整备份指南
一键永久珍藏QQ空间回忆:GetQzonehistory完整备份指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心QQ空间里的珍贵回忆会随着时间流逝而消失?那些记…...
第6章 数据类型转换-6.7 转换为字典
通过使用dict()函数可以将列表或元组转换为字典。其语法格式如下:dict([x])其中,参数x为可选参数,表示列表或元组,且该列表或元组必须是键值对形式,如果省略该参数,则该函数返回空字典。示例代码如下&#…...
终极自动化解决方案:开源跨平台修复Kindle电子书封面丢失问题
终极自动化解决方案:开源跨平台修复Kindle电子书封面丢失问题 【免费下载链接】Fix-Kindle-Ebook-Cover A tool to fix damaged cover of Kindle ebook. 项目地址: https://gitcode.com/gh_mirrors/fi/Fix-Kindle-Ebook-Cover 在数字阅读时代,超过…...
