netlify:ryan87
这是一个专为篮球比赛设计的实时数据采集与统计系统。它不仅支持基础的得分与篮板记录,还集成了外部数据源接入、自动化日志解析以及多格式数据导出功能,旨在为量化分析与赛事媒体提供精准、结构化的底层数据。
- 📊 实时打点采集: 支持罚球、两分、三分(命中/不中)、篮板、助攻、抢断、盖帽、失误、犯规等全维度数据记录。
- 🔌 自动化数据接入: 通过
MatchDataService自动从外部 API(支持 URL 或 MatchID)爬取并解析球队阵容与实时比分。 - 📜 智能化日志管理:
- 支持历史记录的撤销 (Undo) 与重做 (Redo)。
- 支持日志文本的批量导入与增量更新,具备自动识别节次与比分校准功能。
- 📂 多维度数据导出:
- Excel: 导出结构化的球员统计报表。
- JSON/ZIP: 导出完整的比赛打点原始序列,方便后续量化分析。
- Text Log: 导出可读性强的比赛文字直播流。
- ⏱️ 精准时间管理: 自动处理比赛暂停与继续,确保每一个动作的时间戳符合逻辑。
- ✨ 特色标记: 内置“五佳球”与“五大囧”标记,满足媒体剪辑需求。
- Frontend: React 19 + Vite + TypeScript
- Styling: Tailwind CSS (via inline/custom styles)
- Icons: Lucide React
- Data Handling: XLSX (Excel 处理), JSZip (打包)
- Backend Proxy: Netlify Functions (解决跨域 API 访问)
- 领域模型驱动: 核心逻辑基于
StatType与GameAction接口定义,确保了数据结构的高度一致性。 - 防御性编程: 在
MatchDataService中实现了健壮的 URL 解析逻辑,支持多种格式的输入。 - 解耦设计: UI 层与数据采集服务通过
MatchDataService完全解耦,便于后续扩展更多运动类型(如足球)。 - 持久化策略: 使用
localStorage实现页面刷新的无损恢复。
- Node.js (建议 v18+)
- npm 或 yarn
- 克隆仓库:
git clone https://github.com/zhenghongwei/data-points.git cd data-points - 安装依赖:
npm install
- 启动开发服务器:
npm run dev
项目已配置 Netlify 自动化部署流程。
npm run build生成的 dist 目录可直接部署至任何静态托管平台,Netlify 函数请参考 netlify.toml 配置。