feat: improve stock detail view and update docs
This commit is contained in:
153
README.md
153
README.md
@ -1,51 +1,33 @@
|
||||
# lhbfx
|
||||
|
||||
`lhbfx` 是一个围绕 A 股龙虎榜数据构建的“顶级游资监控系统”,当前聚焦盘后分析、游资席位跟踪、关注池管理、预警提示与个股复盘。
|
||||
`lhbfx` 是一个围绕 A 股龙虎榜数据构建的盘后游资监控系统。当前工程聚焦龙虎榜导入、游资席位匹配、关注池管理、个股复盘、风险预警、盘后自动更新以及 PDF/邮件日报。
|
||||
|
||||
## 项目结构
|
||||
|
||||
- `backend/`
|
||||
- FastAPI 服务
|
||||
- 龙虎榜导入、席位映射、预警生成脚本
|
||||
- MySQL schema 与查询逻辑
|
||||
- `frontend/`
|
||||
- Vue 3 + TypeScript + Vite 单页应用
|
||||
- 首页总控台、游资详情、个股详情、预警中心
|
||||
- `docs/`
|
||||
- 需求文档
|
||||
- 技术文档
|
||||
- 历史说明与 UI 草稿
|
||||
```text
|
||||
lhbfx/
|
||||
├─ backend/ # FastAPI 后端、数据导入脚本、MySQL schema
|
||||
│ ├─ config.example.yaml # 配置模板
|
||||
│ ├─ config.yaml # 本地运行配置
|
||||
│ ├─ scripts/ # 命令行脚本入口
|
||||
│ └─ src/lhbfx/ # 后端应用源码
|
||||
├─ frontend/ # Vue 3 + TypeScript + Vite 前端
|
||||
│ ├─ public/
|
||||
│ └─ src/
|
||||
├─ docs/ # 需求、技术与 UI 文档
|
||||
├─ logs/ # 本地运行日志,已忽略
|
||||
└─ start-dev.ps1 # 一键启动前后端
|
||||
```
|
||||
|
||||
## 当前核心能力
|
||||
## 当前能力
|
||||
|
||||
- 首页支持“关注池与操作流水”联动展示。
|
||||
- 待加入关注列表支持按买卖结构着色、净额重点突出、快速加入关注。
|
||||
- 关注池写入数据库,支持新增和删除。
|
||||
- 个股详情支持 K 线、MA5、买卖点与预警信息展示。
|
||||
- 预警中心支持卖出预警、慢流出观察等风险信息查看。
|
||||
- 已明确新增“每日 17:00 自动更新 + 邮件日报 + PDF 附件”需求,待后续实现。
|
||||
|
||||
## 最近界面与数据调整
|
||||
|
||||
- 个股详情页的“买卖明细”已改为“买卖力度趋势”图:
|
||||
- 柱形图按日期展示买入和卖出,买入为正、卖出为负。
|
||||
- 折线展示“当日净额”和“累计净额”。
|
||||
- 明细仅在鼠标悬浮图表时显示。
|
||||
- 个股详情页顶部新增“预警列表”按钮:
|
||||
- 有预警时红色高亮提示。
|
||||
- 点击后以弹层方式展示当前个股预警,不再挤占右侧图表区域。
|
||||
- 个股详情、首页候选股、游资详情页的数据补全逻辑已增强:
|
||||
- 优先读取数据库中的股票元数据。
|
||||
- 外部快照失败时增加备用行情源兜底。
|
||||
- 收盘后更新流程会同步补全行业、市值、流通市值等字段。
|
||||
- 后端 API 启动时会自动检查最近龙虎榜数据:
|
||||
- 如果数据库最新交易日已经是当天,则跳过。
|
||||
- 如果发现最近工作日数据缺失,会尝试自动补齐并重新生成预警。
|
||||
- 检查失败不会阻塞 API 启动,避免服务不可用。
|
||||
- 后端服务内置收盘后调度:
|
||||
- 工作日 17:00 之后会自动尝试执行收盘后更新。
|
||||
- 如果 17:00 时数据源尚未准备好,会按固定间隔重试,直到当天数据补齐。
|
||||
- 本地和服务器使用同一套调度逻辑,不再依赖本机 Codex 自动任务。
|
||||
- 首页总控台:按日期、游资、买卖方向筛选,联动关注池与候选关注股票。
|
||||
- 关注池:支持新增、取消关注,并按股票、日期、游资、席位合并展示流水。
|
||||
- 个股详情:展示日 K、MA5、买卖点、游资参与概览、买卖力度趋势与预警弹层。
|
||||
- 游资详情:展示游资档案、席位、历史参与股票与净额变化。
|
||||
- 预警中心:展示卖出预警、慢流出观察等风险信号。
|
||||
- 盘后流程:支持导入指定交易日数据、重匹配游资、生成预警、生成 PDF 日报并可发送邮件。
|
||||
- 后端调度:API 启动后会按工作日 17:00 之后的窗口尝试补齐当日数据。
|
||||
|
||||
## 环境要求
|
||||
|
||||
@ -55,37 +37,27 @@
|
||||
|
||||
## 后端启动
|
||||
|
||||
1. 复制配置文件:
|
||||
- 将 `backend/config.example.yaml` 复制为 `backend/config.yaml`
|
||||
- 按实际数据库连接信息修改
|
||||
- 当前仓库已允许提交 `backend/config.yaml`,服务器部署默认读取该文件
|
||||
1. 准备配置:
|
||||
|
||||
```powershell
|
||||
Copy-Item backend\config.example.yaml backend\config.yaml
|
||||
```
|
||||
|
||||
按实际 MySQL、邮件等信息修改 `backend/config.yaml`。
|
||||
|
||||
2. 初始化数据库:
|
||||
|
||||
```powershell
|
||||
python backend/scripts/init_db.py
|
||||
python backend\scripts\init_db.py
|
||||
```
|
||||
|
||||
3. 启动 API:
|
||||
|
||||
```powershell
|
||||
python backend/scripts/run_api.py
|
||||
python backend\scripts\run_api.py
|
||||
```
|
||||
|
||||
4. 收盘后更新并发送邮件:
|
||||
|
||||
```powershell
|
||||
python backend/scripts/after_market_update.py --trade-date 2026-04-17 --send-email
|
||||
```
|
||||
|
||||
默认约定:
|
||||
|
||||
- 按 `Asia/Shanghai` 取当天日期
|
||||
- 预期定时为 A 股交易日 `17:00`
|
||||
- 只有当日成功拉到新的龙虎榜数据,才会继续生成预警、PDF 并发邮件;否则自动跳过
|
||||
|
||||
默认地址:
|
||||
|
||||
- `http://127.0.0.1:8000`
|
||||
默认地址:`http://127.0.0.1:8000`。
|
||||
|
||||
## 前端启动
|
||||
|
||||
@ -95,49 +67,78 @@ npm install
|
||||
npm run dev -- --host 127.0.0.1 --port 5173
|
||||
```
|
||||
|
||||
默认地址:
|
||||
|
||||
- `http://127.0.0.1:5173`
|
||||
默认地址:`http://127.0.0.1:5173`,开发服务器会把 `/api` 代理到后端。
|
||||
|
||||
## 一键开发启动
|
||||
|
||||
根目录提供了 `start-dev.ps1`:
|
||||
在项目根目录运行:
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File .\start-dev.ps1
|
||||
```
|
||||
|
||||
脚本会同时拉起:
|
||||
脚本会同时启动:
|
||||
|
||||
- 后端:`127.0.0.1:8000`
|
||||
- 前端:`127.0.0.1:5173`
|
||||
- 后端:`http://127.0.0.1:8000`
|
||||
- 前端:`http://127.0.0.1:5173`
|
||||
- 日志:`logs/`
|
||||
|
||||
日志输出目录:
|
||||
## 常用脚本
|
||||
|
||||
- `logs/`
|
||||
```powershell
|
||||
# 导入同花顺指定日期龙虎榜数据
|
||||
python backend\scripts\import_ths_daily.py --trade-date 2026-04-17
|
||||
|
||||
## 常用后端接口
|
||||
# 重跑游资席位匹配
|
||||
python backend\scripts\rematch_traders.py
|
||||
|
||||
# 重新生成预警
|
||||
python backend\scripts\generate_warnings.py
|
||||
|
||||
# 盘后更新,可选邮件发送
|
||||
python backend\scripts\after_market_update.py --trade-date 2026-04-17 --send-email
|
||||
|
||||
# 生成日报,可选发送
|
||||
python backend\scripts\daily_report.py --trade-date 2026-04-17 --send
|
||||
```
|
||||
|
||||
## 常用 API
|
||||
|
||||
- `GET /api/summary`
|
||||
- `GET /api/pipeline/status`
|
||||
- `GET /api/traders`
|
||||
- `GET /api/traders/{trader_id}`
|
||||
- `GET /api/stocks/search`
|
||||
- `GET /api/stocks/{stock_code}`
|
||||
- `GET /api/actions`
|
||||
- `GET /api/watchlist`
|
||||
- `POST /api/watchlist`
|
||||
- `DELETE /api/watchlist/{stock_code}`
|
||||
- `GET /api/warnings`
|
||||
- `POST /api/pipeline/rematch-traders`
|
||||
- `POST /api/pipeline/generate-warnings`
|
||||
- `POST /api/pipeline/refresh-trade-date`
|
||||
|
||||
## 构建与检查
|
||||
|
||||
```powershell
|
||||
# 前端类型检查与生产构建
|
||||
cd frontend
|
||||
npm run build
|
||||
|
||||
# 后端语法检查
|
||||
cd ..
|
||||
python -m compileall backend\src backend\scripts
|
||||
```
|
||||
|
||||
## 文档索引
|
||||
|
||||
- 需求文档:`docs/需求文档.md`
|
||||
- 技术文档:`docs/技术文档.md`
|
||||
- UI 设计说明:`docs/UI设计说明.md`
|
||||
- 历史需求梳理:`docs/需求梳理-今日游资操作优先.md`
|
||||
- 历史 UI 说明:`docs/UI设计说明.md`
|
||||
- 完整早期需求:`docs/顶级游资监控系统需求文档.md`
|
||||
|
||||
## 仓库说明
|
||||
|
||||
- 仓库已补充 `.gitignore` 与 `.gitattributes`
|
||||
- 本地敏感配置 `backend/config.yaml` 已忽略,不会推送
|
||||
- 提交前建议使用 `backend/config.example.yaml` 作为共享配置模板
|
||||
生成物和本地运行产物不进入版本库,包括 `logs/`、`frontend/dist/`、`frontend/node_modules/`、`__pycache__/`、`*.egg-info/`。提交前建议运行前端构建和后端编译检查。
|
||||
|
||||
Reference in New Issue
Block a user