// client/ai/pub/review.js // Markdown 转 HTML function mdToHtml(md) { if (!md) return ''; let html = md; // 标题 html = html.replace(/^####\s+(.+)$/gm, '
$1'); // 行内代码 html = html.replace(/`([^`]+)`/g, '
$1');
// 列表
html = html.replace(/^[\-\•]\s+(.+)$/gm, '');
html = html.replace(/\n/g, '
');
html = '
' + html + '
'; // 清理空段落 html = html.replace(/\s*<\/p>/g, ''); return html; } // 生成精美 HTML 报告 function generateHtmlReport(markdown, fileName, reportDate, info) { const riskLevel = info.risk_level || '待评估'; const riskSummary = info.risk_summary || ''; const riskCount = info.risk_count || { high: 0, medium: 0, low: 0 }; const contractName = info.contract_name || fileName || '合同审查报告'; const contractType = info.contract_type || ''; // 风险等级颜色 let riskColor = '#67c23a'; if (riskLevel.includes('高')) riskColor = '#f56c6c'; else if (riskLevel.includes('中高')) riskColor = '#e6a23c'; else if (riskLevel.includes('中')) riskColor = '#e6a23c'; else if (riskLevel.includes('中低')) riskColor = '#409eff'; return `
${riskSummary || '暂无总体评估'}