CrazyCat404 发表于 2020-12-6 21:58:20

天气信息~15日预报和24小时预报

本帖最后由 CrazyCat404 于 2021-6-18 19:15 编辑

2021.6.18 紧急更新
如果在您的电脑上所有数据都显示为0,那么请下载修复文件。(该问题我正在尝试解决,目前只有这种笨方法)
链接:https://pan.baidu.com/s/1H2YFgbrTMatKOTJDa42vYQ
提取码:rmcc


2021.5.18
3.0 更新**** Hidden Message *****
效果图



①取消了对 JsCC.dll 的支持(因为这个插件的新版本有些未知的错误,而雨滴自身的结构无法避免)。
②把接口写入了 WeatherOL.dll ,雨滴代码书写更加明了,数据更新内置在 dll 插件里,如果遇到错误则每1分钟刷新一次,正常则每10分钟刷新一次。


附录I

CitySetting 皮肤 没有使用任何 dll插件!该皮肤可用于设置 使用 “中国天气网”、“气象在线” 接口的 天气皮肤的 城市ID。
使用方法:
①将CitySetting文件夹复制到所需的皮肤文件夹内。
②打开 CitySetting.ini 文件,修改 Variables 节点内的 “cityID变量名称”(所需皮肤内的ID变量的名称)、“cityID变量所在文件”(该变量所在的文件位置)、“cityID刷新皮肤”(修改好ID变量后的动作,一般是刷新所需皮肤)。


附录II
WeatherOL.dll 的使用方法:

Measure=Plugin
Plugin=WeatherOL.dll
; id为所在城市的id,可通过CitySetting皮肤设置
ID=101010100

;;; 该Measure返回值类型
; 省
Type=province
Type=省
; 市
Type=city
Type=市
; 县或者区
Type=district
Type=地区
; 城市所在经度
Type=Longitude
Type=经度
; 城市所在纬度
Type=Latitude
Type=纬度
; 天气数据的发布时间
Type=reporttime
Type=发布时间
; 今日农历信息
Type=nongLi
Type=农历
; 天气
Type=weather
Type=天气
; 天气图标
Type=weatherIcon
Type=天气图标
; 温度
Type=temperature
Type=温度
; 体感温度
Type=feelstemperature
Type=体感温度
; 气压
Type=airpressure
Type=气压
; 可见度
Type=visibility
Type=可见度
; 湿度(百分数)
Type=humidity"
Type=湿度
; 风力
Type=windpower
Type=风力
; 风向
Type=winddirection
Type=风向
; 空气质量指数
Type=AQI
Type=空气质量指数
; 空气质量等级(1到6)
Type=AQIlevel
Type=空气质量等级
; 今日贴士
Type=tips
Type=提醒
Type=贴士

; 太阳的位置(0到1为白天升起到下落,-1到0为夜里下落到升起)
Type=sun
Type=太阳
; 日出时间
Type=sunrise
Type=日升
Type=日出
; 日落时间
Type=sunset
Type=日落
; 月亮位置,同太阳位置
Type=moon
Type=月亮
; 月出时间
Type=moonrise
Type=月升
; 月落时间
Type=moonset
Type=月落


; 限行指数
Type=restriction
Type=限行
; 晨练指数
Type=exercise
Type=晨练
; 穿衣指数
Type=clothes
Type=穿衣
; 钓鱼指数
Type=fishing
Type=钓鱼
; 感冒指数
Type=flu
Type=感冒
; 化妆指数
Type=makeup
Type=化妆
; 紫外线指数
Type=ultraviolet
Type=紫外线
; 洗车指数
Type=carwash
Type=洗车
; 运动指数
Type=sport
Type=运动
; 后边加上“+”表示补充内容
Type=restriction+
Type=限行+
Type=exercise+
Type=晨练+
Type=clothes+
Type=穿衣+
Type=fishing+
Type=钓鱼+
Type=flu+
Type=感冒+
Type=makeup+
Type=化妆+
Type=ultraviolet+
Type=紫外线+
Type=carwash+
Type=洗车+
Type=sport+
Type=运动+


; 气象局发布的预警数量
Type=alert
Type=预警
; 预警省份(0为序号,从0开始计数。加入总共发布有3个预警,那么就是 0 到 2)
Type=alert.0.provice
Type=预警.0.省份
; 预警城市
Type=alert.0.city
Type=预警.0.城市
; 预警发布时间
Type=alert.0.publishTime
Type=预警.0.发布时间
; 预警id
Type=alert.0.id
Type=预警.0.id
; 预警等级
Type=alert.0.level
Type=预警.0.等级
; 预警类型
Type=alert.0.type
Type=预警.0.类型
; 预警内容
Type=alert.0.content
Type=预警.0.内容


; 昨日天气+15日预报(0为序号,昨天是 0 ,今天是 1 ,明天是 2 ,... ,0 到 15)
; 预报日期
Type=day.0.date
Type=日.0.日期
Type=天.0.日期
; 星期
Type=day.0.week
Type=日.0.星期
; 白天天气图标
Type=day.0.weatherIcon
Type=日.0.天气图标
; 白天天气
Type=day.0.weather
Type=日.0.天气
; 白天温度
Type=day.0.temperature
Type=日.0.温度
; 白天风力
Type=day.0.windpower
Type=日.0.风力
; 白天风向
Type=day.0.winddirection
Type=日.0.风向
; 后边加上“+”表示 夜里
Type=day.0.weatherIcon+
Type=日.0.天气图标+
Type=day.0.weather+
Type=日.0.天气+
Type=day.0.temperature+
Type=日.0.温度+
Type=day.0.windpower+
Type=日.0.风力+
Type=day.0.winddirection+
Type=日.0.风向+


; 24小时预报(0为序号,0 到 24)
; 预报时间
Type=hour.0.time
Type=时.0.时间
; 天气图标
Type=hour.0.weatherIcon
Type=时.0.天气图标
; 天气
Type=hour.0.weather
Type=时.0.天气
; 温度
Type=hour.0.temperature
Type=时.0.温度
; 风力
Type=hour.0.windpower
Type=时.0.风力
; 风向
Type=hour.0.winddirection
Type=时.0.风向

2021.4.25
2.0.1 更新

①修复了4.3版本的雨滴的城市设置界面空白的bug
②优化了皮肤的变量修改,把15日预报和24时预报作为单独子皮肤使用
③优化了皮肤的缩放和拖动设置
④添加了背景模糊设置
⑤优化了JsCC.dll代码,加入了类似WebParser的FinishAction、OnConnectErrorAction和OnJsonParserErrorAction选项;takeValue和takeSize中对于数字可输入公式,例如[:takeValue($(1+1))]与[:takeValue($2)]效果相同


2021.1.25
1.4.1 优化
优化了预警皮肤对多个预警信息的显示Bug,关闭上条预警信息后可立刻显示下条信息
2021.1.19
1.4版本优化①优化预警皮肤中预警内容内换行符的显示,
预警皮肤预览:
图1为主要预警信息,有14种类型和4个等级。图二为预警详细内容。图3为关闭按钮。
预警皮肤弹出后图1与图2切换显示。鼠标放到皮肤上后,仅显示图2,内容较长时可滚动鼠标中键查看。鼠标移到皮肤中心部分时显示关闭按钮,按下后关闭预警皮肤,天气皮肤本次打开期间不再显示该条预警,若用其他方式关闭该预警皮肤,则天气皮肤下次更新天气信息时将继续弹出该条预警。

②修正JSCC插件takeValue函数关于换行符的替换问题,
③对字符串比较插件Compare.dll增加被比较字符串删除命令,[!CommandMeasure MeasureName "Delete ********"]可以删除被比较的字符串。(该插件具体内容见2021.1.18更新)

2021.1.18
1.3版本更新
皮肤更新
增加预警皮肤,使用Shape绘制了15种预警图案。
每次打开天气皮肤后刷新到天气预警信息后,会弹出预警皮肤,点击关闭预警皮肤后,本次天气皮肤打开期间同一条预警信息不再弹出。
插件更新
修了JSCC.dll的一些小BUG。
写了一个字符串比较插件(不会写lua脚本{:10_413:})Compare.dll。
节点自定义属性String、String2、String3...写入被比较的字符串列表。[!CommandMeasure MeasureName "Add ********"]可以添加被比较的字符串。使用节变量,如果列表中存在该字符串就替换为1,否则替换为0。
例如

Measure=Plugin
Plugin=Compare
String=10001
String2=10002
节变量和都为1,为0。
[!CommandMeasure MeasurePlugin "Add 10003"]执行之后,也为1。

2020.12.31 优化
优化了城市选择界面的打开和关闭,点击天气皮肤的城市名称即可打开城市选择界面。。

12.8 更新

皮肤更新
鉴于大部分人的IP返回的城市ID都不正确,我添加了设置城市的界面
分别是省、市、区



JsCC.dll插件更新
添加了takeSize节变量。用法同takeValue节变量。
例:https://cfg.weatherol.com.cn/js/area.js
,返回省级级单位总数 ,返回北京直辖市下的市级单位总数
$0,disList)],返回北京市下的区级单位总数

===========================================================
12.6
好久没有发小东西了~~~
**** Hidden Message *****



static/image/hrline/line4.png
static/image/hrline/line4.png

首先是天气新的接口,返回js结构的天气信息,极其好用!



获取的是气象在线网站的天气信息,可以比对着网页上的数据查看api返回的数据


1、根据IP返回城市ID,一般来说是正常的,有人可能会出错
url=http://wgeo.weather.com.cn/ip/
header=Referer: http://wgeo.weather.com.cn/
返回数据:var ip="xxx.xxx.xx.xxx";var id="101010100";var addr="北京,北京,北京"


2、返回当前天气&15日天气预报&24h天气预报
http://www.weatherol.cn/api/home/getCurrAnd15dAnd24h?cityid=101010100
返回数据:
当前天气信息   {data}{current}{current}{info}
info:
"airpressure":"大气压"
"weatherPic":"天气图标编号"
"visibility":"可见度"
"windpower":"风速"
"feelstemperature":"体感温度"
"temperature":"温度"
"weather":"天气"
"humidity":"湿度"
"weatherIndex":"意义不明"
"winddir":"风向"
"reporttime":"发布时间"
农历信息   {data}{current}{nongLi}
空气质量   {data}{current}{air}{info}
info:
"levelIndex":"质量等级"
"AQI":"质量指数"

小贴士   {data}{current}{tips}
15日天气   {data}{forecast15d}[num]{info}
num:0(昨天),1(今天),2,...,15
info:
"week":"周一"
"forecasttime":"12/07"
"weather_am":"白天天气"
"weather_am_pic":"图标编号"
"weather_pm":"夜晚天气"
"weather_pm_pic":"图标编号""temperature_am":"最高温"
"temperature_pm":"最低温"
"winddir_am":"白天风向"
"windpower_am":"白天风速"
"winddir_pm":"夜晚风向"
"windpower_pm":"夜晚风速"
24小时天气   {data}{forecast24h}[num]{info}
num:0,1,2,...,23
info:
"forecasttime":"预报时间"
"weather":""
"weatherPic":""
"temperature":""
"windPower":""
"windDir":""
"windDirectionDegree":""


3、返回日月升落时间&生活指数
http://www.weatherol.cn/api/home/getSunMoonAndIndex?cityid=101010100


4、返回城市相关(机场&景点)天气
http://www.weatherol.cn/api/home/getRelatedWeather?cityid=101010100


static/image/hrline/line4.png
static/image/hrline/line4.png

其次是js解析插件JsCC.dll


在measure节点内实现数据的解析,之后可以直接使用节变量来提取数据。
Measure=Plugin
Plugin=JsCC

;接口网络地址,用于返回数据简单的接口,优先级最高,为空时读取File
Url=
;文件完整路径,utf-8编码,优先级次之,为空时读取Input
File=
;输入js字符串
Input=

;设置动态变量时节点刷新的同时刷新js数据读取和解析,否则只在初始时读取数据
DynamicVariables=1


;节变量使用示例
;15日预报的第0天(昨天)的白天天气
;JS数据为   {data}{forecast15d}{weather_am}
;节变量使用   

Meter=String
Text=
FontColor=255,255,255
FontSize=10
FontFace=Brutal Type
AntiAlias=1
DynamicVariables=1






















lk2017 发表于 2020-12-7 10:37:31

fdsfsdfsdfsdfsdf

qq527983205 发表于 2020-12-7 11:26:38

出口就哭了

朱门 发表于 2020-12-7 13:02:16

好东西,必须点赞

依竹听风 发表于 2020-12-7 15:24:59

看看这个是不是可用使得长一些...........
谢谢分享!

444859418 发表于 2020-12-7 16:58:12

{:10_443:}{:10_443:}

jxgzmk 发表于 2020-12-7 17:03:04

太强了,下下来试试行不行

璃曦 发表于 2020-12-7 17:06:09

好东西啊,感谢楼主

a154859935 发表于 2020-12-7 19:06:42

再试一个天气插件 在学不会要放弃了

DuduGod 发表于 2020-12-7 20:20:54

好东西,必须点赞
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 天气信息~15日预报和24小时预报