$1. $2
') // 替换小节标题 .replace(/\*\*(\d+\.\d+)\s+([^\*]+)\*\*/g, '$1 $2
') // 替换段落 .split('\n\n').join(''); htmlContent += `
${content}
`; htmlContent += `"use client"; import React, { useState, useEffect } from 'react'; import { Button } from '@/components/ui/button'; import { ErrorMessage } from '@/components/ui/error-message'; // 声明全局window属性 declare global { interface Window { sseRetryCount?: number; } } // 定义类型 interface ResearchFormProps { className?: string; onSubmit?: (data: any) => void; } // 定义模态框组件的Props接口 interface PapersListModalProps { directionIndex: number; directionTitle: string; papers: any[]; onClose: () => void; } // 论文列表模态框组件 - 只显示论文,不显示研究报告 function PapersListModal({ directionIndex, directionTitle, papers, onClose }: PapersListModalProps) { if (!papers || papers.length === 0) return null; return (
{paper.authors.join(', ')}
{paper.year || (paper.published && paper.published.substring(0, 4)) || "未知"}
方向 {directionIndex + 1} 的报告数据不可用或连接中断。
可能原因: 连接中断、报告生成失败或服务器错误。
'); htmlContent += `
${content}
`; htmlContent += `正在处理报告内容...
研究进行中...
{processMessage}
{index + 1}. {topic.english_title || topic.title}
{topic.keywords && topic.keywords.length > 0 && (方向 {index + 1}: {topic.english_title || topic.title}
{hasReport && (研究完成
{processMessage}