症状: 打开 localhost:3000 显示空白页面
原因:
- 缺少
QueryClientProvider包裹 React 应用 useQuery使用了已弃用的isLoading状态
修复:
frontend/src/index.js- 添加 QueryClientProviderfrontend/src/pages/HomePage.js- 改用isPending替代isLoading
症状: 输入 accession 后点击 "Get Summary",按钮无反应
原因:
useQuery的enabled参数返回类型不明确isLoading状态在 React Query v4 中行为不同
修复:
- 修改
enabled为明确的布尔值表达式 - 改用
isPending状态
症状: 输入 PRJNA938144 点击搜索,提示无效格式
原因: isValidAccession 函数没有包含 PRJNA 格式
修复:
frontend/src/utils/helpers.js- 添加 PRJNA*, PRJEB*, PRJDB* 格式支持
症状: PRJNA938144 搜索后没有显示任何内容
原因: DataSummary 组件只在有文件列表时显示
修复:
frontend/src/components/DataSummary.js- 添加无文件时的提示信息- 显示 study 类型的基本信息(title, description 等)
症状: 点击下载后任务出现但很快消失
原因:
- 后端简化版 API 缺少
/tasks/list端点 - 前端任务查找逻辑有问题
修复:
backend/app/api/routes/download_simple.py- 添加/list端点backend/app/api/routes/tasks_simple.py- 创建简化版 tasks 路由backend/app/main.py- 注册 tasks_simple 路由frontend/src/pages/HomePage.js- 改进任务查找逻辑
症状: 浏览器控制台显示 /api/v1/tasks/list 404 错误
原因: 后端没有数据库时使用简化版 API,但缺少 tasks 路由
修复: 创建 tasks_simple.py 并注册路由
frontend/src/index.js- 添加 QueryClientProviderfrontend/src/pages/HomePage.js- 修复 useQuery 状态和任务查找逻辑frontend/src/utils/helpers.js- 添加 PRJNA 等格式支持frontend/src/components/DataSummary.js- 处理无文件情况frontend/src/components/SearchBar.js- 移除调试日志frontend/package.json- 安装 react-app-rewiredfrontend/config-overrides.js- webpack 配置frontend/.env- 环境变量
backend/app/api/routes/download_simple.py- 添加 /list 端点backend/app/api/routes/tasks_simple.py- 新建简化版 tasks 路由backend/app/main.py- 注册 tasks_simple 路由
=== seq-fetch-web Bug Fix Verification ===
Test 1: Search PRJNA938144 (Study)
✅ Study summary displayed correctly
Test 2: Search ERR000001 (Run)
✅ Run summary displayed correctly
Test 3: Download and verify tasks
✅ Tasks page shows download tasks
✅ Tasks persist correctly
=== Summary ===
Total JavaScript errors: 0
✅ All tests passed!SRR*- SRA RunERR*- EBI RunDRR*- DDBJ Run
SAMN*- NCBI SampleERS*- EBI SampleDRS*- DDBJ SampleSRS*- SRA Sample
SRP*- SRA StudyERP*- EBI StudyDRP*- DDBJ StudyPRJNA*- NCBI BioProjectPRJEB*- EBI BioProjectPRJDB*- DDBJ BioProject
SRX*- SRA ExperimentERX*- EBI ExperimentDRX*- DDBJ Experiment
cd seq-fetch-web
./start-dev.sh- 打开 http://localhost:3000
- 输入 accession(如
ERR000001) - 点击 "Get Summary" 查看数据摘要
- 选择 FastQ 或 SRA 格式
- 点击 "Download" 开始下载
- 在 Tasks 页面查看进度
- Study 类型(如 PRJNA938144)没有直接的文件下载,需要查找关联的 runs
- 下载的文件 保存在
~/.seq-fetch-web/downloads/ - WebSocket 连接 用于实时更新进度,如果断开会自动轮询
- 数据库 当前使用内存存储,重启后任务记录会丢失
- 为 Study 类型添加关联 Runs 的查找和批量下载
- 添加历史记录持久化(需要数据库)
- 改进 WebSocket 重连机制
- 添加下载速度限制选项
- 支持断点续传