 SakurasanandClaude
|
dfcce3abaf
|
feat: 所有股票小球统一光晕强度,涨红光晕/跌绿光晕更明显
光晕透明度不再乘覆盖数 alpha(覆盖1的股票 alpha=0.45 导致光晕过淡),
改为所有股票统一 0.5 强度,高亮淡出时降为 0.06。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-11 00:50:52 +08:00 |
|
 SakurasanandClaude
|
d473bbad6b
|
feat: 股票小球心跳动画(覆盖≥5题材) + 涨幅正红光晕/负绿光晕
- 覆盖≥5题材股票球按正弦脉动(周期900ms, 幅度22%), 越大越醒目
- 涨幅≥0红色径向渐变光晕, <0绿色光晕, 随心跳一起脉动
- 架构: 静态层不再画股票节点(只画边+题材), 股票常驻动态层重绘
以支撑持续动画; 新增常驻rAF动画循环驱动 timeRef
- 高亮态邻居淡出时, 光晕/心跳随 alpha 同步淡出
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-11 00:44:42 +08:00 |
|
 SakurasanandClaude
|
c4a0c50ed0
|
feat: 题材小球正涨幅蓝实心、负涨幅蓝空心
负涨幅球改为仅描边空心(内部淡蓝留白),边框加粗;
图例同步改为空心蓝球示意。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-11 00:10:31 +08:00 |
|
 SakurasanandClaude
|
0a32bfad78
|
feat: 题材小球整体放大(半径 6~30)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 23:53:47 +08:00 |
|
 SakurasanandClaude
|
69535bc782
|
feat: 题材小球改平方根映射,拉大中小涨幅区分度
线性映射被极端涨幅拉平均,多数 0~3% 题材球挤在最小值附近。
改平方根映射:零涨幅 4px、1%≈10px、3%≈15px、极值 22px,
中等涨幅区间球径差显著放大。碰撞力半径动态跟随节点,无需额外适配。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 23:51:58 +08:00 |
|
 SakurasanandClaude
|
254deb6a80
|
feat: 热点穿透题材节点按涨幅正蓝负绿、球大小随涨幅绝对值
- 后端题材列表下发 bf3(题材涨幅)
- 题材节点: 正涨幅蓝色/负涨幅绿色, 半径按 |bf3| 在 6~20 映射
- 题材标签文字颜色跟随正负
- 信息卡/底部浮层题材分支显示涨幅
- 图例拆分涨/跌两项并说明球大小含义
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 23:34:38 +08:00 |
|
 SakurasanandClaude
|
b29ca8413c
|
feat: 核心股追踪改名热点股追踪
页面标题、页面内'活跃核心股'描述、入口链接文案同步更名;
热点穿透页内'穿透核心股'列表概念(覆盖题材数)保留原名。
底层路由/表名/代码标识符 core_stocks 不变。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 23:02:39 +08:00 |
|
 SakurasanandClaude
|
c610faa4ad
|
chore: 新增服务器端清理重采脚本 recollect-daily.sh
选股逻辑变更后,服务器上当天旧数据需删除重采(幂等会跳过)。
脚本默认容器 auv、日期取服务器当天,支持显式传参;含日期格式与容器存在性校验。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 22:33:13 +08:00 |
|
 SakurasanandClaude
|
f93ffd381b
|
feat: 核心股追踪选股并入热点穿透核心股(覆盖题材数降序前100,去重)
选股口径由仅'题材领涨股涨幅前100'改为:
- 热点穿透核心股(覆盖题材数≥2,按覆盖数降序前100)
- 合并题材领涨股涨幅前100,按股票代码去重
复用 _build_theme_graph 计算每股覆盖题材数;热点穿透构建失败
时降级为仅领涨股前100,不影响当日采集。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 22:31:38 +08:00 |
|
 SakurasanandClaude
|
1d3ec3194c
|
feat: 核心股追踪题材默认展开显示
移除展开/收起交互,题材标签区始终展示
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 21:56:18 +08:00 |
|
 SakurasanandClaude
|
b4d48180b7
|
feat: 核心股追踪题材标签跳题材详情、股票名跳股票详情
- 题材标签 → /theme/$code
- 股票名 → /stock/$code(阻止冒泡避免触发行展开)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 21:53:47 +08:00 |
|
 SakurasanandClaude
|
6d3c470b7b
|
feat: 核心股追踪行点击展开显示所属题材列表
- active 接口返回每只核心股 themes(窗口内按题材去重)
- 页面行点击展开题材标签,chevron 指示展开状态
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 21:50:16 +08:00 |
|
 SakurasanandClaude
|
23644a9c77
|
feat: 题材涨幅前20存历史(原前10)
- daily_collector TOP_THEME_LIMIT 10 → 20
- 同步 routes/collector 注释与 spec/plan 文档
- 实测 2026-08-10 题材前20入库 20 条,themes/history 返回 20 条
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 21:27:54 +08:00 |
|
 SakurasanandClaude
|
1c434a208a
|
merge: 每日核心股/题材历史 + 活跃核心股滚动表格功能
将 worktree-core-stock-history 分支合并回 main:
- 每日采集核心股前100+所属题材、题材涨幅前10 存历史
- /api/core-stocks/active|history、/api/themes/history 接口
- /core-stocks 展示页(10日涨幅矩阵 + 题材数/最近上榜/上榜次数)
- 后端 asyncio 定时采集 + 前端入口链接
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 21:17:35 +08:00 |
|
 SakurasanandClaude
|
036a87bac9
|
feat: 核心股页面补最近上榜日期列
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 21:13:58 +08:00 |
|
 SakurasanandClaude
|
258fc9184d
|
feat: 补齐 spec 遗漏 — themes/history 接口 + cover_count/coverCount/daysSinceLastAppear
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 21:08:39 +08:00 |
|
 SakurasanandClaude
|
ac985a2140
|
feat: 题材/热点穿透页加入核心股追踪入口
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 20:59:12 +08:00 |
|
 SakurasanandClaude
|
a7cff0930d
|
style: 核心股页面 formatGain 符号一致 + 表格 a11y 增强
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 20:56:38 +08:00 |
|
 SakurasanandClaude
|
5e7f0c4f13
|
feat: 活跃核心股 10 日涨幅矩阵页面
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 20:50:39 +08:00 |
|
Sakurasan
|
77f6e36c13
|
fix: dailyGains 类型精度 + 补 try/catch 与 theme-api 对齐
|
2026-08-10 20:40:33 +08:00 |
|
Sakurasan
|
cd56f6c158
|
feat: 核心股历史前端 API 客户端
|
2026-08-10 20:30:28 +08:00 |
|
 SakurasanandClaude
|
c58bd990fd
|
fix: lifespan 关闭时 await 取消的采集任务,避免 pending 警告
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 20:23:17 +08:00 |
|
 SakurasanandClaude
|
6b12b04cab
|
feat: 挂载核心股路由并启动每日采集任务
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 20:20:55 +08:00 |
|
 SakurasanandClaude
|
ffabf3d396
|
perf: /history 消除题材查询 N+1 并修正排序注释
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 20:17:39 +08:00 |
|
 SakurasanandClaude
|
f5ba61e3db
|
feat: 核心股历史/活跃接口
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 20:00:29 +08:00 |
|
 SakurasanandClaude
|
526b182051
|
fix: 修复 collector_loop 常量名(NameError)并填充核心股所属题材
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 19:49:36 +08:00 |
|
 SakurasanandClaude
|
14c31e3f06
|
fix: 修正 collector_loop 常量名拼写 _COLLECT_AFTER_TIME → COLLECT_AFTER_TIME
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 19:38:24 +08:00 |
|
 SakurasanandClaude
|
aed3eea739
|
feat: 每日核心股/题材采集服务(幂等)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 19:30:35 +08:00 |
|
Sakurasan
|
5ffa5c07b2
|
feat: 新增每日核心股/题材历史 3 张表
|
2026-08-10 19:27:51 +08:00 |
|
Sakurasan
|
84d237de1f
|
docs: 每日核心股/题材历史功能实现计划
|
2026-08-10 19:26:20 +08:00 |
|
 SakurasanandClaude
|
f354da108d
|
docs: 每日热点核心股/题材历史记录 + 活跃核心股滚动表格设计
- 每日采集核心股前100(按涨幅)+所属题材,题材涨幅前10,存历史
- asyncio 后台定时采集,幂等去重
- 新页面:股票×最近10个A股交易日涨幅矩阵,超10日未出现踢出
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 19:26:20 +08:00 |
|
Sakurasan
|
8687bda331
|
docs: 每日核心股/题材历史功能实现计划
|
2026-08-10 19:25:31 +08:00 |
|
 SakurasanandClaude
|
75c7ff3670
|
docs: 每日热点核心股/题材历史记录 + 活跃核心股滚动表格设计
- 每日采集核心股前100(按涨幅)+所属题材,题材涨幅前10,存历史
- asyncio 后台定时采集,幂等去重
- 新页面:股票×最近10个A股交易日涨幅矩阵,超10日未出现踢出
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 19:20:11 +08:00 |
|
 SakurasanandClaude
|
84a01fb7b1
|
fix: 补齐完整浏览器请求头并改用 web client,修复生产 403 拿不到题材数据
生产服务器请求东财题材列表/相关股票返回 403(缺 sec-* 头 + iOS client
被风控识别为爬虫),导致热点穿透重建失败、数据冻结在上个交易日。
- 请求头补齐 sec-ch-ua/sec-fetch-*/priority/dnt 等完整 Chrome 头
- payload client 由 iOS 改为 web(生产实测该组合正常返回)
- content-type 补 charset=UTF-8
生产实测:完整头 + web client 正常返回数据。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 18:36:27 +08:00 |
|
 SakurasanandClaude
|
ce131b2867
|
fix: 热点穿透盘中缓存过期改为同步重建,避免显示上个交易日旧图
fetch_theme_graph 原用 stale-while-revalidate:缓存过期先返回旧数据、
后台异步重建。缓存里若是上个交易日数据,过期后用户一直看到旧图,
重建完成前不会更新。
- 交易时段缓存过期/无缓存 → 同步重建(加锁去重),绝不返回旧数据
- 非交易时段过期 → 保留 stale-while-revalidate(行情无实时变化,秒开无害)
实测盘中同步重建约 7s,可接受。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 13:47:21 +08:00 |
|
 SakurasanandClaude
|
1550291d6b
|
fix: 题材热点缓存改为开盘前失效,避免开盘后显示上个交易日数据
非交易时段(凌晨/早盘前/周末)访问题材接口时,旧逻辑把上个交易日
数据缓存 18 小时,导致开盘后缓存未过期仍读到旧数据。
- 非交易时段缓存 TTL 由固定 18h 改为"截止到下一次开盘时刻":
早盘前→9:30 失效、午休→13:00 失效、收盘后/周末→下一交易日 9:30 失效
- 题材列表交易时段强制不读缓存,双保险实时拉取
- 热点穿透图/题材股票缓存同样收敛到开盘前失效
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-10 13:26:00 +08:00 |
|
 SakurasanandClaude
|
a1736c8a17
|
fix: 热点穿透顶栏手机端换行自适应
- 顶栏去掉固定 h-12,改为 flex-wrap + py-2,按钮组窄屏自动换行不再溢出
- 统计条 flex-wrap + whitespace-nowrap,题材/股票/穿透核心股窄屏自动换行
- 返回箭头/标题/刷新按钮 shrink-0 防压缩
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 14:03:40 +08:00 |
|
 SakurasanandClaude
|
548ebee47f
|
perf: 优化热点穿透加载速度 + Canvas 渲染 + 触控板/手机交互
后端加载优化(盘中原本每次访问都重新聚合,耗时 10-30 秒):
- 图聚合结果与题材股票子层盘中加 60 秒缓存
- 缓存过期时返回旧数据并后台幂等重建(stale-while-revalidate),打开即秒开
- 缓存基础支持秒级 TTL(set_cache 新增 ttl_seconds)
- 响应体瘦身:移除 edges(前端从 stocks[].themeCodes 重建)、
themes 精简字段、stocks 按 limit 裁剪,JSON 从数 MB 降至数百 KB
前端 Canvas 渲染重构:
- d3-force 布局保留,SVG 渲染层替换为 Canvas 双缓冲(静止态离屏层 drawImage)
- tick 由每帧 setState 改为 rAF 合帧,拖拽/缩放期间零 React 重渲染,800 节点流畅
交互优化:
- 手机:新增 +/−/适应 缩放按钮、命中半径放大至 22px、tap/drag 6px 阈值区分、
双指捏合缩放、触屏禁用 hover 避免与选中冲突
- Mac 触控板:双指滚动=平移、捏合(ctrlKey)=缩放、滚轮缩放保留、点空白取消选中
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-07 13:21:08 +08:00 |
|
 SakurasanandClaude
|
e28d1a2fd0
|
feat: 新增热点穿透网状关系图 + 移动端优化
- 新增 /hot-map 热点穿透页:d3-force 力导向网状图展示题材-股票 M:N 关系
- 股票节点面积/颜色按覆盖题材数分级,穿透核心股高亮
- 图/核心股列表双视图切换,列表覆盖题材>2 公司降序展示
- 悬停信息卡、缩放平移、点击跳转股票/题材详情
- 数据采样改为涨幅+热度双榜合并(各 Top50 去重=82 题材),修复覆盖数低估
(有研新材覆盖数 2→10,核心股 66→1124 家)
- 移动端适配:触屏 tap 选中底部浮层、标签缩放阈值防重叠、自动 fit、紧凑图例
- 主页/题材列表增加热点穿透入口
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-06 20:34:14 +08:00 |
|
 SakurasanandClaude
|
45836f4a30
|
feat: 新增题材页面(列表 + 详情)
- 主页增加「题材热点」入口,跳转题材列表页
- 题材列表页:展示全部题材,支持按涨幅/强度/热度/成交额排序
- 题材详情页:简介、热点事件、相关新闻、板块涨跌统计、全部相关股票(含入选理由默认展开)
- 后端逆向封装东方财富题材接口 getThemeList/getDetail/getStockList,含交易时段感知缓存
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-06 17:22:04 +08:00 |
|
 SakurasanandClaude
|
b107a12798
|
fix: fund-flow 路由补充东方财富 kline 成交额
腾讯 fqkline 仅返回 6 个字段(date/open/close/high/low/volume),
不含成交额,导致 fund-flow 路由补充的 turnover 始终为 0。
在路由层额外调用 eastmoney.fetch_kline_history 获取成交额映射,
优先使用东方财富的成交额数据补充,腾讯 kline_map 作为兜底。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-24 21:14:09 +08:00 |
|
 SakurasanandClaude
|
28ecc4d138
|
fix: fetch_fund_flow_daykline 增加 rc 校验和 data 空值保护
东方财富 daykline/get 接口返回 rc=100(data=null) 时无保护处理:
- 增加 result 类型检查、rc 状态校验、data 空值判断
- 避免 None.get('klines') 抛 AttributeError
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-24 18:49:48 +08:00 |
|
 SakurasanandClaude
|
2a0960c251
|
修复两个问题:
1. 移除 eastmoney K线接口的 parsed.reverse(),统一为升序返回(与其他数据源一致),
修复 K线图时间方向相反、每日行情明细展示远期数据的 bug
2. fetch_fund_flow_daykline 改用 curl_cffi 替代 httpx,匹配东方财富 push2his
的 TLS 指纹检测,修复主力资金流向数据获取不到的 bug
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-24 18:19:30 +08:00 |
|
 SakurasanandClaude
|
b67d07e977
|
主页集合展示从 10 条改为 20 条
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-14 00:00:31 +08:00 |
|
 SakurasanandClaude
|
ea3da4e138
|
默认排序改为升序
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-13 23:49:02 +08:00 |
|
 SakurasanandClaude
|
bd1df35456
|
重构板块资金流向页面:三层数据分离(缓存→排序→展示),切换 Tab 清空缓存,排序改为资金/涨幅,新增 error/empty 状态处理
- 缓存数据、排序数据、展示数据三层分离架构
- 切换板块时 queryClient.removeQueries 清空全部缓存
- 排序维度改为 mainNetInflow(资金)和 mainNetInflowPercent(涨幅)
- 卡片展示主力净流入金额 + 占比
- 新增加载骨架屏、请求失败重试、空数据提示等状态
- 资金流向明细条(超大单/大单/中单/小单)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-13 23:46:00 +08:00 |
|
Sakurasan
|
22692be45e
|
Revert "重构板块资金流向:行业/概念改用独立 path,后端排序,前端不缓存直接请求"
This reverts commit eea2ce86d0.
|
2026-07-13 23:24:26 +08:00 |
|
Sakurasan
|
eea2ce86d0
|
重构板块资金流向:行业/概念改用独立 path,后端排序,前端不缓存直接请求
|
2026-07-13 23:22:09 +08:00 |
|
Sakurasan
|
94d84a368f
|
切换板块 tab 时强制 refetch,绕过前端/反代缓存确保数据正确
|
2026-07-13 22:44:34 +08:00 |
|
Sakurasan
|
3bfeb81c90
|
修复板块切换数据合并:禁止 API 响应缓存(反代按 path 忽略 query 导致两个 tab 数据相同)
|
2026-07-13 21:15:16 +08:00 |
|