From 7379c98fac80331d34d6d47504c8fed7225fe546 Mon Sep 17 00:00:00 2001 From: zly <644706215@qq.com> Date: Tue, 13 Jan 2026 23:41:45 +0800 Subject: [PATCH] docs: update fix_plan.md with completed backend tasks --- @fix_plan.md | 67 ++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/@fix_plan.md b/@fix_plan.md index 1da7041..27952be 100644 --- a/@fix_plan.md +++ b/@fix_plan.md @@ -4,60 +4,60 @@ ### Frontend - 国际化与导航 -- [ ] **F1.1**: 安装并配置 vue-i18n -- [ ] **F1.2**: 创建 `locales/zh.json` 和 `locales/en.json` 翻译文件 -- [ ] **F1.3**: 在 App.vue 添加完整导航栏(首页 | 关于 | 提交任务 | 任务状态 | 工具说明) -- [ ] **F1.4**: 添加中英文切换按钮(全局,页面显眼处) -- [ ] **F1.5**: 将所有硬编码文本替换为 i18n 变量 +- [x] **F1.1**: 安装并配置 vue-i18n +- [x] **F1.2**: 创建 `locales/zh.json` 和 `locales/en.json` 翻译文件 +- [x] **F1.3**: 在 App.vue 添加完整导航栏(首页 | 关于 | 提交任务 | 任务状态 | 工具说明) +- [x] **F1.4**: 添加中英文切换按钮(全局,页面显眼处) +- [x] **F1.5**: 将所有硬编码文本替换为 i18n 变量 ### Frontend - 上传功能增强 -- [ ] **F2.1**: 支持 `.fna` / `.fa` 基因组文件 和 `.faa` / `.fasta` 蛋白序列文件 -- [ ] **F2.2**: 单文件上传限制(每次只能上传 1 个文件) -- [ ] **F2.3**: 基因组和蛋白序列互斥(不能同时上传) -- [ ] **F2.4**: 添加悬浮提示说明(文件类型要求、格式说明) -- [ ] **F2.5**: 表单验证 - 不符合条件时弹出错误提示 +- [x] **F2.1**: 支持 `.fna` / `.fa` 基因组文件 和 `.faa` / `.fasta` 蛋白序列文件 +- [x] **F2.2**: 单文件上传限制(每次只能上传 1 个文件) +- [x] **F2.3**: 基因组和蛋白序列互斥(不能同时上传) +- [x] **F2.4**: 添加悬浮提示说明(文件类型要求、格式说明) +- [x] **F2.5**: 表单验证 - 不符合条件时弹出错误提示 ### Frontend - 任务状态页面增强 -- [ ] **F3.1**: 区分运行中 (running) 和排队中 (pending/queued) 状态 -- [ ] **F3.2**: 排队状态显示当前排队序号(如 "排队中:第 3 位") -- [ ] **F3.3**: 运行状态显示进度条 -- [ ] **F3.4**: 更新 PIPELINE_STAGES 支持蛋白序列流程 +- [x] **F3.1**: 区分运行中 (running) 和排队中 (pending/queued) 状态 +- [x] **F3.2**: 排队状态显示当前排队序号(如 "排队中:第 3 位") +- [x] **F3.3**: 运行状态显示进度条 +- [x] **F3.4**: 更新 PIPELINE_STAGES 支持蛋白序列流程 ### Frontend - 关于页面 -- [ ] **F4.1**: 创建 AboutView.vue -- [ ] **F4.2**: 介绍 BtToxin Pipeline 功能 -- [ ] **F4.3**: 展示示例结果截图(预留位置) -- [ ] **F4.4**: 注意事项和限制说明 +- [x] **F4.1**: 创建 AboutView.vue +- [x] **F4.2**: 介绍 BtToxin Pipeline 功能 +- [x] **F4.3**: 展示示例结果截图(预留位置) +- [x] **F4.4**: 注意事项和限制说明 ### Frontend - 工具说明页面 -- [ ] **F5.1**: 创建 ToolInfoView.vue(重命名为"工具说明") -- [ ] **F5.2**: 介绍 BtToxin_Shoter 的评估原理(不说数学公式) -- [ ] **F5.3**: 说明识别流程和阈值设定依据 -- [ ] **F5.4**: 不提及 BtToxin_Digger +- [x] **F5.1**: 创建 ToolInfoView.vue(重命名为"工具说明") +- [x] **F5.2**: 介绍 BtToxin_Shoter 的评估原理(不说数学公式) +- [x] **F5.3**: 说明识别流程和阈值设定依据 +- [x] **F5.4**: 不提及 BtToxin_Digger ### Backend - FastAPI 重构 -- [ ] **B1.1**: 创建 FastAPI 后端 (`web/backend/main.py`) -- [ ] **B1.2**: 实现任务创建 API (`POST /api/tasks`) -- [ ] **B1.3**: 实现任务状态查询 API (`GET /api/tasks/{task_id}`) -- [ ] **B1.4**: 实现结果下载 API (`GET /api/tasks/{task_id}/download`) -- [ ] **B1.5**: 实现任务删除 API (`DELETE /api/tasks/{task_id}`) +- [x] **B1.1**: 创建 FastAPI 后端 (`web/backend/main.py`) +- [x] **B1.2**: 实现任务创建 API (`POST /api/v1/jobs/create`) +- [x] **B1.3**: 实现任务状态查询 API (`GET /api/v1/jobs/{job_id}`) +- [x] **B1.4**: 实现结果下载 API (`GET /api/v1/results/{job_id}/download`) +- [x] **B1.5**: 实现任务删除 API (`DELETE /api/v1/results/{job_id}`) ### Backend - 并发控制 -- [ ] **B2.1**: 实现 16 并发限制(使用 asyncio.Semaphore) -- [ ] **B2.2**: 实现任务排队机制 -- [ ] **B2.3**: API 返回排队位置或预计等待时间 -- [ ] **B2.4**: Redis 存储任务状态和队列信息 +- [x] **B2.1**: 实现 16 并发限制(使用 ConcurrencyManager + Redis) +- [x] **B2.2**: 实现任务排队机制(QUEUED 状态) +- [x] **B2.3**: API 返回排队位置或预计等待时间 +- [x] **B2.4**: Redis 存储任务状态和队列信息 ### Backend - 多格式支持 -- [ ] **B3.1**: 自动检测上传文件类型(.fna/.fa/.faa/.fasta) -- [ ] **B3.2**: 根据文件类型设置 sequence_type (nucl/prot) +- [x] **B3.1**: 自动检测上传文件类型(.fna/.fa/.faa/.fasta) +- [x] **B3.2**: 根据文件类型设置 sequence_type (nucl/prot) - [ ] **B3.3**: 修改 pipeline 脚本支持蛋白序列输入 ## 中优先级 (P1) - 增强功能 @@ -97,6 +97,7 @@ ## 已完成 - [x] 初始版本提交 - 简化架构 + 轮询改造 +- [x] **2025-01-13**: Backend API enhancements - tasks router, download/delete endpoints, concurrency control, queue management ## 参考文档