shy3130
|
00a30597bd
|
feat(ui): 看板无数据提示优化 + 数据页无 Key 引导 + 设置页文案
Dashboard:
- hasNoData 改用 trading_days 判断 (后端 status rows 恒为 0 导致提示无法消除)
- 无数据提示改 warning 黄色风格 + AlertTriangle 图标
- 无数据/无 Key 两提示互斥: 无 Key 优先, 有 Key 无数据才显示同步提示
- API Key 横幅: 邀请码加复制按钮, 文案调整
Data:
- 无 Key 时立即同步按钮置灰禁用 + 显示未配置提示
- 指数数据卡片设置按钮与其它卡片一致 (有数据才显示)
System:
- '清理浏览器缓存' 改名 '刷新前端缓存', 避免误导为清数据
|
2026-06-24 23:24:25 +08:00 |
|
shy3130
|
37f4d61e3a
|
fix(backend): 清除数据彻底清空三层内存缓存 + 监控触发记录 + 修复版本号
修复清除数据后看板/监控仍显示旧数据的根因:
数据缓存清理 (repository/screener/overview):
- repository.py: 新增 clear_cache() 无条件清空全部 Polars 内存缓存;
修复 _refresh_enriched() 磁盘无数据时不清内存导致旧数据残留的 bug
- screener.py: 新增 clear_history_cache() 清进程级 _history_cache (TTL 缓存)
- overview.py: 新增 invalidate_overview_cache() 清看板聚合结果 5s TTL 缓存
清除数据完整性 (data.py):
- clear_data 删除 parquet 后统一调用三层缓存清理
- 新增清除监控运行数据: alert_store.clear() 清 alerts.jsonl + _pending_alerts 内存队列
(原 clear_data 漏删 user_data/alerts.jsonl, 导致触发记录清不掉)
版本号统一:
- /api/data/version 改为优先读 app.__version__ (与 /health 同源),
原 pyproject.toml 路径解析有误读不到, 回退到陈旧的 VERSION 文件
- Windows GBK 编码修复: __init__.py 强制 stdout/stderr UTF-8,
避免 TickFlow SDK 输出含 emoji 的指数名称时崩溃 (gbk codec can't encode)
|
2026-06-24 23:24:04 +08:00 |
|
shy3130
|
b28355aacf
|
feat(dashboard): 看板无本地数据时显示提示条 + 跳转数据页同步按钮
- enriched/daily 两表均无数据时,顶部显示蓝色提示条
- 「前往同步」按钮 Link 跳转 /data 页面
- 与 none 档(无 key)黄色横幅区分显示
版本: 0.1.38
|
2026-06-24 18:07:43 +08:00 |
|
shy3130
|
5c492c1825
|
fix(tier): 乱填 key 误判为 free 档 —— 探测改走付费端点验证 key
根因(鸡生蛋蛋生鸡的循环依赖):
保存乱填 key 后 detect_capabilities → get_client() 读旧 capabilities.json
(此时还是 none 档)→ _should_use_free_server() 返回 True → 用
TickFlow.free() 探测 → free 服务器忽略 key, 日K成功 → 误判为 free 档。
修复:
_probe_real 改用探测专用客户端, 强制走付费端点(api.tickflow.org)验证
key 有效性, 不再依赖运行时的 get_client()(受旧缓存档位影响)。
乱填 key 在付费端点全部 AuthenticationError → 正确判定 none 档 + invalid。
版本: 0.1.37
|
2026-06-24 17:58:56 +08:00 |
|
shy3130
|
755c114390
|
feat(tier): API 检测重构为 5 档,新增「无」档 + 修复 CapabilityDenied 返回 500
检测逻辑(复权因子分水岭):
- 无 key / 乱填(连单只日K都拿不到) → none 档,不存 key,走 free-api 服务器
- 免费有效 key(有日K无复权) → free 档,存 key,走 free-api 服务器
- 付费 key(有复权) → starter/pro/expert,走 api.tickflow.org
主要改动:
- save_tickflow_key 改为先探后存:无效 key 不持久化,前端提示「Key 无效」
- none/free 档统一走 TickFlow.free(),实时行情开关置灰
- tiers.yaml 新增 none 档,free 档补 kline.daily.batch
- 注册 CapabilityDenied 全局 handler → 403(此前返 500)
- /health mode 三态化,watchlist 无行情能力时提前 return
- 看板页 none 档显示黄色升级提示(含邀请码超链接)
版本: 0.1.36
|
2026-06-24 17:44:58 +08:00 |
|
shy3130
|
263092a71c
|
fix: bump_version 同步 app/__init__.py 版本号 (health 接口对齐)
bump 脚本之前只更新 pyproject + package.json, 漏改 app/__init__.py,
导致 /health 报的版本号停留在 0.1.31。现在三处版本号源统一更新。
|
2026-06-23 21:52:48 +08:00 |
|
shy3130
|
7a15338281
|
feat(signals): 统一信号库与自定义信号弹窗,三处复用同一组件
- 设置页「自定义信号」升级为「信号库」:内置信号(只读) + 自定义信号分 Tab 展示
- 内置信号补充类型/分类/说明元数据
- 自定义信号配置改为通用弹窗组件 CustomSignalDialog
- 抽出 SignalTriggerActions:新增信号 / 去信号库按钮 + 保存后自动加入触发器
- 回测高级设置、策略卡片配置弹窗均复用上述组件,去除重复逻辑
- 自定义信号删除改为二次确认(闪烁提示,3 秒自动复位)
- 版本号 0.1.30 -> 0.1.31
|
2026-06-23 16:47:11 +08:00 |
|
shy3130
|
b5780b5e30
|
feat: 统一监控引擎 + AlertToast通知 + 声音/角标/看板/Dev页 + 股票名称批量查询
监控引擎 (backend):
- MonitorRuleEngine 统一规则引擎,支持策略/信号/价格/行情四种类型
- JSONL 追加存储 (alert_store.py),支持分页 + 清理
- alert/monitor_rules CRUD API + seed 演示数据
- POST /api/kline/instruments/names 批量股票名称查询
- SSE strategy_alert 事件触发前端通知
前端通知体系:
- AlertToast 自定义弹窗 (Framer Motion + AnimatePresence)
- Web Audio API 合成音效 (12种预设,无需音频文件)
- 侧边栏角标 (monitorBadge.ts) localStorage 持久化未读数
- pendingSeen 机制解决 markSeen/setCurrentTotal 竞态
- 系统设置页: 通知开关 + 最大条数 + 音效选择
- 菜单设置页: 角标数字开关
监控中心 (Monitor.tsx):
- 双栏布局: 左侧实时告警列表 + 右侧规则管理
- RulesList 股票代码后显示中文名称
- RuleEditor 完整规则编辑器组件
- 告警支持查看详情 (StockPreviewDialog)
Dashboard:
- MonitorWidget: Top 10 实时告警卡片
Dev 页面:
- 一键填充演示告警 + 规则 + 分钟探测
- 可视化 SSE 事件流查看
其他:
- v0.1.19 → v0.1.28 (VERSION 从 pyproject.toml 读取)
- dev.ps1/dev.sh 添加 --host 0.0.0.0 (局域网访问)
- 修复 Screener.tsx presets.length 可选链
- README 截图表格更新 (6张) + 监控章节重写
- 删除 MinuteDataProbe 页面 (合并至 Dev)
|
2026-06-21 14:18:08 +08:00 |
|
shy3130
|
f82b02121e
|
chore: 项目更名 tickflow-stock-panel + 菜单logo两行显示
|
2026-06-19 21:33:11 +08:00 |
|
shy3130
|
d1cb13f607
|
chore: 项目名称规范化调整
|
2026-06-19 21:31:35 +08:00 |
|
shy3130
|
7369358d08
|
Initial release v0.1.19
|
2026-06-18 17:18:23 +08:00 |
|