feat(rvw): Complete RVW module development Phase 1-3

Summary:
- Migrate backend to modules/rvw with v2 API routes (/api/v2/rvw)
- Add new database fields: selectedAgents, editorialScore, methodologyStatus, picoExtract, isArchived
- Create frontend module in frontend-v2/src/modules/rvw
- Implement Dashboard with task list, filtering, batch operations
- Implement ReportDetail with dual tabs (editorial/methodology)
- Implement AgentModal for intelligent agent selection
- Register RVW module in moduleRegistry.ts
- Add navigation entry in TopNavigation
- Update documentation for RVW module status (v3.0)
- Update system status document (v2.9)

Features:
- User can select agents: editorial, methodology, or both
- Support batch task execution
- Task status filtering
- Replace console.log with logger service
- Maintain v1 API backward compatibility

Tested: Frontend and backend verified locally
Status: 85% complete (Phase 1-3 done)
This commit is contained in:
2026-01-07 22:39:08 +08:00
parent 06028c6952
commit 179afa2c6b
226 changed files with 5860 additions and 21 deletions

View File

@@ -0,0 +1,46 @@
/**
* RVW稿件审查模块 - 路由定义
* @module rvw/routes
*
* API前缀: /api/v2/rvw
*/
import type { FastifyInstance } from 'fastify';
import * as reviewController from '../controllers/reviewController.js';
export default async function rvwRoutes(fastify: FastifyInstance) {
// ==================== 任务管理 ====================
// 创建任务(上传稿件)
// POST /api/v2/rvw/tasks
fastify.post('/tasks', reviewController.createTask);
// 获取任务列表
// GET /api/v2/rvw/tasks?status=all|pending|completed&page=1&limit=20
fastify.get('/tasks', reviewController.getTaskList);
// 获取任务详情
// GET /api/v2/rvw/tasks/:taskId
fastify.get('/tasks/:taskId', reviewController.getTaskDetail);
// 获取审查报告
// GET /api/v2/rvw/tasks/:taskId/report
fastify.get('/tasks/:taskId/report', reviewController.getTaskReport);
// 删除任务
// DELETE /api/v2/rvw/tasks/:taskId
fastify.delete('/tasks/:taskId', reviewController.deleteTask);
// ==================== 运行审查 ====================
// 运行审查(选择智能体)
// POST /api/v2/rvw/tasks/:taskId/run
// Body: { agents: ['editorial', 'methodology'] }
fastify.post('/tasks/:taskId/run', reviewController.runReview);
// 批量运行审查
// POST /api/v2/rvw/tasks/batch/run
// Body: { taskIds: [...], agents: ['editorial', 'methodology'] }
fastify.post('/tasks/batch/run', reviewController.batchRunReview);
}