Commit Graph

1174 Commits

Author SHA1 Message Date
2569718930@qq.com c8103179e1 修正市场监控新高提醒:统一数据源并修复 HKO/跑道城市逻辑
- resolveMaxSoFar:HKO 城市优先使用 current.max_so_far(天文台结算锚点)
- trendClass:跑道城市跳过比较(跑道表面温度 vs 空气温度无意义)
- newHigh badge / audio alert:跑道城市屏蔽新高判断
- 所有调用处传入 key 参数确保 HKO fallback 生效
2026-05-14 17:51:08 +08:00
2569718930@qq.com 4f13faa311 优化日内温度曲线图加载性能并修复图标旋转动画
- AiCityTemperatureChart:React.memo 包裹 + useMemo 依赖移除 detail 避免每帧重算
- ScanTerminalCard 等 9 个 CSS Module:animation: spin 改为 :global(spin) 修复 CSS Modules 作用域问题
2026-05-14 17:31:25 +08:00
2569718930@qq.com 8dd9aa59b3 接入新加坡 MSS 1分钟实时温度及 MGM/JMA/FMI/KNMI 高频源到 airport_primary
- 新建 singapore_mss_sources.py:拉取 data.gov.sg 1分钟干球温度(S24 樟宜站)
- country_networks.py:_airport_primary_from_raw 新增 MGM/JMA/FMI/KNMI/SG_MSS 分支
- weather_sources.py:注入 jma_current/fmi_current/knmi_current/singapore_mss_current
- 前端 MonitorPanel:resolveSourceLabel 根据 airport_primary.source_code 显示数据源标签
- 文档:更新 AIRPORT_REALTIME_SOURCES.md 新增新加坡

Tested: ruff check . ✓  npx tsc --noEmit ✓
2026-05-14 17:12:11 +08:00
2569718930@qq.com 96676e7097 修正市场监控温度数据源:接入 NOAA MADIS 5分钟高频数据并优化展示
- 首尔/釜山:隐藏大号跑道温度值,改为"跑道温度"标签(跑道表面温度 ≠ 空气温度)
- US 城市:MADIS HFMETAR 5分钟小数温度接入 airport_primary,前端优先读取
- 其他城市:整数值不再强制 toFixed(1) 追加虚假 .0 精度
- 后端:weather_sources.py 注入 madis_hfmetar_current 到 results
- 后端:country_networks.py 的 _airport_primary_from_raw 新增 MADIS 优先分支
- 文档:更新 AIRPORT_REALTIME_SOURCES.md 新增 11 个 US 城市
- 文档:更新 CLAUDE.md 补充市场监控、高频数据管道、Country Network Provider 架构

Tested: npx tsc --noEmit ✓  ruff check . ✓
2026-05-14 16:00:55 +08:00
2569718930@qq.com c9d03fd3e1 feat: implement dashboard state management, API proxy layer, and modular UI components for weather monitoring and payments 2026-05-14 15:05:13 +08:00
2569718930@qq.com 02add6d994 feat: implement city weather detail API routing, dashboard data models, and monitoring infrastructure 2026-05-14 14:21:28 +08:00
2569718930@qq.com 0e220d890f feat: add component styles for future forecast modal v2 2026-05-14 02:55:16 +08:00
2569718930@qq.com 4bda402270 feat: implement MonitorPanel component for real-time weather monitoring and temperature tracking 2026-05-14 02:47:37 +08:00
2569718930@qq.com 8bfe23138c feat: implement MonitorPanel component with real-time airport weather tracking and concurrency-controlled polling 2026-05-14 02:41:51 +08:00
2569718930@qq.com f5acae3c81 feat: implement ScanTerminalDashboard with integrated monitoring, paywall, and AI-driven city analysis features 2026-05-14 02:32:56 +08:00
2569718930@qq.com 294ac30026 feat: add MonitorPanel component for real-time airport weather tracking and automated refresh coordination 2026-05-14 02:15:49 +08:00
2569718930@qq.com fb4ba622a8 feat: implement MonitorPanel component for tracking real-time airport weather data with automated concurrency and stale-data prioritization 2026-05-14 02:02:30 +08:00
2569718930@qq.com d7d1744313 feat: implement MonitorPanel dashboard component with status indicators and grid view 2026-05-14 02:00:00 +08:00
2569718930@qq.com 357e01be3c feat: add monitor panel component with consolidated CSS root styles 2026-05-14 01:51:55 +08:00
2569718930@qq.com 3529d97d58 移除国内城市(NMC并非机场温度,无用) 2026-05-14 01:41:16 +08:00
2569718930@qq.com 329e3afe38 监控页新增 7 个国内城市(上海/北京/成都等,NMC 5min数据) 2026-05-14 01:37:37 +08:00
2569718930@qq.com 6eca1da3f9 修复测试:aurora→denver 城市 key 重命名后更新断言 2026-05-14 01:27:04 +08:00
2569718930@qq.com 4ab749c136 市场监控新增 11 个美国城市(NY/LA/Chicago/Denver 等) 2026-05-14 01:17:09 +08:00
2569718930@qq.com d2472fa0c2 市场监控 1 分钟强制刷新 11 城数据 2026-05-14 01:13:53 +08:00
2569718930@qq.com 6c4f43fba6 Aurora→Denver 重命名 + 接入 MADIS HFMETAR 5 分钟数据源 2026-05-14 01:09:17 +08:00
2569718930@qq.com 79944432fb MonitorPanel 自动触发未加载城市的 ensureCityDetail 2026-05-14 00:52:14 +08:00
2569718930@qq.com c006d13fea MonitorPanel 从独立 API 改为复用 DashboardStore 数据,砍掉 /api/m 和 /m/json 2026-05-14 00:43:19 +08:00
2569718930@qq.com 7a28810f25 监控页刷新间隔 30s → 60s 2026-05-14 00:32:30 +08:00
2569718930@qq.com c5fdb93ae5 监控页:后端 30s 缓存 + 前端 loading 态 2026-05-14 00:29:51 +08:00
2569718930@qq.com 2202f8e211 砍掉 /m HTML 页面,只保留 /m/json 给 React 组件用 2026-05-14 00:23:03 +08:00
2569718930@qq.com fc48795299 监控页从 iframe 改为原生 React 组件:无加载延迟,30s JSON 轮询 2026-05-14 00:18:26 +08:00
2569718930@qq.com fd12c15518 Monitor tab 中文名+iframe 常驻避免重新加载 2026-05-14 00:13:32 +08:00
2569718930@qq.com 22b414f69e 监控页时间改为用户本地时间(JS toLocaleTimeString) 2026-05-14 00:10:43 +08:00
2569718930@qq.com 5e653c2ec1 前端接入监控页面:新增 Monitor 标签页 + /api/m 代理 2026-05-14 00:04:26 +08:00
2569718930@qq.com 9dd59ceb4e 修复 ruff 风格:多行语句、bare except → except Exception 2026-05-13 23:55:54 +08:00
2569718930@qq.com a9b1449680 放弃 Jinja2,改用 f-string 直接拼 HTML,零模板引擎依赖 2026-05-13 23:54:53 +08:00
2569718930@qq.com a7ba7aed3a Debug:简化 context 排查 Jinja2 500 2026-05-13 23:46:18 +08:00
2569718930@qq.com 1240fbb673 跑道数据改用 tuple 避免 Jinja2 dict unhashable 错误 2026-05-13 23:41:31 +08:00
2569718930@qq.com d56889c2e5 修复 Jinja2 模板 dict 访问方式和条件表达式 2026-05-13 23:38:06 +08:00
2569718930@qq.com 1fba498c37 添加 jinja2 依赖 2026-05-13 23:28:52 +08:00
2569718930@qq.com b94037f328 路由 /monitor → /m,URL 更短 2026-05-13 23:24:26 +08:00
2569718930@qq.com 1493c72138 删除 Rust 监控项目及旧文档,已用 Python 重写替代 2026-05-13 23:22:13 +08:00
2569718930@qq.com a221b3e969 用 Python 重写市场监控网页版:FastAPI+Jinja2+HTMX,复用 _analyze() 2026-05-13 23:19:49 +08:00
2569718930@qq.com bfffbdedd0 恢复模板中被吃掉的跑道数据显示区块 2026-05-13 22:07:36 +08:00
2569718930@qq.com 26fff84c3a 修复跑道数据:用 LIKE 查询所有 RKSI_RWY_%,不再硬编码索引 2026-05-13 22:00:00 +08:00
2569718930@qq.com 7038b14904 网页版卡片时间改用 obs_time(数据源时间戳),支持 ISO/epoch/Naive 多种格式解析 2026-05-13 21:47:55 +08:00
2569718930@qq.com c9006f250f 网页版卡片时间改为观测数据时间(基于 created_at),不再用当前本地时间 2026-05-13 21:45:05 +08:00
2569718930@qq.com 1a4d75c126 推送消息时间改为观测数据时间,不再用当前本地时间 2026-05-13 21:43:26 +08:00
2569718930@qq.com 7555da8e6a 更新html 2026-05-13 21:26:26 +08:00
2569718930@qq.com d97bb76480 移除 city_daily_max 表及 upsert 逻辑,日最高已改用 intraday_path_snapshots_store 2026-05-13 21:14:28 +08:00
2569718930@qq.com c779b20a4f 日最高改用 intraday_path_snapshots_store(已有实时数据,无需等 Docker rebuild) 2026-05-13 21:10:39 +08:00
2569718930@qq.com cac84dcc0c 修复今日最高:新增 city_daily_max 表,所有数据源写入日最高
- DB: city_daily_max(icao,max_temp,obs_date,max_time) upsert
- AMOS/JMA/KNMI/FMI/HKO/METAR集群/CWA 采集后均写入
- Rust: 读 city_daily_max 获取准确日最高 + 时间
- 卡片恢复 High 行,显示最高温 + 达成时间
- new_high 提醒也基于真实日最高重新生效

Tested: cargo build + ruff check 均通过
2026-05-13 20:50:46 +08:00
2569718930@qq.com e734c93b34 移除不准确的今日最高,改为按当前温度从高到低排序
- airport_obs_log 仅保留 2h 数据,max_so_far 不准确
- 去掉卡片 Today High 行,趋势箭头移到 Obs 同行
- 卡片按 current_temp 降序排列,无数据沉底
- 通知文案简化
2026-05-13 20:44:09 +08:00
2569718930@qq.com 067ee63ba4 首尔/釜山跑道数据:Python 存 RKSI_RWY_0/1,Rust 查询展示
- weather_sources: AMOS 采集时每条跑道单独写 airport_obs_log
- Rust: 按 RKSI_RWY_0、RKSI_RWY_1 等 icao 查询跑道温度
- 跑道标签 18L/36R、18R/36L 写死在 config 中
2026-05-13 20:39:15 +08:00
2569718930@qq.com 88918677c0 监控页面:英文城市名 + 新高浏览器提醒(可开关)
- 卡片标题改为英文名(Seoul/Busan/Tokyo 等)
- 温度突破今日最高 0.3°C 时触发浏览器 Notification
- 右上角 🔔 按钮开关提醒,状态存 localStorage
- 同日同城同一温度不重复提醒(notify_highs 去重)
- 页面标题和标签全英文化

Tested: cargo build --release 通过
2026-05-13 20:33:59 +08:00