Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/05-开发记录/2025-01-23_全文复筛前端逻辑调整.md
HaHafeng b64896a307 feat(deploy): Complete PostgreSQL migration and Docker image build
Summary:
- PostgreSQL database migration to RDS completed (90MB SQL, 11 schemas)
- Frontend Nginx Docker image built and pushed to ACR (v1.0, ~50MB)
- Python microservice Docker image built and pushed to ACR (v1.0, 1.12GB)
- Created 3 deployment documentation files

Docker Configuration Files:
- frontend-v2/Dockerfile: Multi-stage build with nginx:alpine
- frontend-v2/.dockerignore: Optimize build context
- frontend-v2/nginx.conf: SPA routing and API proxy
- frontend-v2/docker-entrypoint.sh: Dynamic env injection
- extraction_service/Dockerfile: Multi-stage build with Aliyun Debian mirror
- extraction_service/.dockerignore: Optimize build context
- extraction_service/requirements-prod.txt: Production dependencies (removed Nougat)

Deployment Documentation:
- docs/05-部署文档/00-部署进度总览.md: One-stop deployment status overview
- docs/05-部署文档/07-前端Nginx-SAE部署操作手册.md: Frontend deployment guide
- docs/05-部署文档/08-PostgreSQL数据库部署操作手册.md: Database deployment guide
- docs/00-系统总体设计/00-系统当前状态与开发指南.md: Updated with deployment status

Database Migration:
- RDS instance: pgm-2zex1m2y3r23hdn5 (2C4G, PostgreSQL 15.0)
- Database: ai_clinical_research
- Schemas: 11 business schemas migrated successfully
- Data: 3 users, 2 projects, 1204 literatures verified
- Backup: rds_init_20251224_154529.sql (90MB)

Docker Images:
- Frontend: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.0
- Python: crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.0

Key Achievements:
- Resolved Docker Hub network issues (using generic tags)
- Fixed 30 TypeScript compilation errors
- Removed Nougat OCR to reduce image size by 1.5GB
- Used Aliyun Debian mirror to resolve apt-get network issues
- Implemented multi-stage builds for optimization

Next Steps:
- Deploy Python microservice to SAE
- Build Node.js backend Docker image
- Deploy Node.js backend to SAE
- Deploy frontend Nginx to SAE
- End-to-end verification testing

Status: Docker images ready, SAE deployment pending
2025-12-24 18:21:55 +08:00

6.9 KiB
Raw Blame History

全文复筛前端逻辑调整 - Settings页面优化

日期: 2025-01-23
调整原因: 用户反馈逻辑错误,需要区分"文献列表导入"和"PDF上传"两个独立步骤
状态: 已完成


🔴 问题发现

原始错误设计:

步骤1: 导入待复筛文献
├── Tab1: 从标题摘要初筛导入
├── Tab2: 手动上传Excel ❌ 错误设计
│   └── 上传包含文献信息的Excel混淆了元信息和PDF
└── Tab3: 从知识库选择

错误点

  • Tab2暗示可以通过Excel导入PDF但Excel不可能包含PDF文件
  • 没有区分"文献元信息"和"PDF全文"两个概念
  • 流程不清晰,用户容易混淆

调整后的正确逻辑

三步流程:

步骤1: 获取待复筛的文献列表(只获取元信息)
├── Tab1: 从标题摘要初筛导入
│   └── 导入上一环节"已纳入"的文献元信息
└── Tab2: 手动上传Excel
    └── 上传包含文献元信息的ExcelTitle, Abstract, PMID等
    └── 不包含PDF文件

步骤2: 上传全文文献为每篇文献上传PDF
├── 显示文献列表表格
├── 每行显示PDF状态待上传/上传中/已就绪/失败)
└── 操作列提供两种方式:
    ├── (1) 手动上传PDFMVP当前方式
    └── (2) 从知识库选择(技术债务)

步骤3: 启动全文复筛
└── 要求至少1篇文献的PDF已就绪

📝 详细修改内容

1. 步骤1改名获取待复筛的文献列表

修改前

步骤1: 导入待复筛文献

修改后

步骤1: 获取待复筛的文献列表
说明首先导入文献的基本信息标题、摘要、作者等PDF全文将在下一步上传

改动理由

  • 明确说明这一步只获取"文献列表"(元信息)
  • 不包含PDF文件

2. Tab2改名手动上传Excel只含元信息

修改前

Tab2: 手动上传Excel
描述上传包含文献列表的Excel文件(❌ 没有说明不含PDF

修改后

Tab2: 手动上传Excel
说明上传包含文献元信息的Excel文件标题摘要PMID等不包含PDF文件PDF全文将在下一步上传

Excel模板字段说明
必填字段
   Title标题
   Abstract摘要

可选字段
   PMIDDOIAuthors作者)、Journal期刊)、Year年份

改动理由

  • 明确说明"不包含PDF文件"
  • 提供Excel模板字段说明
  • 添加"下载Excel模板"按钮

3. 删除Tab3从知识库选择

修改前

Tab3: 从知识库选择

修改后

删除Tab3知识库功能移到步骤2

改动理由

  • 知识库选择应该在"上传PDF"环节,而不是"获取文献列表"环节
  • 简化Tab数量2个Tab更清晰

4. 步骤2重命名上传全文文献

修改前

步骤2: 全文获取与管理

修改后

步骤2: 上传全文文献
说明为每篇文献上传对应的PDF全文。您可以手动上传本地PDF文件或从知识库选择已有PDF开发中

改动理由

  • "上传全文文献"比"全文获取与管理"更明确
  • 明确说明这一步的目的是"上传PDF"

5. 操作列增强:支持两种上传方式

修改前

操作列
- 未上传[上传PDF]按钮
- 已就绪显示"已就绪"

修改后

操作列
- 未上传/失败
  ├── [上传PDF]按钮手动上传本地PDF
  └── [知识库]按钮从知识库选择暂禁用

- 已就绪
  ├──  已完成
  └── [重新上传]按钮允许替换PDF

改动理由

  • 提供两种上传方式选项
  • 已就绪的文献也可以重新上传

6. 批量操作工具栏

新增

步骤2顶部工具栏
- 左侧已选择 X  | [批量删除]按钮
- 右侧[从知识库批量导入]按钮暂禁用

改动理由

  • 支持批量操作
  • 为未来的知识库批量导入预留入口

7. 提示信息优化

修改前

提示至少需要1篇文献的PDF已就绪才能启动复筛任务。

修改后

未上传任何PDF
  提示至少需要1篇文献的PDF已就绪才能启动复筛任务。请点击表格中的【上传PDF】按钮为文献上传全文。

部分PDF已就绪
  提示:已有 X 篇文献的PDF就绪还有 Y 篇待上传。您可以继续上传剩余PDF或直接启动复筛未上传PDF的文献将被跳过。

全部PDF已就绪
  提示:已有 X 篇文献的PDF就绪可以启动全文复筛任务

改动理由

  • 根据不同状态显示不同提示
  • 明确告知操作步骤

🎯 核心改进点

概念分离

文献元信息步骤1
  ↓
PDF全文文件步骤2
  ↓
启动筛选步骤3

流程清晰化

  1. 步骤1:获取文献列表(只要标题、摘要等元信息)
  2. 步骤2为每篇文献上传PDF一对一关联
  3. 步骤3启动全文复筛要求至少1篇PDF就绪

📊 修改统计

修改文件1个
- FulltextSettings.tsx (621行)

修改内容:
- 删除代码:~50行删除Tab3知识库选择
- 修改代码:~150行重写步骤说明、提示信息
- 新增代码:~30行批量操作工具栏、重新上传按钮

Linter错误0个

验收标准

UI展示

  • 步骤1有2个Tab从初筛导入 / 手动上传Excel
  • 步骤1的Excel上传明确说明"不包含PDF"
  • 步骤2标题为"上传全文文献"
  • 步骤2每行有"上传PDF"和"知识库"按钮
  • 步骤2的提示根据PDF状态动态变化

逻辑正确

  • Excel只导入文献元信息
  • PDF通过表格中的"上传PDF"按钮逐个上传
  • 知识库功能在步骤2不在步骤1
  • 允许部分文献没有PDF也可以启动任务

🚀 后续工作

优先级P1必须

  1. 前端逻辑调整(已完成)
  2. 实现Excel解析功能解析文献元信息
  3. 实现PDF上传API对接

优先级P2建议

  1. PDF批量上传拖拽多个PDF文件
  2. 从知识库选择PDF功能
  3. Excel模板下载功能

📝 备注

关键设计原则

  1. 概念分离:文献元信息 ≠ PDF文件
  2. 流程清晰:三步流程,逐步推进
  3. 灵活性允许部分文献无PDF也可启动

用户体验优化

  • 每一步都有清晰的说明
  • 不同状态有不同的提示
  • 支持重新上传PDF
  • 预留知识库入口

文档版本: v1.0
最后更新: 2025-01-23
相关文档: 2025-01-23_全文复筛前端开发完成.md