mirror of
https://github.com/TriM-Organization/LiteyukiBot-TriM.git
synced 2024-11-11 01:27:29 +08:00
commit
2bba75032d
@ -43,18 +43,27 @@ def get_local_data(ulang_code: str) -> dict:
|
|||||||
"""
|
"""
|
||||||
ulang = Language(ulang_code)
|
ulang = Language(ulang_code)
|
||||||
return {
|
return {
|
||||||
"monday" : ulang.get("weather.monday"),
|
"monday" : ulang.get("weather.monday"),
|
||||||
"tuesday" : ulang.get("weather.tuesday"),
|
"tuesday" : ulang.get("weather.tuesday"),
|
||||||
"wednesday": ulang.get("weather.wednesday"),
|
"wednesday" : ulang.get("weather.wednesday"),
|
||||||
"thursday" : ulang.get("weather.thursday"),
|
"thursday" : ulang.get("weather.thursday"),
|
||||||
"friday" : ulang.get("weather.friday"),
|
"friday" : ulang.get("weather.friday"),
|
||||||
"saturday" : ulang.get("weather.saturday"),
|
"saturday" : ulang.get("weather.saturday"),
|
||||||
"sunday" : ulang.get("weather.sunday"),
|
"sunday" : ulang.get("weather.sunday"),
|
||||||
"today" : ulang.get("weather.today"),
|
"today" : ulang.get("weather.today"),
|
||||||
"tomorrow" : ulang.get("weather.tomorrow"),
|
"tomorrow" : ulang.get("weather.tomorrow"),
|
||||||
"day" : ulang.get("weather.day"),
|
"day" : ulang.get("weather.day"),
|
||||||
"night" : ulang.get("weather.night"),
|
"night" : ulang.get("weather.night"),
|
||||||
"no_aqi" : ulang.get("weather.no_aqi"),
|
"no_aqi" : ulang.get("weather.no_aqi"),
|
||||||
|
"now-windVelocity" : ulang.get("weather.now-windVelocity"),
|
||||||
|
"now-humidity" : ulang.get("weather.now-humidity"),
|
||||||
|
"now-feelsLike" : ulang.get("weather.now-feelsLike"),
|
||||||
|
"now-precip" : ulang.get("weather.now-precip"),
|
||||||
|
"now-pressure" : ulang.get("weather.now-pressure"),
|
||||||
|
"now-vis" : ulang.get("weather.now-vis"),
|
||||||
|
"now-cloud" : ulang.get("weather.now-cloud"),
|
||||||
|
"astronomy-sunrise" : ulang.get("weather.astronomy-sunrise"),
|
||||||
|
"astronomy-sunset" : ulang.get("weather.astronomy-sunset"),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,4 +9,13 @@ weather.day=Day
|
|||||||
weather.night=Night
|
weather.night=Night
|
||||||
weather.today=Today
|
weather.today=Today
|
||||||
weather.tomorrow=Tomorrow
|
weather.tomorrow=Tomorrow
|
||||||
weather.no_aqi=No AQI data
|
weather.no_aqi=No AQI data
|
||||||
|
weather.now-windVelocity=WS
|
||||||
|
weather.now-humidity=RH
|
||||||
|
weather.now-feelsLike=FL
|
||||||
|
weather.now-precip=PPT
|
||||||
|
weather.now-pressure=MSLP
|
||||||
|
weather.now-vis=VIS
|
||||||
|
weather.now-cloud=CC
|
||||||
|
weather.astronomy-sunrise=SR
|
||||||
|
weather.astronomy-sunset=SS
|
@ -9,4 +9,13 @@ weather.day=昼
|
|||||||
weather.night=夜
|
weather.night=夜
|
||||||
weather.today=今日
|
weather.today=今日
|
||||||
weather.tomorrow=明日
|
weather.tomorrow=明日
|
||||||
weather.no_aqi=空気質データなし
|
weather.no_aqi=空気質データなし
|
||||||
|
weather.now-windVelocity=風速
|
||||||
|
weather.now-humidity=湿度
|
||||||
|
weather.now-feelsLike=体感温度
|
||||||
|
weather.now-precip=降水量
|
||||||
|
weather.now-pressure=気圧
|
||||||
|
weather.now-vis=能視距離
|
||||||
|
weather.now-cloud=雲量
|
||||||
|
weather.astronomy-sunrise=日出
|
||||||
|
weather.astronomy-sunset=日没
|
@ -9,4 +9,13 @@ weather.day=白天
|
|||||||
weather.night=夜晚
|
weather.night=夜晚
|
||||||
weather.today=今天
|
weather.today=今天
|
||||||
weather.tomorrow=明天
|
weather.tomorrow=明天
|
||||||
weather.no_aqi=暂无AQI数据
|
weather.no_aqi=暂无AQI数据
|
||||||
|
weather.now-windVelocity=风矢
|
||||||
|
weather.now-humidity=湿度
|
||||||
|
weather.now-feelsLike=体感
|
||||||
|
weather.now-precip=降水
|
||||||
|
weather.now-pressure=气压
|
||||||
|
weather.now-vis=能见
|
||||||
|
weather.now-cloud=云量
|
||||||
|
weather.astronomy-sunrise=日出
|
||||||
|
weather.astronomy-sunset=日落
|
@ -187,37 +187,37 @@
|
|||||||
|
|
||||||
.ad-box {
|
.ad-box {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
|
||||||
img {
|
|
||||||
border-radius: 60px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sub-info {
|
#ad {
|
||||||
|
border-radius: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sub-info {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, 1fr);
|
grid-template-columns: repeat(2, 1fr);
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
color: var(--main-text-color);
|
color: var(--main-text-color);
|
||||||
font-size: 40px;
|
font-size: 36px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sub-info>div {
|
.sub-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 5px;
|
gap: 5px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
/*要问就问html调svg为什么那么不友好*/
|
/*要问就问为什么html调svg那么不友好*/
|
||||||
img {
|
.sub-svg {
|
||||||
transform: translateY(-80px);
|
transform: translateY(-80px);
|
||||||
/*自定义颜色*/
|
/*此处用作自定义颜色*/
|
||||||
filter: drop-shadow(var(--main-text-color) 0 80px);
|
filter: drop-shadow(var(--main-text-color) 0 80px);
|
||||||
/*自定义透明度*/
|
/*此处用作自定义透明度*/
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribution-box {
|
.attribution-box {
|
||||||
@ -225,16 +225,16 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
#attribution-info {
|
#attribution-info {
|
||||||
backdrop-filter: blur(10px);
|
backdrop-filter: blur(10px);
|
||||||
padding: 0 5px 0;
|
padding: 0 5px 0;
|
||||||
background-color: rgba(0, 0, 0, 0.5);
|
background-color: rgba(0, 0, 0, 0.5);
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
color: var(--sub-text-color);
|
color: var(--sub-text-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
|
||||||
}
|
}
|
@ -54,7 +54,7 @@ if ("aqi" in aqi) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
templates = {
|
let templates = {
|
||||||
"time": weatherNow["now"]["obsTime"],
|
"time": weatherNow["now"]["obsTime"],
|
||||||
"city": locationData["name"],
|
"city": locationData["name"],
|
||||||
"adm": locationData["country"] + " " + locationData["adm1"] + " " + locationData["adm2"],
|
"adm": locationData["country"] + " " + locationData["adm1"] + " " + locationData["adm2"],
|
||||||
@ -69,31 +69,48 @@ for (let id in templates) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
subtemplates = {
|
let subtemplates = {
|
||||||
"now-windDirect": weatherNow["now"]["windDir"] + " " + weatherNow["now"]["wind360"] + "°",
|
"now-windDirect": weatherNow["now"]["windDir"] + " " + weatherNow["now"]["wind360"] + "°",
|
||||||
"now-windVelocity": "风矢 " + weatherNow["now"]["windScale"] + "级 " + weatherNow["now"]["windSpeed"] + "km/h",
|
"now-windVelocity": localData["now-windVelocity"] + " " + weatherNow["now"]["windScale"] + "级 " + weatherNow["now"]["windSpeed"] + "km/h",
|
||||||
"now-humidity": "湿度 " + weatherNow["now"]["humidity"] + "%",
|
"now-humidity": localData["now-humidity"] + " " + weatherNow["now"]["humidity"] + "%",
|
||||||
"now-feelsLike": "体感 " + weatherNow["now"]["feelsLike"] + "°C",
|
"now-feelsLike": localData["now-feelsLike"] + " " + weatherNow["now"]["feelsLike"] + "°C",
|
||||||
"now-precip": "降水 " + weatherNow["now"]["precip"] + "mm",
|
"now-precip": localData["now-precip"] + " " + weatherNow["now"]["precip"] + "mm",
|
||||||
"now-pressure": "气压 " + weatherNow["now"]["pressure"] + "hPa",
|
"now-pressure": localData["now-pressure"] + " " + weatherNow["now"]["pressure"] + "hPa",
|
||||||
"vis": "能见 " + weatherNow["now"]["vis"] + "km",
|
"now-vis": localData["now-vis"] + " " + weatherNow["now"]["vis"] + "km",
|
||||||
"cloud ": "云量 " + (weatherNow["now"]["cloud"] == "" ? "无数据" : (weatherNow["now"]["cloud"] + "%")),
|
"now-cloud": localData["now-cloud"] + " " + (weatherNow["now"]["cloud"] == "" ? "无数据" : (weatherNow["now"]["cloud"] + "%")),
|
||||||
"astronomy-sunrise": "日出 " + get_time_hour(weatherAstronomy["sunrise"]),
|
"astronomy-sunrise": localData["astronomy-sunrise"] + " " + get_time_hour(weatherAstronomy["sunrise"]),
|
||||||
"astronomy-sunset": "日落 " + get_time_hour(weatherAstronomy["sunset"])
|
"astronomy-sunset": localData["astronomy-sunset"] + " " + get_time_hour(weatherAstronomy["sunset"])
|
||||||
}
|
}
|
||||||
|
|
||||||
let subItemDivTemplate = document.importNode(document.getElementById("sub-info-template").content, true);
|
let subiconMap = {
|
||||||
|
"now-windDirect": "windDirect",
|
||||||
|
"now-windVelocity": "windVelocity",
|
||||||
|
"now-humidity": "humidity",
|
||||||
|
"now-feelsLike": "feelsLike",
|
||||||
|
"now-precip": "precip",
|
||||||
|
"now-pressure": "pressure",
|
||||||
|
"now-vis": "vis",
|
||||||
|
"now-cloud": "cloud",
|
||||||
|
"astronomy-sunrise": "sunrise",
|
||||||
|
"astronomy-sunset": "sunset"
|
||||||
|
};
|
||||||
|
|
||||||
let subItemDiv = subItemDivTemplate.querySelector(".sub-info");
|
let subtemplate = document.getElementById('sub-info-template').content;
|
||||||
|
let subcontainer = document.getElementById('sub-info');
|
||||||
|
|
||||||
for (let id in subtemplates) {
|
Object.keys(subtemplates).forEach(id => {
|
||||||
let element = subItemDiv.querySelector(`#${id}`);
|
let subItemDiv = document.importNode(subtemplate, true).querySelector('.sub-item');
|
||||||
if (element) {
|
|
||||||
element.innerText = subtemplates[id];
|
subItemDiv.querySelector(`div`).innerText = subtemplates[id];
|
||||||
}
|
|
||||||
}
|
let iconName = subiconMap[id];
|
||||||
|
|
||||||
|
subItemDiv.querySelector(`img`).src = `./img/svg/${iconName}.svg`;
|
||||||
|
subItemDiv.querySelector(`img`).alt = `SVG ${id}`;
|
||||||
|
|
||||||
|
subcontainer.appendChild(subItemDiv);
|
||||||
|
});
|
||||||
|
|
||||||
document.getElementById('sub-info').appendChild(subItemDiv);
|
|
||||||
|
|
||||||
let maxHourlyItem = 8
|
let maxHourlyItem = 8
|
||||||
let percentWidth = 1 / (maxHourlyItem * 1.5) * 100
|
let percentWidth = 1 / (maxHourlyItem * 1.5) * 100
|
||||||
@ -161,7 +178,6 @@ function get_time_hour(fxTime) {
|
|||||||
return fxTime.split("T")[1].split("+")[0]
|
return fxTime.split("T")[1].split("+")[0]
|
||||||
}
|
}
|
||||||
|
|
||||||
let attrinfo = document.getElementById('attribution-info');
|
|
||||||
if (!is_dev & !attr) attrinfo.parentElement.style.display = "none"
|
|
||||||
|
|
||||||
attrinfo.innerText = is_dev ? "Weather Service Drived by QWeather" : (attr ? attr : "Weather Service Drived by QWeather")
|
let attrinfo = document.getElementById('attribution-info');
|
||||||
|
attrinfo.innerText = is_dev ? "Weather Service Drived by QWeather" : (attr ? attr : "Weather Service Drived by QWeather");
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
<link rel="stylesheet" href="./css/card.css">
|
<link rel="stylesheet" href="./css/card.css">
|
||||||
<link rel="stylesheet" href="./css/fonts.css">
|
<link rel="stylesheet" href="./css/fonts.css">
|
||||||
<link rel="stylesheet" href="css/weather_now.css">
|
<link rel="stylesheet" href="css/weather_now.css">
|
||||||
<link rel="stylesheet" href="css/extra_info.css">
|
|
||||||
</head>
|
</head>
|
||||||
<!-- qw_icon: https://a.hecdn.net/img/common/icon/202106d/%d.png-->
|
<!-- qw_icon: https://a.hecdn.net/img/common/icon/202106d/%d.png-->
|
||||||
|
|
||||||
@ -38,68 +37,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template id="sub-info-template">
|
<template id="sub-info-template">
|
||||||
<div class="sub-info">
|
<div class="sub-item">
|
||||||
<div>
|
<img class="sub-svg" src="" alt="SVG" width="50" height="50">
|
||||||
<img src="./img/svg/windDirect.svg" alt="SVG windDirect" width="60" height="60">
|
<div>示例信息</div>
|
||||||
<div id="now-windDirect">
|
|
||||||
西北风 315°
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div><img src="./img/svg/windVelocity.svg" alt="SVG windVelocity" width="60" height="60">
|
|
||||||
<div id="now-windVelocity">
|
|
||||||
风矢 2级 10km/h
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/humidity.svg" alt="SVG humidity" width="60" height="60">
|
|
||||||
<div id="now-humidity">
|
|
||||||
湿度 45%
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/feelsLike.svg" alt="SVG feelsLike" width="60" height="60">
|
|
||||||
<div id="now-feelsLike">
|
|
||||||
体感 32°C
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/precip.svg" alt="SVG precip" width="60" height="60">
|
|
||||||
<div id="now-precip">
|
|
||||||
降水 0.0mm
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/pressure.svg" alt="SVG pressure" width="60" height="60">
|
|
||||||
<div id="now-pressure">
|
|
||||||
|
|
||||||
气压 979hPa
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/vis.svg" alt="SVG sunset" width="60" height="60">
|
|
||||||
<div id="vis">
|
|
||||||
能见 5km
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/cloud.svg" alt="SVG sunset" width="60" height="60">
|
|
||||||
<div id="cloud">
|
|
||||||
云量 50%
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/sunrise.svg" alt="SVG sunrise" width="60" height="60">
|
|
||||||
<div id="astronomy-sunrise">
|
|
||||||
日出 06:37
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<img src="./img/svg/sunset.svg" alt="SVG sunset" width="60" height="60">
|
|
||||||
<div id="astronomy-sunset">
|
|
||||||
日落 19:01
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
Reference in New Issue
Block a user