Commit Graph

590 Commits

Author SHA1 Message Date
2569718930@qq.com 4844af2273 feat: add institutional landing page with i18n support and subscription-gated access logic 2026-05-25 02:40:36 +08:00
2569718930@qq.com 7f8dca2066 拆分 AccountCenter:提取支付与钱包逻辑至 useAccountPayment hook,主组件从 2917 行减至 1280 行 2026-05-25 02:38:20 +08:00
2569718930@qq.com 22872f26e7 移除旧 AI Weather Decision Terminal 品牌名,统一为 PolyWeather Terminal
删除未使用的 ScanTerminalTopBar 和 ScanTerminalContentView 类型。
ScanTerminalLoadingScreen 顶栏文字改用 PolyWeather 品牌名。
2026-05-25 02:33:53 +08:00
2569718930@qq.com f7eeca1021 LoadingSignal 升级:换用新品牌 logo,明亮简洁蓝色旋转动画
logo 改用 apple-touch-icon,spinner 改为蓝色渐变环 + 微光晕
+ cubic-bezier 缓动曲线,整体更轻盈现代。
同时 ScanTerminalScreen 加载态接入 ScanTerminalLoadingScreen。
2026-05-25 02:29:04 +08:00
2569718930@qq.com 3534f759d0 终端内直接弹出 UnlockProOverlay:订阅支付无需跳转账户页
新增 useTerminalPay hook 和 billing-utils 纯函数,SubscriptionGate 集成支付弹窗。
用户点击订阅后原地弹窗 → 连接钱包 → 链上支付 → 自动刷新进入终端。
2026-05-25 02:14:21 +08:00
2569718930@qq.com 29365f10a5 UnlockProOverlay 硬编码字符串翻译:off/减免、查看链上交易
discountSuffix "off" 改为 isEn 切换,链上交易链接跟随语言。
Standard Pro 为品牌名保留原文。

Tested: npm run build 通过
2026-05-25 02:04:00 +08:00
2569718930@qq.com d05d11148e 删除 ProFeaturePaywall 组件,模态框内改为简洁订阅提示 2026-05-25 02:02:05 +08:00
2569718930@qq.com b6725ea36d 全站 i18n 收尾:账户中心状态消息、权限提示页、终端因子面板
账户中心 account-copy.ts 新增 60+ 条状态/错误翻译 key,AccountCenter.tsx
将所有硬编码中英文支付提示改为 copy.xxx 引用。
entitlement-required 页拆分为 Client 组件接入 I18nProvider。
account/error.tsx 接入 useI18n 双语言支持。
终端 Global Weather Factors / Terminal Status 面板和大陆分组头
接入 t() 翻译,Heat/Active/Tradable/Primary/Closed 等标签跟随语言切换。

Tested: tsc --noEmit 通过, npm run build 通过
2026-05-25 01:59:31 +08:00
2569718930@qq.com ed8e4e0b67 终端右侧面板中文化:全球天气因子与终端状态标签接入 t() 翻译
Global Weather Factors 和 Terminal Status 面板中的英文硬编码替换为 i18n key。
2026-05-25 01:58:26 +08:00
2569718930@qq.com 7e61d1a7e5 移除试用系统和 Legacy Token Gate:删除 signup trial 授权、ensure_signup_trial、handleLegacyTokenGate、entitlement-required 页面及相关配置 2026-05-25 01:56:17 +08:00
2569718930@qq.com 9a49ff3f5e 新增终端大洲分组与移动端卡片 CSS 模块
包含分组标题行、移动端 Tab 隐藏滚动条、信号卡片样式及浅色主题适配。
2026-05-25 01:55:55 +08:00
2569718930@qq.com 0b47f4b487 终端表格重构:9列时区分组、移动端Tab+卡片流响应式布局 2026-05-25 01:55:24 +08:00
2569718930@qq.com 6f3fef4a3c 新增终端移动端城市卡片组件 2026-05-25 01:50:56 +08:00
2569718930@qq.com 3e0725f680 新增终端移动端大洲 Tab 栏组件 2026-05-25 01:50:41 +08:00
2569718930@qq.com 933cae74b4 新增终端大洲分组标题行组件 2026-05-25 01:50:30 +08:00
2569718930@qq.com ad14a007e7 continent-grouping 审查修复:localTimeRange 排序、key 类型收窄 2026-05-25 01:49:28 +08:00
2569718930@qq.com f0dec1e65e 终端全面中文化:表格、面板、统计、图表均接入语言切换
新增 TERM 翻译字典(28 个 key),通过 t() 函数统一取词。
MarketTable/SparkArea/ProbabilityDistributionChart 接收 isEn 参数。
所有 Panel 标题、表头、统计标签、详情卡片、搜索提示、门控组件
均跟随语言切换实时生效。

Tested: tsc --noEmit 通过, npm run build 通过
2026-05-25 01:42:02 +08:00
2569718930@qq.com c79dfda495 新增终端大洲分组逻辑模块 2026-05-25 01:41:43 +08:00
2569718930@qq.com 6672f02989 新增终端城市大洲分组设计文档
覆盖桌面端 9 列分区分组表格、移动端 Tab+卡片流布局方案。所有数据字段已就绪,无需后端改动。
2026-05-25 01:36:00 +08:00
2569718930@qq.com 7e9d7a4b59 落地页登录态感知:已登录用户隐藏登录/注册按钮
InstitutionalLandingPage 挂载时检测 Supabase session,
用户已登录则仅显示"进入产品"直达 /terminal,未登录则保留完整按钮组。

Tested: npm run build 通过
2026-05-25 01:33:30 +08:00
2569718930@qq.com bdb314d1a7 终端顶栏新增中英文语言切换按钮
KoyfinWeatherTerminal 顶栏右侧添加 EN/中文 切换组件,样式与落地页一致。
Refresh 按钮文字同步支持国际化。

Tested: npm run build 通过
2026-05-25 01:26:03 +08:00
2569718930@qq.com 0574b0cc20 双层鉴权架构:中间件终端门控 + 落地页按钮直连登录
LandingPage "进入产品"按钮改为 /auth/login?next=/terminal,消除未登录直达终端
再跳登录的视觉卡顿。Middleware 新增 handleTerminalGate(Layer 1),
在 /terminal 路由独立拦截未认证用户并 302 到登录页。
ScanTerminalDashboard 内 ProductAccessRequired 重构为 SubscriptionGate(Layer 2),
专注展示升级订阅提示。

Constraint: 双层顺序为认证优先 → 订阅检查在后
Tested: tsc --noEmit 通过, npm run build 通过
2026-05-25 01:21:44 +08:00
2569718930@qq.com af97173eed 登录页 logo 替换为图片,终端及落地页样式微调
LoginClient 双布局 logo 从 CloudSun 图标+文字改为 /logo.png 图片。
ScanTerminalState 样式精简,LoadingSignal 调整,落地页细节优化。

Tested: tsc --noEmit 通过, npm run build 通过
2026-05-25 01:10:26 +08:00
2569718930@qq.com 8b93f8ff54 仪表盘顶栏品牌图标替换为新 logo
HeaderBar 用 apple-touch-icon 替代 CloudSun 图标,新增 static 静态资源目录。
2026-05-25 01:09:10 +08:00
2569718930@qq.com 759ee7a8e4 登录页 mode 参数改为服务端直传,消除登录/注册表单切换闪烁
LoginPage 从 searchParams 提取 mode 作为 initialMode prop 传给 LoginClient,
替代客户端 useEffect 从 window.location.search 读取的方式,首次渲染即显示目标表单。

Tested: tsc --noEmit 通过, npm run build 通过
2026-05-25 01:03:38 +08:00
2569718930@qq.com 8957185062 登录页与落地页细节调整 2026-05-25 00:57:55 +08:00
2569718930@qq.com e36fb1e97b 清理机构落地页中未使用的 useState 状态
移除 billingCycle 状态及对应 import。
2026-05-25 00:54:02 +08:00
2569718930@qq.com c9cff88452 更新浏览器图标为新品牌 logo
基于 public/logo.png 重新生成所有尺寸的 favicon 和 PWA 图标。
Tested: npm run build 通过
2026-05-25 00:53:39 +08:00
2569718930@qq.com a4d8c1aa39 终端升级:MiniSparkline 替换为 Recharts 交互图表,新增概率分布柱状对比图 2026-05-25 00:45:50 +08:00
2569718930@qq.com e9cc9a5eb1 修复机构落地页构建失败并恢复 Polymarket 市场扫描
InstitutionalLandingPage.tsx 补充 "use client" 指令以通过 Next.js 15 构建。
polymarket_readonly.py 集成 WebSocket 报价缓存加速价格获取。
city_payloads.py 复用 Polymarket 层构建真实市场扫描数据替代空返回。

Constraint: 市场扫描需在无 Polymarket 价格 UI 的前提下提供数据
Tested: npm run build 通过
2026-05-25 00:41:56 +08:00
2569718930@qq.com b6d7b07708 完善机构终端页面布局与登录页细节调整 2026-05-25 00:31:11 +08:00
2569718930@qq.com fd2531341d 更新终端重构后的业务状态测试 2026-05-25 00:23:44 +08:00
2569718930@qq.com e4d123d94d 重构首页为机构落地页,新增终端路由,时区感知 Polymarket 市场发现 2026-05-25 00:16:53 +08:00
2569718930@qq.com 45e9c28437 feat: implement account management and subscription payment center components 2026-05-24 23:09:13 +08:00
2569718930@qq.com 32a3ba0ea4 feat: implement HeaderBar and ScanTerminal UI layout components for dashboard navigation and decision workspace 2026-05-24 22:38:43 +08:00
2569718930@qq.com 4832678d72 修复 Telegram 绑定弹窗拦截:拦截时展示可点击链接供手动跳转 2026-05-24 18:55:52 +08:00
2569718930@qq.com 20c8395c0b 全局配置更新:OAuth 回调修复、支付安全加固、站点 URL 工具
- 新增 NEXT_PUBLIC_SITE_URL 支持及 site-url.ts 工具模块
- 修复 OAuth 回调域名:import.meta.env 统一读取站点 URL
- 支付 API 路由新增收款地址校验
- 后端支付服务更新
- middleware 清理
- 新增 paymentSecurity 测试
2026-05-24 18:33:47 +08:00
2569718930@qq.com 2be0b71018 修复 Telegram 绑定按钮被浏览器 popup 拦截:先同步打开窗口再设置跳转 2026-05-24 18:12:07 +08:00
2569718930@qq.com 2415167132 修复 OAuth 回调域名:优先使用 NEXT_PUBLIC_SITE_URL 并添加根路径 code 兜底 2026-05-24 17:55:32 +08:00
2569718930@qq.com 5aa2a9e384 更换 Telegram Bot 为新账号 polyyuanbot,更新群链接和推送配置
- Bot token/用户名全局替换:WeatherQuant_bot → polyyuanbot
- 群 ID 更新为新群 polyweather售后群(-1003927451869)
- 群邀请链接更新为 https://t.me/+Io5H9oVHFmVjOTQ5
- 修复机场推送:Paris/Taipei/Denver/Tel Aviv 支持 airport_primary/current 回退
- 修复跑道数据展示:has_runway 直接检测数据而非依赖 source 字段
- 创建新群 30 城 Forum Topics(data/city_thread_ids.json)
- 配置 AMSC AWOS 数据源 URL

Constraint: 旧 Telegram 账号已注销,Bot 完全重建
Tested: VPS 部署验证,所有城市推送正常,Topic 路由生效
2026-05-24 16:03:29 +08:00
2569718930@qq.com 89394e12ef 拆分 AccountCenter 超大组件:提取类型、常量、钱包、支付等独立模块
- AccountCenter.tsx 从 3565 行缩减约 1000 行
- 新增 8 个模块:types / constants / formatters / account-copy / wallet / payment-utils / usePaymentState / AccountInfoRow
- 同步更新 paymentShell 测试

Confidence: high
2026-05-23 23:30:48 +08:00
2569718930@qq.com b2dd758977 扩展模型区间端点至首尔和釜山,并做前端小幅清理
- GET /api/cities/model-range 新增 seoul/busan,总计 9 城
- 移除未使用的 react-leaflet 依赖
- 提取 chart Tooltip contentStyle 为共享常量 CHART_TOOLTIP_STYLE,消除 6 个文件中 15 处重复内联样式

Tested: npx tsc --noEmit pass
Confidence: high
2026-05-23 22:59:50 +08:00
2569718930@qq.com 864b1fa1f9 修复前端长时间挂机内存累积:城市缓存 LRU 逐出 + AI 预测缓存上限
Constraint: cityDetailsByName/citySummariesByName/cityDetailMetaByName 只增不减,52 城全量可达 ~5MB+
Constraint: aiCityForecastStateCache 无上限,随城市×日期组合膨胀
Tested: tsc --noEmit OK, ruff OK, pytest 184 passed
2026-05-23 21:18:32 +08:00
2569718930@qq.com 6cbc56ac5a 修复业务测试:AI 预测最高温需等待 AI 就绪,不再回退行数据 2026-05-23 12:45:19 +08:00
2569718930@qq.com 5817d4157d AI 未就绪时不再用集群中位数冒充 AI 预测最高温 2026-05-23 12:34:26 +08:00
2569718930@qq.com 348dfe132a 移除 Polymarket 价格层 UI:删除 MarketDecisionLine 组件及相关数据流 2026-05-23 12:24:49 +08:00
2569718930@qq.com 105713c799 @
支付提交增加 Tx 预校验:提交前链上验签收款地址与金额,防止转错地址;409 错误展示友好中文提示并自动对账恢复

- 新增 validate_intent_tx 方法及 POST /api/payments/intents/{id}/validate 端点,
  在提交前查链上 receipt 对比收款地址和金额,mismatch 直接拦截
- 新增 handleSubmit409 辅助函数,根据后端错误详情分流处理:
  已支付→自动 reconcile,已过期→提示重下单,其他→透传具体原因
- submit/validate 路由透传后端 detail 字段,生产环境也能看到具体错误
- 手动转账面板粘贴 tx hash 后自动触发验证,绿色/红色提示,
  验证不通过时禁用提交按钮

Tested: tsc --noEmit + ruff check . 均通过
@
2026-05-22 04:44:14 +08:00
2569718930@qq.com 5e0dc3ec53 移动端城市列表移除可交易城市过滤,始终显示全部监测城市
Constraint: MobileCityPicker 数据源仅使用 store.cities
Scope-risk: 仅影响 cityListRows 构建逻辑
2026-05-22 04:24:01 +08:00
2569718930@qq.com dbc8923b76 修复 Polymarket 价格层在 MacBook 上被压缩成一列的问题
grid 改为 flex-wrap 自适应,描述列设 min-width:180px 防止文字被挤压
2026-05-21 18:40:32 +08:00
2569718930@qq.com a39a74de2f @
修复决策卡片 grid minmax(0,1fr) 导致的内容溢出

MacBook 上 minmax(0,1fr) 会使列宽坍缩为 0,内容被截断。
改为 1fr + width:100% 确保决策带和市场决策区正常展示。
@
2026-05-21 17:58:33 +08:00