Commit Graph
47 Commits
Author SHA1 Message Date
SakurasanandClaude 90569918a3 refactor: 删除板块资金流向,题材板块功能更全
- 删除前端 /sectors 页面、首页入口按钮、stock-api 板块类型与 fetchSectors
- 删除后端 /api/sectors 路由,main.py 移除注册
- eastmoney.py 移除板块数据段(_fetch_push2/_fetch_akshare/UT令牌管理),
  清理重复 import 与无用 datetime 子导入
- mootdx.py 移除板块降级方案(fetch_sector_list)
- routeTree.gen.ts 由 build 自动重新生成,移除 sectors 路由

题材热点/热点穿透/核心股已覆盖板块能力,功能更全,板块资金流向不再需要

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-11 18:50:54 +08:00
SakurasanandClaude 7fe8074e22 feat: 题材列表盘中120s缓存共用,题材详情新增全量新闻分页+强度热度行情
- 题材热点与热点穿透共用题材列表缓存:盘中由"不缓存实时拉取"改为120s短缓存,
  东财全量列表拉取降到每120s一次,图重建时涨幅/热度两榜直接命中缓存
- 详情页相关新闻升级为全量分页(getThemeRelatedNews):支持翻页+评论数,
  替换原 getDetail 固定3条
- 详情页统计条新增强度+热度(getSingleThemeQuote)实时指标

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-11 16:56:44 +08:00
SakurasanandClaude f98a9255a5 feat: 股票球按涨幅绝对值调整大小
半径 = 覆盖数基础 + 涨幅绝对值增量(|f3|/10*4, 封顶20),
涨得猛/跌得深球更大。同覆盖下 0%vs10% 球径差约4px。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-11 01:07:59 +08:00
SakurasanandClaude 776ab55fc3 feat: 股票球跌幅改为绿色空心球体
涨: 保留分级实心(覆盖数越多越红) + 红色光晕;
跌: 绿色空心球(绿描边+内部淡绿留白) + 绿色光晕。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-11 00:59:07 +08:00
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 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 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 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 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
Sakurasan ef795c46b2 修复板块切换数据合并:行业/概念使用独立 useQuery 隔离数据 2026-07-13 21:07:44 +08:00
Sakurasan 677482639d 板块资金流向默认按升序排序 2026-07-13 21:03:31 +08:00
Sakurasan 65013dad3e 重写板块资金流向前端:行业/概念 Tab 切换与资金流入/涨幅排序 2026-07-13 20:57:00 +08:00
Sakurasan fd00ce11d6 修复 React Query 未提供 QueryClientProvider 导致的运行时错误
- main.tsx 中增加 QueryClientProvider 包裹 RouterProvider
- router.tsx 的 getRouter() 改为返回 { router, queryClient } 对象
- 确保 useQuery 在组件树中能正常获取 QueryClient 上下文
2026-07-13 20:28:25 +08:00
Sakurasan 1da4f8f479 重写板块资金流向前端页面,使用 React Query 替代手动状态管理修复数据合并问题
- 使用 @tanstack/react-query 的 useQuery 替代 useState + useEffect + AbortController
- queryKey 按 tab 类型 (industry/concept) 隔离数据,根除快速切换导致的数据混用
- 增加空数据提示状态
- 保持原有 UI 结构和交互一致性
2026-07-13 20:24:25 +08:00
SakurasanandClaude 20b2afb0fc 修复总市值显示错误 & 板块切换数据合并问题
1. 后端: 修正腾讯API字段索引偏移 (total_market_cap [43]→[45],
   pb [45]→[46]),并处理市值单位转换(亿→元)
2. 前端: 板块切换时同步清空旧数据 + 显示加载态,避免新旧
   数据合并闪现

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 20:07:21 +08:00
SakurasanandClaude aaa618b15d K线图修复时间轴排序问题 & 行情指标合并到顶部卡片
- 修复K线图tickDates排序忽略年份导致跨年时期轴从右往左的问题
- 将行情指标(PE/PB/ROE/换手率/成交额/市值)合并到顶部股票信息卡片

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 15:10:43 +08:00
SakurasanandClaude 60eff4a955 feat: 股票详情页增加最新交易日PE/PB/ROE/换手率/市值等行情指标
- 后端tencent.py增加换手率/市盈率/市净率/总市值/流通市值字段提取
- 前端StockQuote接口新增对应字段类型定义
- 股票详情页增加"行情指标"卡片,展示PE/PB/ROE/换手率/总手/成交额/市值
- ROE取自财务分析数据的加权净资产收益率

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-08 19:27:23 +08:00
Sakurasan 015aeb989a 更新BK缓存策略 2026-07-08 00:33:15 +08:00
Sakurasan 0ba7952082 支持删除集合条目 2026-07-07 15:05:19 +08:00
Sakurasan 6390545e61 使用push2 数据接口,优化代码 2026-07-06 22:27:45 +08:00
Sakurasan 83c88ee945 公司介绍 财务数据 2026-07-06 19:44:40 +08:00
Sakurasan cffdea5407 up 2026-07-06 02:30:38 +08:00
Sakurasan 084eb146f9 up 2026-07-06 00:23:48 +08:00
Sakurasan 013ebdaffe up 2026-07-05 21:29:17 +08:00