v1.2.0 独立详情页+赛季选择+季后赛对阵图:/team|player|game|news|person/<id> 详情页(交叉链接);弹窗加查看完整详情;排名页多赛季切换(2024-25/2025-26);季后赛bracket对阵图(playoffs.py);seed_seasons补充数据

This commit is contained in:
2026-08-17 13:31:26 +08:00
parent fcf5d3fee4
commit 4e360be8c7
10 changed files with 711 additions and 16 deletions
+12 -5
View File
@@ -16,6 +16,8 @@
- 📰 **参考资讯折叠块**:回答用到新闻/百科时,回答上方默认折叠展示资讯链接,点击直达详情
-**实体识别标记**:回答中的球队/球员/人物/比赛自动高亮(含简称:雷霆/湖人/库里/字母哥…),点击弹出详情;回答下方生成快速查看卡片
- 📝 **Markdown 回答**:大模型回答以 Markdown 渲染(标题/列表/表格/代码块/引用),本地 marked 库无外部依赖
- 🔗 **独立详情页**`/team/1` `/player/1` `/game/1` `/news/1` `/person/1`,弹窗与列表中均有「查看完整详情」链接跳转;详情页内含交叉链接(球队→球员/比赛,比赛→球员/球队)
- 🏆 **季后赛对阵图**:排名页展示完整 bracket(首轮/半决/分区决赛/总决赛),胜者高亮、点击看比赛,支持多赛季切换(2024-25 / 2025-26
## 🏗️ 系统架构
@@ -36,27 +38,29 @@
| 模块 | 技术 | 说明 |
|------|------|------|
| 对话大脑 | DeepSeek `deepseek-v4-flash`(函数调用) | 意图理解、工具选择、答案生成 |
| 结构化数据 | SQLite(本地) | 球队/球员/比赛/统计/排名/新闻/人物 |
| 结构化数据 | SQLite(本地) | 球队/球员/比赛/统计/排名/新闻/人物,多赛季(2024-25/2025-26 |
| 向量检索 | Chroma16010REST | 新闻/百科语义检索(cosine) |
| Embedding | bge-large-zh-v1.5160111024维) | 中文语义向量 |
| Rerank | bge-reranker-v2-m316011 | 检索精排(可选) |
| 前端 | 原生 HTML/JS(无构建) | 深色球赛风,对话 + 六大浏览页 |
| 前端 | 原生 HTML/JS(无构建) | 对话 + 六大浏览页 + 独立详情页 + 管理后台 + 对阵图 |
## 📁 目录结构
```
nba-fan-hub/
├── api.py # Flask 服务(REST API + 静态页 + 管理后台路由
├── api.py # Flask 服务(REST API + 静态页 + 详情页路由 + 管理后台)
├── chat.py # 对话管线(工具路由 + 兜底 + 覆盖补全)
├── tools.py # 8 个查询工具(SQL + 向量),含绰号别名/模糊匹配
├── llm.py # DeepSeek 调用(思考模式 reasoning_content 回传)
├── entity_linker.py # 实体识别程序(回答中球队/球员/人物/比赛标记 + 卡片)
├── playoffs.py # 季后赛对阵图生成器(多赛季 bracket)
├── admin.py # 管理后台 API(登录认证 + 通用 CRUD + 站点配置)
├── vector_store.py # Embedding + Chroma + Rerank(纯 REST,零额外依赖)
├── db.py # SQLite 连接与建表(含 site_config 配置表)
├── seed.py # 种子数据入口(幂等,可 --rebuild-vector
├── seed_seasons.py # 赛季补充数据(2024-25 排名/季后赛 + 2025-26 首轮补齐)
├── seed_*.py # 模拟数据(30队/154球员/54比赛/46新闻百科/38人物)
├── static/ # 前端页面index.html 前台 + admin.html 后台 + lib/marked.min.js
├── static/ # 前端(index.html 前台 / admin.html 后台 / detail.html 详情页 + lib/marked.min.js
├── data/ # nba_fan.db(自动生成)
└── start.sh # 启停脚本(start/stop/restart/status/seed
```
@@ -86,7 +90,10 @@ nba-fan-hub/
| `GET /api/teams[?q=]` `GET /api/teams/<id>` | 球队列表/详情(含阵容+近期比赛) |
| `GET /api/players[?q=]` `GET /api/players/<id>` | 球员列表/详情 |
| `GET /api/games[?q=&status=]` `GET /api/games/<id>` | 比赛列表/详情(含技术统计) |
| `GET /api/standings?conf=西部/东部` | 排名 |
| `GET /api/standings?conf=西部/东部&season=2025-26` | 排名(多赛季) |
| `GET /api/seasons` | 可用赛季列表 |
| `GET /api/playoffs?season=2025-26` | 季后赛对阵图(首轮/半决/分区决赛/总决赛) |
| `GET /team/<id>` `/player/<id>` `/game/<id>` `/news/<id>` `/person/<id>` | 独立详情页 |
| `GET /api/news[?q=&kind=]` `GET /api/news/<id>` | 新闻/百科 |
| `GET /api/persons[?q=&role=]` | 人物(coach/commentator/host/agent/gm/legend |
| `GET /api/health` | 健康检查 + 数据统计 |