 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 |
|
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
|
2db6bb8519
|
更新后端板块数据路由和服务(预提交)
|
2026-07-13 20:28:49 +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 |
|
 SakurasanandClaude Opus 4.7
|
86535f5de2
|
K线数据首选mootdx通达信TCP源,板块数据增加mootdx降级
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-07-08 02:09:57 +08:00 |
|
Sakurasan
|
015aeb989a
|
更新BK缓存策略
|
2026-07-08 00:33:15 +08:00 |
|
Sakurasan
|
1a50f7680a
|
并行获取板块数据
|
2026-07-07 20:28:24 +08:00 |
|
Sakurasan
|
e29e3d32fb
|
板块缓存
|
2026-07-07 17:54:50 +08:00 |
|
Sakurasan
|
c6cef8bb4c
|
update: 板块缓存
|
2026-07-07 17:51:28 +08:00 |
|
Sakurasan
|
62961017ea
|
优化静态路由
|
2026-07-07 16:07:10 +08:00 |
|
Sakurasan
|
0ba7952082
|
支持删除集合条目
|
2026-07-07 15:05:19 +08:00 |
|
 SakurasanandClaude Opus 4.7
|
5153fa28de
|
fix: docker-compose 持久化 SQLite 数据库; 迁移 DB 路径到 data/ 子目录
- docker-compose.yml: bind mount → named volume (auv_data:/app/data)
- backend/database.py: DB_PATH 改为 data/stock_data.db,自动迁移旧数据库
- .gitignore: 忽略 *.db 文件
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-07-06 23:59:25 +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
|
9682c91224
|
BUILDPLATFORM
|
2026-07-06 01:29:18 +08:00 |
|
Sakurasan
|
0719c63ef1
|
up
|
2026-07-06 01:01:38 +08:00 |
|
Sakurasan
|
084eb146f9
|
up
|
2026-07-06 00:23:48 +08:00 |
|
Sakurasan
|
95594d1b1a
|
u'p
|
2026-07-06 00:20:56 +08:00 |
|
Sakurasan
|
5cbb87a2ef
|
up
|
2026-07-06 00:16:33 +08:00 |
|
Sakurasan
|
28306124f6
|
up
|
2026-07-06 00:12:46 +08:00 |
|
Sakurasan
|
f6a445fe0e
|
up
|
2026-07-06 00:08:05 +08:00 |
|
Sakurasan
|
3cfb1a820f
|
up
|
2026-07-06 00:04:10 +08:00 |
|
Sakurasan
|
5ebbb8c1ca
|
up
|
2026-07-06 00:01:19 +08:00 |
|
Sakurasan
|
8082b0900a
|
up
|
2026-07-05 23:48:21 +08:00 |
|
Sakurasan
|
60b9b545ae
|
fix bug
|
2026-07-05 23:45:36 +08:00 |
|
Sakurasan
|
013ebdaffe
|
up
|
2026-07-05 21:29:17 +08:00 |
|