feat: Implement core data models, backend services for weather and market data, and initial dashboard components.

This commit is contained in:
2569718930@qq.com
2026-03-17 13:21:14 +08:00
parent 609fc8914a
commit 54544e40b9
11 changed files with 574 additions and 54 deletions
+4
View File
@@ -11,6 +11,8 @@ export interface CityListItem {
icao: string;
temp_unit: "celsius" | "fahrenheit";
is_major?: boolean;
settlement_source?: string;
settlement_source_label?: string;
}
export interface ProbabilityBucket {
@@ -46,6 +48,8 @@ export interface CurrentConditions {
max_so_far: number | null;
max_temp_time: string | null;
wu_settlement: number | null;
settlement_source?: string | null;
settlement_source_label?: string | null;
obs_time: string | null;
obs_age_min: number | null;
wind_speed_kt: number | null;
+4 -4
View File
@@ -50,7 +50,7 @@ const MESSAGES: Record<Locale, Record<string, string>> = {
"guide.title": "📎 PolyWeather 系统技术说明",
"guide.closeAria": "关闭技术说明",
"guide.footer":
"数据源以 Aviation Weather / METAR、Turkish MGM、Open-Meteo、weather.gov 为主。",
"数据源以 METAR、香港天文台(HKO)、中央气象署(CWA)、Turkish MGM、Open-Meteo、weather.gov 为主。",
"history.title": "📊 历史准确率对账 - {city}",
"history.closeAria": "关闭历史对账",
@@ -68,7 +68,7 @@ const MESSAGES: Record<Locale, Record<string, string>> = {
"future.closeDateAria": "关闭未来日期分析",
"future.currentObs": "当前实测",
"future.currentWeather": "当前天气",
"future.wuRef": "WU 结算参考",
"future.wuRef": "结算参考",
"future.sunrise": "日出时间",
"future.sunset": "日落时间",
"future.sunshine": "日照时长",
@@ -205,7 +205,7 @@ const MESSAGES: Record<Locale, Record<string, string>> = {
"guide.title": "📎 PolyWeather Technical Overview",
"guide.closeAria": "Close technical overview",
"guide.footer":
"Primary data sources are Aviation Weather / METAR, Turkish MGM, Open-Meteo, and weather.gov.",
"Primary data sources are METAR, Hong Kong Observatory (HKO), CWA (Taiwan), Turkish MGM, Open-Meteo, and weather.gov.",
"history.title": "📊 Historical Reconciliation - {city}",
"history.closeAria": "Close history reconciliation",
@@ -223,7 +223,7 @@ const MESSAGES: Record<Locale, Record<string, string>> = {
"future.closeDateAria": "Close future-date analysis",
"future.currentObs": "Current Observation",
"future.currentWeather": "Current Weather",
"future.wuRef": "WU Settlement Ref",
"future.wuRef": "Settlement Ref",
"future.sunrise": "Sunrise",
"future.sunset": "Sunset",
"future.sunshine": "Sunshine Duration",
+4
View File
@@ -168,6 +168,8 @@ export interface CityInfo {
icao: string;
temp_unit: "celsius" | "fahrenheit";
is_major: boolean;
settlement_source?: string;
settlement_source_label?: string;
}
export interface CitiesResponse {
@@ -228,6 +230,8 @@ export interface CityAnalysis {
max_so_far: number | null;
max_temp_time: string;
wu_settlement: number | null;
settlement_source?: string | null;
settlement_source_label?: string | null;
obs_time: string;
obs_age_min: number | null;
wind_speed_kt: number | null;