feat: Implement core data models, backend services for weather and market data, and initial dashboard components.
This commit is contained in:
@@ -63,6 +63,7 @@ CITY_REGISTRY = {
|
||||
"lat": 22.3080,
|
||||
"lon": 113.9185,
|
||||
"icao": "VHHH",
|
||||
"settlement_source": "hko",
|
||||
"tz_offset": 28800,
|
||||
"use_fahrenheit": False,
|
||||
"is_major": True,
|
||||
@@ -72,6 +73,21 @@ CITY_REGISTRY = {
|
||||
"distance_km": 31.0,
|
||||
"warning": "海风与地形共同作用,午后对流触发后温度回落可能偏快。",
|
||||
},
|
||||
"taipei": {
|
||||
"name": "Taipei",
|
||||
"lat": 25.0694,
|
||||
"lon": 121.5526,
|
||||
"icao": "RCSS",
|
||||
"settlement_source": "cwa",
|
||||
"tz_offset": 28800,
|
||||
"use_fahrenheit": False,
|
||||
"is_major": True,
|
||||
"risk_level": "low",
|
||||
"risk_emoji": "🟢",
|
||||
"airport_name": "台北松山机场",
|
||||
"distance_km": 4.0,
|
||||
"warning": "盆地地形叠加都市热岛,夏季午后对流前后温度波动较快。",
|
||||
},
|
||||
"shanghai": {
|
||||
"name": "Shanghai",
|
||||
"lat": 31.1434,
|
||||
@@ -296,6 +312,36 @@ CITY_REGISTRY = {
|
||||
"distance_km": 28.5,
|
||||
"warning": "距离非常远,空旷机场夜间降温快,冬季易生大雾压制气温。",
|
||||
},
|
||||
"milan": {
|
||||
"name": "Milan",
|
||||
"lat": 45.6306,
|
||||
"lon": 8.7281,
|
||||
"icao": "LIMC",
|
||||
"settlement_source": "metar",
|
||||
"tz_offset": 3600,
|
||||
"use_fahrenheit": False,
|
||||
"is_major": True,
|
||||
"risk_level": "medium",
|
||||
"risk_emoji": "🟡",
|
||||
"airport_name": "马尔彭萨机场",
|
||||
"distance_km": 49.0,
|
||||
"warning": "机场距市区较远,午后峰值与夜间降温节奏需优先看机场站。",
|
||||
},
|
||||
"warsaw": {
|
||||
"name": "Warsaw",
|
||||
"lat": 52.1657,
|
||||
"lon": 20.9671,
|
||||
"icao": "EPWA",
|
||||
"settlement_source": "metar",
|
||||
"tz_offset": 3600,
|
||||
"use_fahrenheit": False,
|
||||
"is_major": True,
|
||||
"risk_level": "medium",
|
||||
"risk_emoji": "🟡",
|
||||
"airport_name": "肖邦机场",
|
||||
"distance_km": 10.0,
|
||||
"warning": "平原地形下辐射冷却显著,清晨与夜间温度回落可能偏快。",
|
||||
},
|
||||
}
|
||||
|
||||
ALIASES = {
|
||||
@@ -305,11 +351,13 @@ ALIASES = {
|
||||
"dal": "dallas", "mia": "miami", "atl": "atlanta",
|
||||
"sea": "seattle", "tor": "toronto", "sel": "seoul",
|
||||
"seo": "seoul", "hkg": "hong kong", "hk": "hong kong",
|
||||
"tpe": "taipei", "tp": "taipei", "taipei": "taipei",
|
||||
"sha": "shanghai", "sh": "shanghai", "sin": "singapore",
|
||||
"sg": "singapore", "tok": "tokyo", "tyo": "tokyo",
|
||||
"tlv": "tel aviv", "telaviv": "tel aviv",
|
||||
"ba": "buenos aires", "wel": "wellington",
|
||||
"luc": "lucknow", "sp": "sao paulo", "mun": "munich",
|
||||
"mil": "milan", "mxp": "milan", "waw": "warsaw", "war": "warsaw",
|
||||
|
||||
# Chinese names
|
||||
"安卡拉": "ankara",
|
||||
@@ -324,6 +372,8 @@ ALIASES = {
|
||||
"多伦多": "toronto",
|
||||
"首尔": "seoul",
|
||||
"香港": "hong kong",
|
||||
"台北": "taipei",
|
||||
"臺北": "taipei",
|
||||
"上海": "shanghai",
|
||||
"新加坡": "singapore",
|
||||
"东京": "tokyo",
|
||||
@@ -334,4 +384,8 @@ ALIASES = {
|
||||
"勒克瑙": "lucknow",
|
||||
"圣保罗": "sao paulo",
|
||||
"慕尼黑": "munich",
|
||||
"米兰": "milan",
|
||||
"米蘭": "milan",
|
||||
"华沙": "warsaw",
|
||||
"華沙": "warsaw",
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user