致美化公众号
关注致美化公众号
获取一手美化信息及素材

修复雨滴皮肤 Welfare 中的天气功能

48 原创文章,版权归作者解释,转载需署名。

阅读本文、实现文中需求需要你对编程知识有一定了解,不过一步一步跟着走就算完全不理解的话也是可以实现的,来试试吧~

前言

虽然也是我们致美化的老用户了,但是过去仅限于 UltraUXThemePatcher + StartlsBack 两个软件,我不太喜欢桌面花里胡哨的感觉,所以一直以来我的桌面都是这样色儿的:

Snipaste_2021-01-17_10-59-03

壁纸软件我用的是 WinDynamicDesktop,本站地址:WinDynamicDesktop ,就是模仿 MacOS 上面随时间切换的功能,awesome。

直到左田(昨天),实在受不了晚上当壁纸切换为暗色的时候,StarlsBack 透明任务栏文字依然是黑色,导致时钟看不清楚,我就想在桌面上挂一个时钟。早就听说了 RainMeter 的大名,下载下来一试,果然很香。不过默认的主题还是太过普通了,所以我就在主题里面摸索,终于找到了一个好看的雨滴皮肤,它的宣传图如下:

这个皮肤在本站的地址:Welfare,而安到我的桌面上是这样的:

Snipaste_2021-01-17_11-01-19

还不错,风格也不算突兀,算是我这种简洁党能接受的。

不过安装好了之后一看,它有个天气功能,一开始这个天气功能是不能用的,获取不到天气,而且它在设置里有设置地址的功能,但是我点进去那个获取地址的网站是无法访问的,原来是这个网站早已停服了,大半夜的我不信邪,决定自己找一个天气嵌进去,找到了一个免费的API,但是由于编码问题,而且解析的格式略有不同,于是我决定在自己电脑上用 Python 开一个端口,用于天气API和这个皮肤之间的一个中介,获取到API之后经过一系列的解析,返回这个皮肤所需的文字,说干就干!

注册账号

这个天气 API 的地址是:天气 API,使用邮箱即可注册,不需要手机号,注册之后需要使用发到邮箱中的激活码进行激活之后才可以使用免费功能。

注册之后留意“用户中心”中给你的 APPID 和 APPSecret,就是下图中打码的那两个地方,不用记,不过之后要填入链接的 URL 中才可以正确获取信息。

如果你还没有安装 Python,可以先下载一个 Python 3.8,往上一搜就有教程,这里就不再赘述了,记得安装的时候把它添加到 PATH 中。

修改皮肤

在下载/安装 Python 期间,我们首先来修改皮肤。首先下载并导入 Welfare 皮肤,然后右键状态栏雨滴图标 -> 皮肤 -> 打开皮肤目录,进入 Welfare/Weather Info 的文件夹,将 WeatherInfo.ini 移动到其他地方作为备份(最好不要在原地改名,我把原来的改成了 WeatherInfo – Old.ini 到原文件夹,结果遇到了退出 Game Mode 时它自动加载 WeatherInfo – Old.ini 的情况)。之后把从附件中下载的 WeatherInfo.ini 放进 Weather Info 文件夹中。

安装一些必要的包

安装好 Python 之后,需要使用 pip 安装 flask 和 requests 两个包,如果不会的话,可以百度“pip 安装 flask”(不是 flash),如果安装的时候遇到了未找到 pip 命令之类的问题,可以先百度“python 安装 pip”,这里我也不再赘述了,如果这一步进行不下去的话,比较遗憾地告诉你,可能需要其他人的帮助或者放弃了。

修改文件

在下载安装那两个包期间,我们来修改下载好的 python 文件。压缩包中有 weather.py 和 weather-service.py 两个 py 文件,把它们解压到一个安全的地方。一般只需要修改 weather.py,使用记事本打开进行编辑,将其中的链接中的 appid= 以及 appsecret= 后面两个地方换成你自己上面注册之后给的值,修改的地方如图中红框所示(图中一行被分开了,“你的APPID”是同一个地方),例如修改后的链接形如

https://tianqiapi.com/api?version=v6&appid=123456&appsecret=ABCDEFG%s

接下来如果 pip 那两个包安装好了的话,在解压出来 py 文件的文件夹中按住 Shift 并右键,选择“在此处打开 Powershell 窗口”,等待一会它会出来 PS F:pythonWelfare-weather> 的字样(如果没有,按一下回车),然后在里面执行

python weather-server.py

如果显示类似下图的结果,并且在浏览器中输入 127.0.0.1:5000 之后能显示网页,则说明大功告成:

浏览器显示:

否则,如果报告端口无法打开之类的问题,可能是端口被占用了,这时候编辑 weather-service.py,将最下面一行的 app.run(port=5000) 中的数字改成一个其他数字再试,对应编辑浏览器中的地址,例如改为 5505,则浏览器中输入 127.0.0.1:5505,直到成功。最后,如果修改了端口,则将这一数字填入 WeatherInfo.ini 中 URL 的地方,如图所示:

到这里就基本完成了,一般来说它会自动识别你的 IP 地址,如果识别出来的位置不够精确,或者和你所在的地方不同,则需要手动填入 cityID。用记事本打开压缩包中的 city-json.txt,搜索你所在的地方,例如搜索“杨浦区”,但是可能会发现找不到,如图:

那么可以先搜索“上海”,然后一个一个找,如下图,原来是“杨浦”

复制这一行最前面的 id 的数字,这里是 101021700,然后右键雨滴状态栏图标,皮肤 -> Welfare -> Settings -> Settings.ini,打开它的设置页面,然后在 Enter Weather Code Here 后面的输入框中输入复制的数字,输入之后按回车,如图:

然后右键天气小组件 -> 刷新皮肤,就能显示出当前的天气了

注意到背景是 qing ,意思就是晴,因为汉字没有这个字体,所以我就用拼音代替了,嘻嘻。

然后在刚才的 Powershell 窗口中,按 Ctrl – C (不要选中任何文字),然后关闭之。

把压缩包中的 Python 天气服务.bat 复制到 C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp 中,这一步需要管理员权限,之后右键这个文件,用管理员身份运行,会出现一个一闪而过的窗口,再次打开浏览器进入刚才的网址,如果修改过端口则需要填入修改后的端口,例如 127.0.0.1:5000,如果还能显示,则说明成功了。

最后是所有文件的压缩包地址,需要登录才可以看到,毕竟搞了一晚上加一上午写文章,希望大家资瓷一下,嘻嘻。最后如果遇到了什么问题的话,也欢迎留言,我尽我努力帮助大家!

懒人包

大家好!我又来了,上面的教程,大家是否都学废了呢?我写完之后发觉确实有点太复杂了,似乎门槛有点高,我又琢磨了一下,既然雨滴自带了很多 API,那我直接学一学,用原生雨滴直接实现,是不是会好一点呢?话不多说,我们开始吧。

前面的步骤和上面文章一样,需要注册一个天气API的账号并且激活,记住 APPIDAPPSecret,然后直接用附件里面的 WeatherInfo.ini 替换皮肤路径下 Welfare/Weather Info/WeatherInfo.ini 即可。然后把对应的 APPID 和 APPSecret 改成你自己的就行了,就是图中红框打码的地方。

没了,就是这么简单!那么为什么上一篇长篇大论写了那么多,又是浏览器又是 Python 的?主要是因为这个链接解析出来的内容有编码问题,我搞了好久都没搞出来,今天搜了一个小时,终于搜到了解决办法。而且用 Python 的办法会比这个灵活一些,功能的定制更加方便,你可以随意在链接里面加入自己想要加入的内容。

好了,最后压缩包放在这里,大家自行下载就好。

已有48条评论,让我们看看你的独特见解

🚨 小黑屋
  1. ᝰꫛꫀꪝ
  2. 情绪
  3. 哈哈
  4. N丶D
  5. cem
  6. 饿饿-
  7.    
  8. 我就要爆炸