feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1): - Database: Add user_modules table for fine-grained module permissions - Database: Add 4 user permissions (view/create/edit/delete) to role_permissions - Backend: UserService (780 lines) - CRUD with tenant isolation - Backend: UserController + UserRoutes (648 lines) - 13 API endpoints - Backend: Batch import users from Excel - Frontend: UserListPage (412 lines) - list/filter/search/pagination - Frontend: UserFormPage (341 lines) - create/edit with module config - Frontend: UserDetailPage (393 lines) - details/tenant/module management - Frontend: 3 modal components (592 lines) - import/assign/configure - API: GET/POST/PUT/DELETE /api/admin/users/* endpoints Architecture Upgrade - Module Permission System: - Backend: Add getUserModules() method in auth.service - Backend: Login API returns modules array in user object - Frontend: AuthContext adds hasModule() method - Frontend: Navigation filters modules based on user.modules - Frontend: RouteGuard checks requiredModule instead of requiredVersion - Frontend: Remove deprecated version-based permission system - UX: Only show accessible modules in navigation (clean UI) - UX: Smart redirect after login (avoid 403 for regular users) Fixes: - Fix UTF-8 encoding corruption in ~100 docs files - Fix pageSize type conversion in userService (String to Number) - Fix authUser undefined error in TopNavigation - Fix login redirect logic with role-based access check - Update Git commit guidelines v1.2 with UTF-8 safety rules Database Changes: - CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled) - ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code) - INSERT 4 permissions + role assignments - UPDATE PUBLIC tenant with 8 module subscriptions Technical: - Backend: 5 new files (~2400 lines) - Frontend: 10 new files (~2500 lines) - Docs: 1 development record + 2 status updates + 1 guideline update - Total: ~4900 lines of code Status: User management 100% complete, module permission system operational
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
# RVW蝔蹂辣摰⊥䰻璅∪<EFBFBD> - 敶枏<E695B6><E69E8F>嗆<EFBFBD><E59786><EFBFBD>撘<EFBFBD><E69298>烐<EFBFBD><E78390>?
|
||||
> **<2A><>﹝<EFBFBD><EFB99D>𧋦嚗?* v3.2
|
||||
> **<EFBFBD>𥕦遣<EFBFBD>交<EFBFBD>嚗?* 2026-01-07
|
||||
# RVW稿件审查模块 - 当前状态与开发指南
|
||||
|
||||
> **文档版本:** v3.2
|
||||
> **创建日期:** 2026-01-07
|
||||
> **最后更新:** 2026-01-10
|
||||
> **蝏湔擪<EFBFBD><EFBFBD><EFBFBD>** 撘<><E69298>穃𣪧<E7A983>?
|
||||
> **敶枏<EFBFBD><EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>** <EFBFBD>?**Phase 1-6 摰峕<EFBFBD>嚗玺chema<EFBFBD>𠉛氖摰峕<EFBFBD>嚗峕芋<EFBFBD>?5%<25>舐鍂**
|
||||
> **<EFBFBD><EFBFBD>﹝<EFBFBD>桃<EFBFBD>嚗?* 敹恍<E695B9>煺<EFBFBD>閫ΟVW璅∪<E79285><E288AA>嗆<EFBFBD><E59786><EFBFBD>銝箸鰵AI<41>拇<EFBFBD><E68B87>𣂷<EFBFBD>銝𠹺<E98A9D><F0A0B9BA>?
|
||||
> **维护者:** 开发团队
|
||||
> **当前状态:** ✅ **Phase 1-6 完成,Schema隔离完成,模块95%可用**
|
||||
> **文档目的:** 快速了解RVW模块状态,为新AI助手提供上下文
|
||||
|
||||
---
|
||||
|
||||
## 📊 模块概览
|
||||
@@ -15,171 +17,219 @@
|
||||
|------|------|
|
||||
| **模块名称** | RVW - 稿件审查系统 (Review) |
|
||||
| **模块定位** | 智能期刊审稿辅助系统(可独立销售) |
|
||||
| **<EFBFBD><EFBFBD><EFBFBD>隞瑕<EFBFBD>?* | 潃鐥<E6BD83>潃鐥<E6BD83>潃?<3F><><EFBFBD> |
|
||||
| **<EFBFBD>祉<EFBFBD><EFBFBD>?* | 潃鐥<E6BD83>潃鐥<E6BD83>潃?<3F><><EFBFBD>嚗<EFBFBD>鍂<EFBFBD>瑞黎摰<E9BB8E><E691B0>銝滚<E98A9D>嚗?|
|
||||
| **商业价值** | ⭐⭐⭐⭐⭐ 极高 |
|
||||
| **独立性** | ⭐⭐⭐⭐⭐ 极高(用户群完全不同) |
|
||||
| **目标用户** | 期刊初审编辑 |
|
||||
| **撘<EFBFBD><EFBFBD>𤑳𠶖<EFBFBD>?* | <20>?**<EFBFBD>詨<EFBFBD><EFBFBD>蠘<EFBFBD>100%摰峕<E691B0>嚗峕𣈲<E5B395><F0A388B2>ord撖澆枂嚗<E69E82>歇<EFBFBD><E6AD87><EFBFBD><EFBFBD>?frontend-v2** |
|
||||
| **开发状态** | ✅ **核心功能100%完成,支持Word导出,已集成到 frontend-v2** |
|
||||
|
||||
### 核心目标
|
||||
|
||||
> <EFBFBD>㯄<EFBFBD>牐<EFBFBD>銝?*"撘<>蝞勗朖<E58B97>?**<2A><>惣<EFBFBD>賢恣蝔踹極<E8B8B9>瑯<EFBFBD><E791AF><EFBFBD>颲睲<E9A2B2>隡删阮隞塚<E99A9E>蝟餌<E89D9F><E9A48C>芸𢆡餈鞱<E9A488><E99EB1>屸<EFBFBD>璉<EFBFBD><E79289>伐<EFBFBD>閫<EFBFBD><E996AB><EFBFBD>?<3F>寞<EFBFBD>摮佗<E691AE>嚗諹<E59A97><E8ABB9>箏虾靘𥕦<E99D98><F0A595A6><EFBFBD><EFBFBD>摰∠阮<E288A0>亙<EFBFBD><E4BA99>?>
|
||||
> **<2A>詨<EFBFBD><E8A9A8><EFBFBD><EFBFBD>**嚗帋<E59A97>隡惩<E99AA1><E683A9>箸𥁒<E7AEB8>?< 2<><32><EFBFBD>嚗𥡝<E59A97><F0A5A19D><EFBFBD><EFBFBD>折䔮憸䀹<E686B8><E480B9>箇<EFBFBD> > 80%
|
||||
> 打造一个**"开箱即用"**的智能审稿工具。编辑上传稿件,系统自动运行双重检查(规范性+方法学),输出可供参考的审稿报告。
|
||||
>
|
||||
> **核心指标**:上传到出报告 < 2分钟;规范性问题检出率 > 80%
|
||||
|
||||
### 功能规格
|
||||
|
||||
#### 核心AI能力(已完成 ✅)
|
||||
|
||||
1. **蝔輻漲閫<EFBFBD><EFBFBD><EFBFBD>扯<EFBFBD>隡?*嚗?1憿寞<E686BF><E5AF9E><EFBFBD><EFBFBD>
|
||||
- <EFBFBD><EFBFBD><EFBFBD>摮埈㺭<EFBFBD><EFBFBD><EFBFBD>閬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>柴<EFBFBD><EFBFBD>㦛<EFBFBD>䕸PI蝑? - <20>箔<EFBFBD><E7AE94>𠹺葉<F0A0B9BA>𤾸龫摮西<E691AE>憯唳<E686AF>敹𨰜<E695B9>讠阮蝥行<E89DA5><E8A18C>?
|
||||
2. **<EFBFBD>寞<EFBFBD>摮西<EFBFBD>隡?*嚗?<3F>典<EFBFBD>嚗?0銝芣<E98A9D><E88AA3>亦<EFBFBD>嚗? - 蝘𤑳<E89D98>霈曇恣霂<E681A3>摯嚗?銝芣<E98A9D><E88AA3>亦<EFBFBD>嚗? - 蝏蠘恣摮行䲮瘜閙<E7989C>餈啗<E9A488>隡堆<E99AA1>5銝芣<E98A9D><E88AA3>亦<EFBFBD>嚗? - 蝏蠘恣<E8A098><E681A3><EFBFBD>霂<EFBFBD>摯嚗?銝芣<E98A9D><E88AA3>亦<EFBFBD>嚗?
|
||||
1. **稿约规范性评估**(11项标准)
|
||||
- 文题字数、摘要结构、参考文献、图片DPI等
|
||||
- 基于《中华医学超声杂志》稿约标准
|
||||
|
||||
2. **方法学评估**(3部分,20个检查点)
|
||||
- 科研设计评估(9个检查点)
|
||||
- 统计学方法描述评估(5个检查点)
|
||||
- 统计分析评估(6个检查点)
|
||||
|
||||
3. **综合评分 + PICO提取**
|
||||
- 閫<EFBFBD><EFBFBD><EFBFBD>批<EFBFBD><EFBFBD>堆<EFBFBD>0-100嚗? - <20>寞<EFBFBD>摮衣𠶖<E8A1A3><F0A0B696><EFBFBD><EFBFBD>𣞁<EFBFBD>躰秤 <20>椬摮条<E691AE> <20>叚<EFBFBD>朞<EFBFBD>嚗? - PICO蝏𤘪<E89D8F><F0A498AA>𡝗<EFBFBD><F0A19D97>吔<EFBFBD>P/I/C/O嚗?
|
||||
- 规范性分数(0-100)
|
||||
- 方法学状态(🔴错误 🟡存疑 🟢通过)
|
||||
- PICO结构化提取(P/I/C/O)
|
||||
|
||||
#### 交互功能(✅ 已完成)
|
||||
|
||||
| <EFBFBD>蠘<EFBFBD> | <20>抒<EFBFBD><E68A92>?| <20>啁<EFBFBD><E59581>?| <20>嗆<EFBFBD>?|
|
||||
| 功能 | 旧版本 | 新版本 | 状态 |
|
||||
|------|--------|--------|------|
|
||||
| <EFBFBD>閙<EFBFBD>隞嗡<EFBFBD>隡?| <20>?| <20>?| <20>?撌脣<E6928C><E884A3>?|
|
||||
| <EFBFBD>寥<EFBFBD>銝𠹺<EFBFBD> | <20>?| <20>?| <20>?撌脣<E6928C><E884A3>?|
|
||||
| 摰∠阮撌乩<EFBFBD><EFBFBD>堆<EFBFBD>摰質”嚗?| <20>?| <20>?| <20>?撌脣<E6928C><E884A3>?|
|
||||
| <EFBFBD>箄<EFBFBD>雿㯄<EFBFBD>㗇𥋘 | <20>芸𢆡 | <20>冽<EFBFBD><E586BD>舫<EFBFBD>?| <20>?撌脣<E6928C><E884A3>?|
|
||||
| <EFBFBD>寥<EFBFBD><EFBFBD>滢<EFBFBD> | <20>?| <20>?| <20>?撌脣<E6928C><E884A3>?|
|
||||
| <EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?| <20>?| <20>?| <20>?撌脣<E6928C><E884A3>?|
|
||||
| <EFBFBD><EFBFBD>蟮敶埝﹝ | <20>?| <20>?| <20>賂<EFBFBD> <20>唳旿摨枏歇<E69E8F>舀<EFBFBD>嚗𪄇I<F0AA8487><49><EFBFBD> |
|
||||
| 蝟餌<EFBFBD>霈曄蔭 | <20>?| <20>?| <20>賂<EFBFBD> <20><><EFBFBD>撘<EFBFBD><E69298>?|
|
||||
| <EFBFBD>餃<EFBFBD>憿菟𢒰 | <20>?| <20>賂<EFBFBD> | <20>賂<EFBFBD> 憭滨鍂撟喳蝱<E596B3>餃<EFBFBD> |
|
||||
| PICO<EFBFBD>∠<EFBFBD> | <20>?| <20>?| <20>賂<EFBFBD> <20>唳旿摨枏歇<E69E8F>舀<EFBFBD>嚗𪄇I<F0AA8487><49><EFBFBD> |
|
||||
| 单文件上传 | ✅ | ✅ | ✅ 已完成 |
|
||||
| 批量上传 | ❌ | ✅ | ✅ 已完成 |
|
||||
| 审稿工作台(宽表) | ❌ | ✅ | ✅ 已完成 |
|
||||
| 智能体选择 | 自动 | 用户可选 | ✅ 已完成 |
|
||||
| 批量操作 | ❌ | ✅ | ✅ 已完成 |
|
||||
| 状态筛选 | ❌ | ✅ | ✅ 已完成 |
|
||||
| 历史归档 | ❌ | ✅ | ⏸️ 数据库已支持,UI暂缓 |
|
||||
| 系统设置 | ❌ | ✅ | ⏸️ 暂不开发 |
|
||||
| 登录页面 | ❌ | ⏸️ | ⏸️ 复用平台登录 |
|
||||
| PICO卡片 | ❌ | ✅ | ⏸️ 数据库已支持,UI暂缓 |
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD><EFBFBD>儭?<3F>嗆<EFBFBD><E59786>嗆<EFBFBD>?
|
||||
### <20>?撌脣<E6928C><E884A3>鞱<EFBFBD>蝘鳴<E89D98>Modules嚗?
|
||||
## 🏗️ 架构状态
|
||||
|
||||
### ✅ 已完成迁移(Modules)
|
||||
|
||||
```
|
||||
<EFBFBD>𡒊垢嚗<EFBFBD><EFBFBD> 撌脣<E6928C><E884A3>琜<EFBFBD>嚗?backend/src/modules/rvw/
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> routes/index.ts # v2 API頝舐眏嚗?api/v2/rvw嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> controllers/reviewController.ts # <20>批<EFBFBD><E689B9>剁<EFBFBD><E58981>急鸌<E680A5>𤩺<EFBFBD>雿栶<E99BBF><E6A0B6>惣<EFBFBD>賭<EFBFBD><E8B3AD>㗇𥋘嚗?<3F>鎿<EFBFBD><E98EBF><EFBFBD> services/
|
||||
<EFBFBD>? <20>鎿<EFBFBD><E98EBF><EFBFBD> reviewService.ts # <20>詨<EFBFBD><E8A9A8>滚𦛚嚗<F0A69B9A>遙<EFBFBD>∪<EFBFBD>撱箝<E692B1><E7AE9D><EFBFBD>銵䕘<E98AB5>
|
||||
<EFBFBD>? <20>鎿<EFBFBD><E98EBF><EFBFBD> editorialService.ts # 蝔輻漲閫<E6BCB2><E996AB><EFBFBD>扯<EFBFBD>隡?<3F>? <20>鎿<EFBFBD><E98EBF><EFBFBD> methodologyService.ts # <20>寞<EFBFBD>摮西<E691AE>隡?<3F>? <20>婙<EFBFBD><E5A999><EFBFBD> utils.ts # 撌亙<E6928C><E4BA99>賣㺭
|
||||
后端(✅ 已完成):
|
||||
backend/src/modules/rvw/
|
||||
├── routes/index.ts # v2 API路由(/api/v2/rvw)
|
||||
├── controllers/reviewController.ts # 控制器(含批量操作、智能体选择)
|
||||
├── services/
|
||||
│ ├── reviewService.ts # 核心服务(任务创建、执行)
|
||||
│ ├── editorialService.ts # 稿约规范性评估
|
||||
│ ├── methodologyService.ts # 方法学评估
|
||||
│ └── utils.ts # 工具函数
|
||||
├── workers/
|
||||
<EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD> reviewWorker.ts # pg-boss撘<EFBFBD>郊隞餃𦛚憭<EFBFBD><EFBFBD>
|
||||
│ └── reviewWorker.ts # pg-boss异步任务处理
|
||||
├── types/index.ts # TypeScript类型定义
|
||||
└── __tests__/ # API测试脚本
|
||||
|
||||
<EFBFBD>滨垢嚗<EFBFBD><EFBFBD> 撌脣<E6928C><E884A3>琜<EFBFBD>嚗?frontend-v2/src/modules/rvw/
|
||||
前端(✅ 已完成):
|
||||
frontend-v2/src/modules/rvw/
|
||||
├── index.tsx # 模块入口
|
||||
├── api/index.ts # API接口
|
||||
├── types/index.ts # 类型定义
|
||||
├── styles/index.css # 样式文件
|
||||
├── pages/
|
||||
<EFBFBD>? <20>婙<EFBFBD><E5A999><EFBFBD> Dashboard.tsx # 摰∠阮撌乩<EFBFBD><EFBFBD>堆<EFBFBD>隞餃𦛚<EFBFBD>𡑒”<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㚁<EFBFBD>
|
||||
│ └── Dashboard.tsx # 审稿工作台(任务列表、筛选)
|
||||
└── components/
|
||||
├── Header.tsx # 页头(上传按钮)
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> Sidebar.tsx # 靘扯器<EFBFBD>誩紡<EFBFBD>? <20>鎿<EFBFBD><E98EBF><EFBFBD> TaskTable.tsx # 隞餃𦛚<E9A483>𡑒”銵冽聢
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> TaskDetail.tsx # 隞餃𦛚霂行<E99C82>嚗<EFBFBD><E59A97>摨行辺+<2B>亙<EFBFBD>+Word撖澆枂嚗? <20>鎿<EFBFBD><E98EBF><EFBFBD> EditorialReport.tsx # 蝔輻漲閫<E6BCB2><E996AB><EFBFBD>扳𥁒<E689B3>? <20>鎿<EFBFBD><E98EBF><EFBFBD> MethodologyReport.tsx # <20>寞<EFBFBD>摮西<E691AE>隡唳𥁒<E594B3>? <20>鎿<EFBFBD><E98EBF><EFBFBD> AgentModal.tsx # <20>箄<EFBFBD>雿㯄<E99BBF>㗇𥋘撘寧<E69298>
|
||||
<EFBFBD>婙<EFBFBD><EFBFBD><EFBFBD> ScoreRing.tsx # 霂<EFBFBD><EFBFBD><EFBFBD>舐<EFBFBD>隞?
|
||||
├── Sidebar.tsx # 侧边栏导航
|
||||
├── TaskTable.tsx # 任务列表表格
|
||||
├── TaskDetail.tsx # 任务详情(进度条+报告+Word导出)
|
||||
├── EditorialReport.tsx # 稿约规范性报告
|
||||
├── MethodologyReport.tsx # 方法学评估报告
|
||||
├── AgentModal.tsx # 智能体选择弹窗
|
||||
└── ScoreRing.tsx # 评分环组件
|
||||
|
||||
旧版本(保留兼容):
|
||||
backend/src/legacy/
|
||||
├── routes/reviewRoutes.ts # v1 API路由(保留)
|
||||
├── controllers/reviewController.ts
|
||||
└── services/reviewService.ts
|
||||
|
||||
Prompt嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>矋<EFBFBD>嚗?backend/prompts/
|
||||
<EFBFBD>鎿<EFBFBD><EFBFBD><EFBFBD> review_editorial_system.txt # 蝔輻漲霂<E6BCB2>摯嚗?66銵䕘<E98AB5>
|
||||
Prompt(保持不变):
|
||||
backend/prompts/
|
||||
├── review_editorial_system.txt # 稿约评估(266行)
|
||||
└── review_methodology_system.txt # 方法学评估(257行)
|
||||
|
||||
<EFBFBD>唳旿摨橒<EFBFBD><EFBFBD>?撌脣<E6928C><E884A3>琜<EFBFBD>嚗?- ReviewTask銵典歇瘛餃<E7989B><E9A483>啣<EFBFBD>畾蛛<E795BE>selectedAgents, editorialScore, methodologyScore, methodologyStatus, picoExtract, isArchived, archivedAt
|
||||
- <EFBFBD>?Schema撌脰<E6928C>蝘餃<E89D98> rvw_schema嚗?026-01-10摰峕<E691B0>嚗?```
|
||||
数据库(✅ 已完成):
|
||||
- ReviewTask表已添加新字段:selectedAgents, editorialScore, methodologyScore, methodologyStatus, picoExtract, isArchived, archivedAt
|
||||
- ✅ Schema已迁移到 rvw_schema(2026-01-10完成)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD><EFBFBD> 撘<><E69298>𤏸<EFBFBD>摨?
|
||||
| Phase | 隞餃𦛚 | <20>嗆<EFBFBD>?| 摰峕<E691B0><E5B395>交<EFBFBD> |
|
||||
## 📋 开发进度
|
||||
|
||||
| Phase | 任务 | 状态 | 完成日期 |
|
||||
|-------|------|------|---------|
|
||||
| Phase 1 | <EFBFBD>𡒊垢璅∪<EFBFBD>餈<EFBFBD>宏銝擧<EFBFBD>撅?| <20>?撌脣<E6928C><E884A3>?| 2026-01-07 |
|
||||
| Phase 2 | <EFBFBD>唳旿摨枏<EFBFBD>畾菜<EFBFBD>撅?| <20>?撌脣<E6928C><E884A3>?| 2026-01-07 |
|
||||
| Phase 3 | <EFBFBD>滨垢<EFBFBD>齿<EFBFBD>嚗Êrontend-v2嚗?| <20>?撌脣<E6928C><E884A3>?| 2026-01-07 |
|
||||
| Phase 4 | <EFBFBD><EFBFBD><EFBFBD>瘚贝<EFBFBD>銝𦻓ug靽桀<EFBFBD> | <20>?撌脣<E6928C><E884A3>?| 2026-01-10 |
|
||||
| Phase 5 | <EFBFBD>亙<EFBFBD>撖澆枂嚗Áord嚗?| <20>?撌脣<E6928C><E884A3>?| 2026-01-10 |
|
||||
| Phase 6 | Schema<EFBFBD>𠉛氖餈<EFBFBD>宏 | <20>?撌脣<E6928C><E884A3>?| 2026-01-10 |
|
||||
| Phase 7 | 蝟餌<EFBFBD>霈曄蔭銝𤾸<EFBFBD>獢?| <20>賂<EFBFBD> <20><><EFBFBD> | - |
|
||||
| Phase 1 | 后端模块迁移与扩展 | ✅ 已完成 | 2026-01-07 |
|
||||
| Phase 2 | 数据库字段扩展 | ✅ 已完成 | 2026-01-07 |
|
||||
| Phase 3 | 前端重构(frontend-v2) | ✅ 已完成 | 2026-01-07 |
|
||||
| Phase 4 | 集成测试与Bug修复 | ✅ 已完成 | 2026-01-10 |
|
||||
| Phase 5 | 报告导出(Word) | ✅ 已完成 | 2026-01-10 |
|
||||
| Phase 6 | Schema隔离迁移 | ✅ 已完成 | 2026-01-10 |
|
||||
| Phase 7 | 系统设置与归档 | ⏸️ 暂缓 | - |
|
||||
| **总计** | - | **95%** | - |
|
||||
|
||||
### Phase 1-5 完成内容
|
||||
|
||||
**后端(Phase 1):**
|
||||
- <20>?<3F>𥕦遣 `backend/src/modules/rvw/` 璅∪<E79285>蝏𤘪<E89D8F>
|
||||
- <20>?餈<>宏撟嗡<E6929F><E597A1>?reviewService<EFBFBD><EFBFBD>ditorialService<EFBFBD><EFBFBD>ethodologyService
|
||||
- <20>?摰䂿緵<E482BF>箄<EFBFBD>雿㯄<E99BBF>㗇𥋘嚗ìelectedAgents嚗塄ditorial/methodology/both嚗?- <20>?摰䂿緵<E482BF>寥<EFBFBD>餈鞱<E9A488>API嚗Ê̄atchRunReviewTasks嚗?- <20>?<3F>踵揢 console.log 銝?logger <20>滚𦛚
|
||||
- <20>?瘜典<E7989C> v2 API頝舐眏嚗?api/v2/rvw嚗?- <20>?摰䂿緵 pg-boss 撘<>郊隞餃𦛚憭<F0A69B9A><E686AD>嚗ǐeviewWorker嚗?
|
||||
- ✅ 创建 `backend/src/modules/rvw/` 模块结构
|
||||
- ✅ 迁移并优化 reviewService、editorialService、methodologyService
|
||||
- ✅ 实现智能体选择(selectedAgents:editorial/methodology/both)
|
||||
- ✅ 实现批量运行API(batchRunReviewTasks)
|
||||
- ✅ 替换 console.log 为 logger 服务
|
||||
- ✅ 注册 v2 API路由(/api/v2/rvw)
|
||||
- ✅ 实现 pg-boss 异步任务处理(reviewWorker)
|
||||
|
||||
**数据库(Phase 2):**
|
||||
- <20>?瘛餃<E7989B> selectedAgents 摮埈挾嚗𠄎tring[]嚗?- <20>?瘛餃<E7989B> editorialScore 摮埈挾嚗㇅loat?嚗?- <20>?瘛餃<E7989B> methodologyScore 摮埈挾嚗㇅loat?嚗? 2026-01-10<31>啣<EFBFBD>
|
||||
- <20>?瘛餃<E7989B> methodologyStatus 摮埈挾嚗𠄎tring?嚗?- <20>?瘛餃<E7989B> picoExtract 摮埈挾嚗㇇son?嚗?- <20>?瘛餃<E7989B> isArchived<65><64>rchivedAt 摮埈挾嚗<E68CBE><E59A97>獢<EFBFBD>𣈲<EFBFBD><F0A388B2><EFBFBD>
|
||||
- <20>?雿輻鍂 prisma db push <20>峕郊<E5B395>唳㺭<E594B3>桀<EFBFBD>
|
||||
- ✅ 添加 selectedAgents 字段(String[])
|
||||
- ✅ 添加 editorialScore 字段(Float?)
|
||||
- ✅ 添加 methodologyScore 字段(Float?)- 2026-01-10新增
|
||||
- ✅ 添加 methodologyStatus 字段(String?)
|
||||
- ✅ 添加 picoExtract 字段(Json?)
|
||||
- ✅ 添加 isArchived、archivedAt 字段(归档支持)
|
||||
- ✅ 使用 prisma db push 同步到数据库
|
||||
|
||||
**前端(Phase 3):**
|
||||
- <20>?<3F>𥕦遣 `frontend-v2/src/modules/rvw/` 璅∪<E79285><E288AA>桀<EFBFBD>蝏𤘪<E89D8F>
|
||||
- <20>?摰䂿緵 Dashboard 憿菟𢒰嚗<EFBFBD>遙<EFBFBD>∪<EFBFBD>銵具<EFBFBD><EFBFBD><EFBFBD><EFBFBD>剹<EFBFBD><EFBFBD>鸌<EFBFBD>𤩺<EFBFBD>雿頣<EFBFBD>
|
||||
- <20>?摰䂿緵 TaskDetail 蝏<EFBFBD>辣嚗<EFBFBD>恣蝔輯<EFBFBD>摨行辺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嗥𠶖<EFBFBD><EFBFBD>蔭霂g<EFBFBD>
|
||||
- <20>?摰䂿緵 EditorialReport 蝏<EFBFBD>辣嚗<EFBFBD>阮蝥西<EFBFBD><EFBFBD><EFBFBD><EFBFBD>扯<EFBFBD>隡唳𥁒<EFBFBD>𠺪<EFBFBD>
|
||||
- <20>?摰䂿緵 MethodologyReport 蝏<EFBFBD>辣嚗<EFBFBD>䲮瘜訫郎霂<EFBFBD>摯<EFBFBD>亙<EFBFBD>嚗?- <20>?摰䂿緵 AgentModal 蝏<>辣嚗<E8BEA3>惣<EFBFBD>賭<EFBFBD><E8B3AD>㗇𥋘撘寧<E69298>嚗?- <20>?瘜典<E7989C><E585B8>?moduleRegistry.ts
|
||||
- ✅ 创建 `frontend-v2/src/modules/rvw/` 模块目录结构
|
||||
- ✅ 实现 Dashboard 页面(任务列表、筛选、批量操作)
|
||||
- ✅ 实现 TaskDetail 组件(审稿进度条、实时状态轮询)
|
||||
- ✅ 实现 EditorialReport 组件(稿约规范性评估报告)
|
||||
- ✅ 实现 MethodologyReport 组件(方法学评估报告)
|
||||
- ✅ 实现 AgentModal 组件(智能体选择弹窗)
|
||||
- ✅ 注册到 moduleRegistry.ts
|
||||
|
||||
**集成测试与Bug修复(Phase 4):**
|
||||
- <20>?靽桀<E99DBD><E6A180>寞<EFBFBD>摮血<E691AE><E8A180>唬<EFBFBD><E594AC>曄內<E69B84>桅<EFBFBD>嚗<EFBFBD><E59A97>銵券△<E588B8>曄內"warn"<22>䔶<EFBFBD><E494B6>臬<EFBFBD><E887AC>堆<EFBFBD>
|
||||
- <20>?靽桀<E99DBD><E6A180>芷<EFBFBD>㗇䲮瘜訫郎<E8A8AB>嗉祕<E59789><E7A595>△銝齿遬蝷箸𥁒<E7AEB8>𢠃䔮憸?- <20>?靽桀<E99DBD> activeTab 暺䁅恕<E48185>澆紡<E6BE86>渡<EFBFBD><E6B8A1>曄內<E69B84>桅<EFBFBD>
|
||||
- <20>?摰峕㟲瘚贝<E7989A><E8B49D>閙惣<E99699>賭<EFBFBD><E8B3AD><EFBFBD><EFBFBD><EFBFBD>箄<EFBFBD>雿枏恣蝔踵<E89D94>蝔?
|
||||
**<2A>亙<EFBFBD>撖澆枂嚗㇊hase 5嚗㚁<E59A97>**
|
||||
- <20>?摰㕑<E691B0> docx <20>?file-saver 摨?- <20>?摰䂿緵 Word <20><>﹝撖澆枂<E6BE86>蠘<EFBFBD>
|
||||
- <20>?<3F>舀<EFBFBD>蝏𤘪<E89D8F><F0A498AA>𡝗𥁒<F0A19D97>𠺪<EFBFBD><F0A0BAAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>抅<EFBFBD>砌縑<E7A08C>航”<E888AA>潦<EFBFBD><E6BDA6>阮蝥西<E89DA5><E8A5BF><EFBFBD><EFBFBD>扼<EFBFBD><E689BC>䲮瘜訫郎霂<E9838E>摯嚗?- <20>?<3F>桅<EFBFBD><E6A185><EFBFBD>遣霈桐蝙<E6A190>其<EFBFBD><E585B6>屸<EFBFBD><E5B1B8>脫<EFBFBD>霈?
|
||||
**Schema<6D>𠉛氖餈<E6B096>宏嚗㇊hase 6嚗㚁<E59A97>**
|
||||
- <20>?撠?review_tasks 銵其<E98AB5> public 餈<>宏<EFBFBD>?rvw_schema
|
||||
- <20>?<3F>湔鰵 Prisma schema 銝剔<E98A9D> @@schema <20><>誘
|
||||
- <20>?<3F>齿鰵<E9BDBF><E9B0B5><EFBFBD> Prisma Client
|
||||
- <20>?撉諹<E69289><E8ABB9><EFBFBD><EFBFBD>㗇䰻霂W<E99C82><EFBCB7>唾<EFBFBD>甇<EFBFBD>虜撌乩<E6928C>
|
||||
- ✅ 修复方法学分数不显示问题(列表页显示"warn"而不是分数)
|
||||
- ✅ 修复只选方法学时详情页不显示报告问题
|
||||
- ✅ 修复 activeTab 默认值导致的显示问题
|
||||
- ✅ 完整测试单智能体和双智能体审稿流程
|
||||
|
||||
霂衣<EFBFBD>隞餃𦛚皜<EFBFBD><EFBFBD>閫<EFBFBD><EFBFBD>[RVW璅∪<E79285>餈<EFBFBD>宏霈∪<E99C88>](./04-撘<><E69298>𤏸恣<F0A48FB8>?RVW璅∪<E79285>餈<EFBFBD>宏霈∪<E99C88>.md)
|
||||
**报告导出(Phase 5):**
|
||||
- ✅ 安装 docx 和 file-saver 库
|
||||
- ✅ 实现 Word 文档导出功能
|
||||
- ✅ 支持结构化报告(标题、基本信息表格、稿约规范性、方法学评估)
|
||||
- ✅ 问题和建议使用不同颜色标记
|
||||
|
||||
**Schema隔离迁移(Phase 6):**
|
||||
- ✅ 将 review_tasks 表从 public 迁移到 rvw_schema
|
||||
- ✅ 更新 Prisma schema 中的 @@schema 指令
|
||||
- ✅ 重新生成 Prisma Client
|
||||
- ✅ 验证所有查询和关联正常工作
|
||||
|
||||
详细任务清单见:[RVW模块迁移计划](./04-开发计划/RVW模块迁移计划.md)
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD>圲 <20><><EFBFBD>臭<EFBFBD>韏?
|
||||
### 憭滨鍂<E6BBA8><E98D82>像<EFBFBD>啗<EFBFBD><E59597>?
|
||||
| <20>賢<EFBFBD> | 雿滨蔭 | <20>券<EFBFBD>?|
|
||||
## 🔧 技术依赖
|
||||
|
||||
### 复用的平台能力
|
||||
|
||||
| 能力 | 位置 | 用途 |
|
||||
|------|------|------|
|
||||
| **LLM网关** | `@/common/llm/LLMFactory` | AI评估 |
|
||||
| **文档处理** | `ExtractionClient` | Word/PDF文本提取 |
|
||||
| **存储** | `@/common/storage` | 文件存储 |
|
||||
| **<EFBFBD>亙<EFBFBD>** | `@/common/logging` | 蝏𤘪<EFBFBD><EFBFBD>𡝗𠯫敹?|
|
||||
| **日志** | `@/common/logging` | 结构化日志 |
|
||||
| **任务队列** | `jobQueue` | 异步任务处理 |
|
||||
|
||||
### LLM模型
|
||||
|
||||
| 璅∪<EFBFBD> | <20>券<EFBFBD>?| 霂湔<E99C82> |
|
||||
| 模型 | 用途 | 说明 |
|
||||
|------|------|------|
|
||||
| DeepSeek-V3 | 默认 | 性价比高,推理能力强 |
|
||||
| DeepSeek-R1 | 憭<EFBFBD><EFBFBD>?| 瘛勗漲<E58B97>函<EFBFBD> |
|
||||
| Qwen3-72B | 憭<EFBFBD><EFBFBD>?| 銝剜<E98A9D><E5899C><EFBFBD>圾憟?|
|
||||
| DeepSeek-R1 | 备选 | 深度推理 |
|
||||
| Qwen3-72B | 备选 | 中文理解好 |
|
||||
|
||||
---
|
||||
|
||||
## 📚 相关文档
|
||||
|
||||
### <EFBFBD><EFBFBD>瘙<EFBFBD><EFBFBD>獢?
|
||||
- [<5B>箄<EFBFBD><E7AE84>笔<EFBFBD>摰∠阮蝟餌<E89D9F>MVP PRD](./01-<2D><>瘙<EFBFBD><E79899><EFBFBD>?<3F>箄<EFBFBD><E7AE84>笔<EFBFBD>摰∠阮蝟餌<E89D9F>%20MVP%20鈭批<E988AD><E689B9><EFBFBD>瘙<EFBFBD><E79899>獢?md)
|
||||
- [<5B>箄<EFBFBD>摰∠阮V7<56>笔<EFBFBD>](./01-<2D><>瘙<EFBFBD><E79899><EFBFBD>?<3F>箄<EFBFBD>摰∠阮V7.html) - <20>舐凒<E88890>交<EFBFBD>閫<EFBFBD>膥<EFBFBD>枏<EFBFBD>
|
||||
### 需求文档
|
||||
|
||||
### 撘<><E69298>烐<EFBFBD>獢?
|
||||
- [餈<>宏霈∪<E99C88>嚗ǒ2.0<EFBFBD>游<EFBFBD><EFBFBD><EFBFBD><EFBFBD>](./04-撘<><E69298>𤏸恣<F0A48FB8>?RVW璅∪<E79285>餈<EFBFBD>宏霈∪<E99C88>.md) 漎<><E6BC8E> **銝餉<E98A9D>撘<EFBFBD><E69298>烐<EFBFBD>獢?*
|
||||
- [智能期刊审稿系统MVP PRD](./01-需求分析/智能期刊审稿系统%20MVP%20产品需求文档.md)
|
||||
- [智能审稿V7原型](./01-需求分析/智能审稿V7.html) - 可直接浏览器打开
|
||||
|
||||
### <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>獢?
|
||||
- [<5B>唳<EFBFBD>蝟餌<E89D9F><E9A48C><EFBFBD><EFBFBD>舀𨰫摨閙𥁒<E99699>𠺖(../../00-憿寧𤌍璁<F0A48C8D>膩/<2F>唳<EFBFBD>蝟餌<E89D9F><E9A48C><EFBFBD><EFBFBD>舀𨰫摨閙𥁒<E99699>?md) - Line 578-748
|
||||
- [鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8><EFBFBD>(../../04-撘<><E69298>𤏸<EFBFBD><F0A48FB8>?08-鈭穃<E988AD><E7A983>笔<EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8>?md)
|
||||
### 开发文档
|
||||
|
||||
- [迁移计划(v2.0整合版)](./04-开发计划/RVW模块迁移计划.md) ⬅️ **主要开发文档**
|
||||
|
||||
### 参考文档
|
||||
|
||||
- [现有系统技术摸底报告](../../00-项目概述/现有系统技术摸底报告.md) - Line 578-748
|
||||
- [云原生开发规范](../../04-开发规范/08-云原生开发规范.md)
|
||||
- [系统架构分层设计](../../00-系统总体设计/01-系统架构分层设计.md)
|
||||
|
||||
### Prompt文件
|
||||
|
||||
- [蝔輻漲閫<E6BCB2><E996AB><EFBFBD>扯<EFBFBD>隡唳<E99AA1><E594B3><EFBFBD>(./蝔輻漲閫<E6BCB2><E996AB><EFBFBD>扯<EFBFBD>隡唳<E99AA1><E594B3>?txt)
|
||||
- [蝔蹂辣<E8B982>寞<EFBFBD>摮西<E691AE>隡唳<E99AA1><E594B3><EFBFBD>(./蝔蹂辣<E8B982>寞<EFBFBD>摮西<E691AE>隡唳<E99AA1><E594B3>?txt)
|
||||
- [稿约规范性评估标准](./稿约规范性评估标准.txt)
|
||||
- [稿件方法学评估标准](./稿件方法学评估标准.txt)
|
||||
|
||||
---
|
||||
|
||||
## <EFBFBD>㴓 敹恍<E695B9>笔<EFBFBD>憪?
|
||||
## 🎯 快速开始
|
||||
|
||||
### 访问审稿模块
|
||||
|
||||
1. **启动后端**
|
||||
@@ -188,7 +238,7 @@ Prompt(保持不变)
|
||||
npm run dev
|
||||
```
|
||||
|
||||
2. **<EFBFBD>臬𢆡<EFBFBD>滨垢嚗<EFBFBD>鰵<EFBFBD>?frontend-v2嚗?*
|
||||
2. **启动前端(新版 frontend-v2)**
|
||||
```bash
|
||||
cd frontend-v2
|
||||
npm run dev
|
||||
@@ -196,49 +246,54 @@ Prompt(保持不变)
|
||||
|
||||
3. **访问审稿页面**
|
||||
- 打开 `http://localhost:3000`
|
||||
- <EFBFBD>孵稬憿園<EFBFBD>撖潸⏛<EFBFBD>讐<EFBFBD> **"憸<>恣蝔?** <20><>倌
|
||||
- <EFBFBD>𣇉凒<EFBFBD>亥挪<EFBFBD>?`http://localhost:3000/rvw`
|
||||
- 点击顶部导航栏的 **"预审稿"** 标签
|
||||
- 或直接访问 `http://localhost:3000/rvw`
|
||||
|
||||
4. **测试流程**
|
||||
- 点击"上传稿件"按钮
|
||||
- <EFBFBD>㗇𥋘Word/PDF<EFBFBD><EFBFBD>﹝嚗<EFBFBD>楆5MB嚗? - <20>㗇𥋘<E39787>箄<EFBFBD>雿橒<E99BBF>蝔輻漲閫<E6BCB2><E996AB><EFBFBD>?<3F>寞<EFBFBD>摮?銝方<E98A9D><E696B9><EFBFBD><EFBFBD>㚁<EFBFBD>
|
||||
- 选择Word/PDF文档(≤5MB)
|
||||
- 选择智能体(稿约规范性/方法学/两者都选)
|
||||
- 点击"运行"按钮
|
||||
- 蝑匧<EFBFBD>AI霂<EFBFBD>摯摰峕<EFBFBD>嚗<EFBFBD>漲1-2<><32><EFBFBD>嚗? - <20>亦<EFBFBD>霂<EFBFBD>摯<EFBFBD>亙<EFBFBD>
|
||||
- 等待AI评估完成(约1-2分钟)
|
||||
- 查看评估报告
|
||||
|
||||
### API测试(新版 v2 API)
|
||||
|
||||
### API瘚贝<E7989A>嚗<EFBFBD>鰵<EFBFBD>?v2 API嚗?
|
||||
```http
|
||||
### 获取任务列表
|
||||
GET http://localhost:3001/api/v1/rvw/tasks
|
||||
GET http://localhost:3001/api/v2/rvw/tasks
|
||||
|
||||
### <EFBFBD>厩𠶖<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?GET http://localhost:3001/api/v1/rvw/tasks?status=pending
|
||||
### 按状态筛选
|
||||
GET http://localhost:3001/api/v2/rvw/tasks?status=pending
|
||||
|
||||
### 上传稿件
|
||||
POST http://localhost:3001/api/v1/rvw/tasks
|
||||
POST http://localhost:3001/api/v2/rvw/tasks
|
||||
Content-Type: multipart/form-data
|
||||
# file: 文件
|
||||
# selectedAgents: ["editorial", "methodology"]
|
||||
|
||||
### 运行单个任务
|
||||
POST http://localhost:3001/api/v1/rvw/tasks/{{taskId}}/run
|
||||
POST http://localhost:3001/api/v2/rvw/tasks/{{taskId}}/run
|
||||
Content-Type: application/json
|
||||
{"selectedAgents": ["editorial", "methodology"]}
|
||||
|
||||
### 批量运行任务
|
||||
POST http://localhost:3001/api/v1/rvw/tasks/batch-run
|
||||
POST http://localhost:3001/api/v2/rvw/tasks/batch-run
|
||||
Content-Type: application/json
|
||||
{"taskIds": ["id1", "id2"], "selectedAgents": ["editorial"]}
|
||||
|
||||
### 获取任务详情
|
||||
GET http://localhost:3001/api/v1/rvw/tasks/{{taskId}}
|
||||
GET http://localhost:3001/api/v2/rvw/tasks/{{taskId}}
|
||||
|
||||
### 获取报告
|
||||
GET http://localhost:3001/api/v1/rvw/tasks/{{taskId}}/report
|
||||
GET http://localhost:3001/api/v2/rvw/tasks/{{taskId}}/report
|
||||
```
|
||||
|
||||
### 旧版API(保持兼容)
|
||||
|
||||
```http
|
||||
### 銝𠹺<EFBFBD>蝔蹂辣嚗<EFBFBD>唂API嚗?POST http://localhost:3001/api/v1/review/upload
|
||||
### 上传稿件(旧API)
|
||||
POST http://localhost:3001/api/v1/review/upload
|
||||
Content-Type: multipart/form-data
|
||||
```
|
||||
|
||||
@@ -248,25 +303,28 @@ Content-Type: multipart/form-data
|
||||
|
||||
### 对新AI助手
|
||||
|
||||
1. <EFBFBD>?**<2A>詨<EFBFBD><E8A9A8>蠘<EFBFBD>撌脣<E6928C><E884A3>?*嚗𡁜<E59A97><F0A1819C>𡒊垢撌脰<E6928C>蝘餃<E89D98><E9A483>唳沲<E594B3><E6B2B2><EFBFBD><EFBFBD>舀迤撣訾蝙<E8A8BE>?2. <20>?**撌脤<E6928C><E884A4>𣂼<EFBFBD> frontend-v2**嚗𡁻<E59A97>朞<EFBFBD>憿園<E686BF>撖潸⏛<E6BDB8>?憸<>恣蝔?餈𥕦<E9A488>
|
||||
3. <EFBFBD>?**v2 API 撌脣停蝏?*嚗?api/v2/rvw/* 頝舐眏<E88890>舐鍂
|
||||
4. <EFBFBD>?**<2A>萄儐鈭穃<E988AD><E7A983>蠘<EFBFBD><E8A098>?*嚗帋蝙<E5B88B>?logger <20>滚𦛚<E6BB9A>蹂誨 console.log
|
||||
1. ✅ **核心功能已完成**:前后端已迁移到新架构,可正常使用
|
||||
2. ✅ **已集成到 frontend-v2**:通过顶部导航栏"预审稿"进入
|
||||
3. ✅ **v2 API 已就绪**:/api/v2/rvw/* 路由可用
|
||||
4. ✅ **遵循云原生规范**:使用 logger 服务替代 console.log
|
||||
5. ⚠️ **保留旧API**:v1路由保持兼容,支持旧前端
|
||||
|
||||
### 撌脣<EFBFBD><EFBFBD>鞉㺿<EFBFBD>?
|
||||
| <20>桅<EFBFBD> | <20>寥<EFBFBD>惩<EFBFBD> | <20>寥<EFBFBD>惩<EFBFBD> | <20>嗆<EFBFBD>?|
|
||||
|------|--------|--------|------|
|
||||
| <20>亙<EFBFBD> | console.log | logger<65>滚𦛚 | <20>?撌脣<E6928C><E884A3>?|
|
||||
| <20>冽<EFBFBD>霈方<E99C88> | Mock<63>冽<EFBFBD>ID | getUserId(request) | <20>?撌脣<E6928C><E884A3>?|
|
||||
| <20>箄<EFBFBD>雿㯄<E99BBF>㗇𥋘 | <20>芸𢆡 | <20>冽<EFBFBD><E586BD>舫<EFBFBD>?| <20>?撌脣<E6928C><E884A3>?|
|
||||
| <20>寥<EFBFBD><E5AFA5>滢<EFBFBD> | <20>?| batchRunReviewTasks | <20>?撌脣<E6928C><E884A3>?|
|
||||
### 已完成改造
|
||||
|
||||
### 敺<><E695BA>蝏剜㺿<E5899C>?
|
||||
| <20>桅<EFBFBD> | 敶枏<E695B6> | <20>格<EFBFBD> | 隡睃<E99AA1>蝥?|
|
||||
| 问题 | 改造前 | 改造后 | 状态 |
|
||||
|------|--------|--------|------|
|
||||
| 日志 | console.log | logger服务 | ✅ 已完成 |
|
||||
| 用户认证 | Mock用户ID | getUserId(request) | ✅ 已完成 |
|
||||
| 智能体选择 | 自动 | 用户可选 | ✅ 已完成 |
|
||||
| 批量操作 | 无 | batchRunReviewTasks | ✅ 已完成 |
|
||||
|
||||
### 待后续改造
|
||||
|
||||
| 问题 | 当前 | 目标 | 优先级 |
|
||||
|------|------|------|--------|
|
||||
| Schema雿滨蔭 | <EFBFBD>?rvw_schema | - | <EFBFBD>?撌脣<E6928C><E884A3>?|
|
||||
| 隞餃𦛚憭<EFBFBD><EFBFBD> | <EFBFBD>?pg-boss | - | <EFBFBD>?撌脣<E6928C><E884A3>?|
|
||||
| <EFBFBD>亙<EFBFBD>撖澆枂 | <EFBFBD>?Word (.docx) | PDF隡睃<EFBFBD> | P3 |
|
||||
| Schema位置 | ✅ rvw_schema | - | ✅ 已完成 |
|
||||
| 任务处理 | ✅ pg-boss | - | ✅ 已完成 |
|
||||
| 报告导出 | ✅ Word (.docx) | PDF优化 | P3 |
|
||||
|
||||
---
|
||||
|
||||
@@ -274,31 +332,46 @@ Content-Type: multipart/form-data
|
||||
|
||||
根据MVP PRD,验收标准如下:
|
||||
|
||||
1. **瘚<EFBFBD><EFBFBD><EFBFBD>?*嚗𡁶鍂<F0A181B6>瑁<EFBFBD><E79181>𣂼<EFBFBD>銝𠹺<E98A9D>5銝枉DF嚗<46>㗲<EFBFBD>匧<EFBFBD>璅∪<E79285>餈鞱<E9A488>嚗𣬚<E59A97>敺?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嗆<EFBFBD><E59786><EFBFBD><EFBFBD>典<EFBFBD>銝?撌脣<E6928C><E884A3>?
|
||||
1. **流程通**:用户能成功上传5个PDF,勾选双模型运行,等待3分钟内,状态全部变为"已完成"
|
||||
|
||||
2. **<EFBFBD>亙<EFBFBD><EFBFBD>?*嚗? - 銝𠹺<E98A9D>銝<EFBFBD>蝭<EFBFBD><E89DAD><EFBFBD>誩<EFBFBD><E8AAA9>?<3F>䁅<EFBFBD>蝏栞捏"<22><>阮隞塚<E99A9E>閫<EFBFBD><E996AB><EFBFBD>扳惣<E689B3>賭<EFBFBD>敹<EFBFBD>◆<EFBFBD>仿<EFBFBD>
|
||||
- 銝𠹺<EFBFBD>銝<EFBFBD>蝭<EFBFBD><EFBFBD><EFBFBD>𤩺毽瘛?t璉<74>撉?<3F>?<3F>⊥䲮璉<E4B2AE>撉?<3F><>阮隞塚<E99A9E><E5A19A>寞<EFBFBD>摮行惣<E8A18C>賭<EFBFBD>敹<EFBFBD>◆<EFBFBD>?摮条<E691AE>"<22>?<3F>躰秤"
|
||||
2. **报告准**:
|
||||
- 上传一篇故意删掉"摘要结论"的稿件,规范性智能体必须报错
|
||||
- 上传一篇故意混淆"t检验"和"卡方检验"的稿件,方法学智能体必须报"存疑"或"错误"
|
||||
|
||||
3. **无崩溃**:连续上传20个文件,系统不卡死,不白屏
|
||||
|
||||
3. **<EFBFBD>惩援皞?*嚗朞<E59A97>蝏凋<E89D8F>隡?0銝芣<E98A9D>隞塚<E99A9E>蝟餌<E89D9F>銝滚㨃甇鳴<E79487>銝滨蒾撅?
|
||||
---
|
||||
|
||||
## 🚀 未来规划
|
||||
|
||||
### <EFBFBD>?撌脣<E6928C><E884A3>琜<EFBFBD>2026-01-07 ~ 2026-01-10嚗?
|
||||
- [x] <20>嗆<EFBFBD>餈<EFBFBD>宏<EFBFBD>?modules/rvw嚗<77><E59A97>蝡荔<E89DA1>
|
||||
- [x] <EFBFBD>嗆<EFBFBD>餈<EFBFBD>宏<EFBFBD>?modules/rvw嚗<EFBFBD><EFBFBD>蝡?frontend-v2嚗?- [x] <20>游<EFBFBD>MVP<56>啣<EFBFBD><E595A3>踝<EFBFBD><E8B89D>寥<EFBFBD>銝𠹺<E98A9D><F0A0B9BA><EFBFBD>極雿𨅯蝱<F0A885AF><E89DB1>惣<EFBFBD>賭<EFBFBD><E8B3AD>㗇𥋘嚗?- [x] 鈭穃<E988AD><E7A983><EFBFBD>㺿<EFBFBD>𩤃<EFBFBD>logger<65>滚𦛚嚗?- [x] v2 API 頝舐眏瘜典<E7989C>
|
||||
- [x] <EFBFBD>唳旿摨枏<EFBFBD>畾菜<EFBFBD>撅?- [x] pg-boss撘<73>郊隞餃𦛚憭<F0A69B9A><E686AD>嚗?026-01-10嚗?- [x] Word<72>亙<EFBFBD>撖澆枂嚗?026-01-10嚗?- [x] <20>寞<EFBFBD>摮血<E691AE><E8A180>唳遬蝷箔耨憭㵪<E686AD>2026-01-10嚗?- [x] <20>閙惣<E99699>賭<EFBFBD>摰∠阮<E288A0>曄內靽桀<E99DBD>嚗?026-01-10嚗?- [x] Schema餈<61>宏<EFBFBD>?rvw_schema嚗?026-01-10嚗?
|
||||
### ✅ 已完成(2026-01-07 ~ 2026-01-10)
|
||||
|
||||
- [x] 架构迁移到 modules/rvw(后端)
|
||||
- [x] 架构迁移到 modules/rvw(前端 frontend-v2)
|
||||
- [x] 整合MVP新功能(批量上传、工作台、智能体选择)
|
||||
- [x] 云原生改造(logger服务)
|
||||
- [x] v2 API 路由注册
|
||||
- [x] 数据库字段扩展
|
||||
- [x] pg-boss异步任务处理(2026-01-10)
|
||||
- [x] Word报告导出(2026-01-10)
|
||||
- [x] 方法学分数显示修复(2026-01-10)
|
||||
- [x] 单智能体审稿显示修复(2026-01-10)
|
||||
- [x] Schema迁移到 rvw_schema(2026-01-10)
|
||||
|
||||
### 后续版本
|
||||
|
||||
- [ ] PDF报告导出优化
|
||||
- [ ] PICO卡片UI实现
|
||||
- [ ] 历史归档UI实现
|
||||
- [ ] <EFBFBD>餃<EFBFBD>憿菟𢒰嚗<EFBFBD>𡠺蝡衤漣<EFBFBD><EFBFBD>𧒄嚗?- [ ] 摰∠阮鈭箇恣<E7AE87><E681A3>頂蝏?- [ ] 憭朞蔭摰∠阮瘚<E998AE><E7989A>
|
||||
- [ ] <EFBFBD>笔<EFBFBD>摨梶恣<EFBFBD>?- [ ] <20>祉<EFBFBD>鈭批<E988AD><E689B9>枏<EFBFBD>
|
||||
- [ ] 登录页面(独立产品时)
|
||||
- [ ] 审稿人管理系统
|
||||
- [ ] 多轮审稿流程
|
||||
- [ ] 期刊库管理
|
||||
- [ ] 独立产品打包
|
||||
|
||||
---
|
||||
|
||||
**<EFBFBD><EFBFBD>﹝<EFBFBD><EFBFBD>𧋦嚗?* v3.2
|
||||
**文档版本:** v3.2
|
||||
**最后更新:** 2026-01-10
|
||||
**敶枏<EFBFBD><EFBFBD>嗆<EFBFBD><EFBFBD><EFBFBD>** <EFBFBD>?Phase 1-6 摰峕<EFBFBD>嚗峕芋<EFBFBD>?5%<25>舐鍂嚗玺chema撌脤<E6928C>蝳?
|
||||
**当前状态:** ✅ Phase 1-6 完成,模块95%可用,Schema已隔离
|
||||
**下一步:** 生产环境部署测试
|
||||
|
||||
Reference in New Issue
Block a user