We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lizouzt/TrendRadar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>热点新闻分析</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js" integrity="sha512-BNaRQnYJYiPSqHHDb58B0yaPfCu+Wgds8Gp/gU33kqBtgNS4tSPHuGibyoeqMV/TJlSKda6FXzoEyYGjTe+vXA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<style>
* { box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
margin: 0;
padding: 16px;
background: #fafafa;
color: #333;
line-height: 1.5;
}
.container {
max-width: 600px;
margin: 0 auto;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}
.header {
background: linear-gradient(135deg, #7a72ff 0%, #3aafed 100%);
color: #fff;
padding: 32px 24px;
text-align: center;
position: relative;
}
.save-buttons {
position: absolute;
top: 16px;
right: 16px;
display: flex;
gap: 8px;
}
.save-btn {
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
font-size: 13px;
font-weight: 500;
transition: all 0.2s ease;
backdrop-filter: blur(10px);
white-space: nowrap;
}
.save-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-1px);
}
.save-btn:active {
transform: translateY(0);
}
.save-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.header-title {
font-size: 22px;
font-weight: 700;
margin: 0 0 20px 0;
}
.header-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
font-size: 14px;
opacity: 0.95;
}
.info-item {
text-align: center;
}
.info-label {
display: block;
font-size: 12px;
opacity: 0.8;
margin-bottom: 4px;
}
.info-value {
font-weight: 600;
font-size: 16px;
}
.content {
padding: 24px;
}
.word-group {
margin-bottom: 40px;
}
.word-group:first-child {
margin-top: 0;
}
.word-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
padding-bottom: 8px;
border-bottom: 1px solid #f0f0f0;
}
.word-info {
display: flex;
align-items: center;
gap: 12px;
}
.word-name {
font-size: 17px;
font-weight: 600;
color: #1a1a1a;
}
.word-count {
color: #666;
font-size: 13px;
font-weight: 500;
}
.word-count.hot { color: #dc2626; font-weight: 600; }
.word-count.warm { color: #ea580c; font-weight: 600; }
.word-index {
color: #999;
font-size: 12px;
}
.news-item {
margin-bottom: 20px;
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
position: relative;
display: flex;
gap: 12px;
align-items: center;
}
.news-item:last-child {
border-bottom: none;
}
.news-item.new::after {
content: "NEW";
position: absolute;
top: 12px;
right: 0;
background: #fbbf24;
color: #92400e;
font-size: 9px;
font-weight: 700;
padding: 3px 6px;
border-radius: 4px;
letter-spacing: 0.5px;
}
.news-number {
color: #999;
font-size: 13px;
font-weight: 600;
min-width: 20px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
align-self: flex-start;
margin-top: 8px;
}
.news-content {
flex: 1;
min-width: 0;
padding-right: 40px;
}
.news-item.new .news-content {
padding-right: 50px;
}
.news-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
.source-name {
color: #666;
font-size: 12px;
font-weight: 500;
}
.rank-num {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 2px 6px;
border-radius: 10px;
min-width: 18px;
text-align: center;
}
.rank-num.top { background: #dc2626; }
.rank-num.high { background: #ea580c; }
.time-info {
color: #999;
font-size: 11px;
}
.count-info {
color: #059669;
font-size: 11px;
font-weight: 500;
}
.news-title {
font-size: 15px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.news-link {
color: #2563eb;
text-decoration: none;
}
.news-link:hover {
text-decoration: underline;
}
.news-link:visited {
color: #7c3aed;
}
.topic-trend-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.topic-trend-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.viral-topic-item {
padding: 16px 0;
border-bottom: 1px solid #f5f5f5;
}
.viral-topic-item:last-child {
border-bottom: none;
}
.viral-topic-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 12px;
}
.viral-topic-keyword {
font-size: 16px;
font-weight: 600;
}
.topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.topic-item:last-child {
border-bottom: none;
}
.viral-topic-stats {
font-size: 12px;
color: #666;
}
.viral-topic-stats .new { color: #dc2626; font-weight: bold; }
.viral-topic-stats .up { color: #f59e0b; font-weight: bold; }
.viral-topic-stats .level-high { color: #dc2626; font-weight: bold; }
.viral-topic-stats .level-mid { color: #f59e0b; font-weight: bold; }
.viral-sample-titles {
list-style: none;
padding-left: 16px;
margin: 0;
font-size: 13px;
}
.viral-sample-titles li {
color: #666;
padding: 4px 0;
position: relative;
}
.viral-sample-titles li::before { content: '▪'; position: absolute; left: -14px; color: #ccc; }
.new-section {
margin-top: 40px;
padding-top: 24px;
border-top: 2px solid #f0f0f0;
}
.new-section-title {
color: #1a1a1a;
font-size: 16px;
font-weight: 600;
margin: 0 0 20px 0;
}
.new-source-group {
margin-bottom: 24px;
}
.new-source-title {
color: #666;
font-size: 13px;
font-weight: 500;
margin: 0 0 12px 0;
padding-bottom: 6px;
border-bottom: 1px solid #f5f5f5;
}
.new-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px 0;
border-bottom: 1px solid #f9f9f9;
}
.new-item:last-child {
border-bottom: none;
}
.new-item-number {
color: #999;
font-size: 12px;
font-weight: 600;
min-width: 18px;
text-align: center;
flex-shrink: 0;
background: #f8f9fa;
border-radius: 50%;
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
.new-item-rank {
color: #fff;
background: #6b7280;
font-size: 10px;
font-weight: 700;
padding: 3px 6px;
border-radius: 8px;
min-width: 20px;
text-align: center;
flex-shrink: 0;
}
.new-item-rank.top { background: #dc2626; }
.new-item-rank.high { background: #ea580c; }
.new-item-content {
flex: 1;
min-width: 0;
}
.new-item-title {
font-size: 14px;
line-height: 1.4;
color: #1a1a1a;
margin: 0;
}
.error-section {
background: #fef2f2;
border: 1px solid #fecaca;
border-radius: 8px;
padding: 16px;
margin-bottom: 24px;
}
.error-title {
color: #dc2626;
font-size: 14px;
font-weight: 600;
margin: 0 0 8px 0;
}
.error-list {
list-style: none;
padding: 0;
margin: 0;
}
.error-item {
color: #991b1b;
font-size: 13px;
padding: 2px 0;
font-family: 'SF Mono', Consolas, monospace;
}
.footer {
margin-top: 32px;
padding: 20px 24px;
background: #f8f9fa;
border-top: 1px solid #e5e7eb;
text-align: center;
}
.footer-content {
font-size: 13px;
color: #6b7280;
line-height: 1.6;
}
.footer-link {
color: #4f46e5;
text-decoration: none;
font-weight: 500;
transition: color 0.2s ease;
}
.footer-link:hover {
color: #7c3aed;
text-decoration: underline;
}
.project-name {
font-weight: 600;
color: #374151;
}
@media (max-width: 480px) {
body { padding: 12px; }
.header { padding: 24px 20px; }
.content { padding: 20px; }
.footer { padding: 16px 20px; }
.header-info { grid-template-columns: 1fr; gap: 12px; }
.news-header { gap: 6px; }
.news-content { padding-right: 45px; }
.news-item { gap: 8px; }
.new-item { gap: 8px; }
.news-number { width: 20px; height: 20px; font-size: 12px; }
.save-buttons {
position: static;
margin-bottom: 16px;
display: flex;
gap: 8px;
justify-content: center;
flex-direction: column;
width: 100%;
}
.save-btn {
width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<div class="save-buttons">
<button class="save-btn" onclick="saveAsImage()">保存为图片</button>
<button class="save-btn" onclick="saveAsMultipleImages()">分段保存</button>
</div>
<div class="header-title">热点新闻分析</div>
<div class="header-info">
<div class="info-item">
<span class="info-label">报告类型</span>
<span class="info-value">实时分析</span>
</div>
<div class="info-item">
<span class="info-label">新闻总数</span>
<span class="info-value">255 条</span>
</div>
<div class="info-item">
<span class="info-label">热点新闻</span>
<span class="info-value">9 条</span>
</div>
<div class="info-item">
<span class="info-label">生成时间</span>
<span class="info-value">01-27 02:29</span>
</div>
</div>
</div>
<div class="content">
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">ai 人工智能</div>
<div class="word-count warm">5 条</div>
</div>
<div class="word-index">1/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">bilibili 热搜</span><span class="rank-num ">6</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://search.bilibili.com/all?keyword=%E9%98%B6%E8%B7%83%E6%98%9F%E8%BE%B0%E5%8D%B0%E5%A5%87%E8%B0%88AI%E5%95%86%E4%B8%9A%E5%8C%96" target="_blank" class="news-link">阶跃星辰印奇谈AI商业化</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num ">7</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3764155" target="_blank" class="news-link">元宝AI春节10亿红包!马化腾:希望重现当年微信红包盛况</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">3</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num ">10</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3764149" target="_blank" class="news-link">瑞银展望2026美国经济:一旦AI泡沫破裂衰退概率将达50%,市场低估了6月前降息的可能性</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">4</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">13</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2270223" target="_blank" class="news-link">AI红包春节档四强争霸 马化腾喊话重现11年前微信红包盛况</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">5</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">澎湃新闻</span><span class="rank-num ">16</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://m.thepaper.cn/newsDetail_forward_32440119" target="_blank" class="news-link">AI视频丨鹿“回头”,要做三亚“城市合伙人”</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">航天 飞船</div>
<div class="word-count ">2 条</div>
</div>
<div class="word-index">2/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num ">6</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2269793" target="_blank" class="news-link">【每日收评】三大指数集体收跌,两市成交额连续2日突破3万亿,商业航天再陷整理</a>
</div>
</div>
</div>
<div class="news-item new">
<div class="news-number">2</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">华尔街见闻</span><span class="rank-num ">9</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://wallstreetcn.com/articles/3764130" target="_blank" class="news-link">创业板跌近1%,金银板块狂飙,商业航天集体调整,恒科指跌超1%,紫金矿业创历史新高,沪银飙涨13%</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">gemini deepmind claude openai</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">3/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">知乎</span><span class="rank-num ">12</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.zhihu.com/question/1998162232379458760" target="_blank" class="news-link">Claude Skill 的思路并不复杂,为什么又是再次被 Claude 优先提出?</a>
</div>
</div>
</div>
</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">谐波器 机器人</div>
<div class="word-count ">1 条</div>
</div>
<div class="word-index">4/4</div>
</div>
<div class="news-item new">
<div class="news-number">1</div>
<div class="news-content">
<div class="news-header">
<span class="source-name">财联社热门</span><span class="rank-num high">4</span><span class="time-info">02时29分</span>
</div>
<div class="news-title"><a href="https://www.cls.cn/detail/2270217" target="_blank" class="news-link">宇树成为2026年春晚机器人合作伙伴</a>
</div>
</div>
</div>
</div>
<div class="topic-trend-section">
<div class="topic-trend-title">🔥 异常热度话题</div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">美国</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>特大冬季风暴“围堵”美国 超市抢空</li><li>第1现场|特大冬季风暴“围堵”美国:超市抢空,超2亿人受灾</li><li>美国“林肯”号航母打击群已经抵达中东</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">普通高中全员直升</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>取消中考选拔功能、普通高中全员直升,浙江嵊泗教改细节披露</li><li>马上评|普通高中全员直升,嵊泗教改带来哪些启示</li><li>取消中考选拔功能、普通高中全员直升,浙江嵊泗教改细节披露</li></ul></div>
<div class="viral-topic-item">
<div class="viral-topic-header">
<div class="viral-topic-keyword">印度一邦暴发尼帕病毒疫情</div>
<div class="viral-topic-stats">
3条提及 · <span class="up">↑3%</span> · <span class="level-mid">中热度</span>
</div>
</div>
<ul class="viral-sample-titles"><li>印度一邦暴发尼帕病毒疫情</li><li>印度一邦暴发尼帕病毒疫情,可通过被污染的食物传播,尚无有效疗法,具体什么情况?会对哪些行业有影响?</li><li>印度一邦暴发尼帕病毒疫情,可通过被污染的食物传播,尚无有效疗法,具体什么情况?相比其他病毒它有何不同?</li></ul></div></div>
<div class="topic-trend-section">
<div class="topic-trend-title">✨ 关注话题趋势</div>
<div class="word-group">
<div class="word-header">
<div class="word-info">
<div class="word-name">AMD</div>
<div class="word-count">1 条提及 <span style="color: #059669;">(↓100.00%)</span></div>
</div>
</div>
<div class="news-item">
<div class="news-content" style="padding-right: 0;">
<img src="data:image/png;base64,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" alt="AMD 趋势图" style="width: 100%; height: auto;" />
</div>
</div>
</div></div>
</div>
<div class="footer">
<div class="footer-content">
</div>
</div>
</div>
<script>
async function saveAsImage() {
const button = event.target;
const originalText = button.textContent;
try {
button.textContent = '生成中...';
button.disabled = true;
window.scrollTo(0, 0);
// 等待页面稳定
await new Promise(resolve => setTimeout(resolve, 200));
// 截图前隐藏按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 再次等待确保按钮完全隐藏
await new Promise(resolve => setTimeout(resolve, 100));
const container = document.querySelector('.container');
const canvas = await html2canvas(container, {
backgroundColor: '#ffffff',
scale: 1.5,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
removeContainer: false,
foreignObjectRendering: false,
logging: false,
width: container.offsetWidth,
height: container.offsetHeight,
x: 0,
y: 0,
scrollX: 0,
scrollY: 0,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
buttons.style.visibility = 'visible';
const link = document.createElement('a');
const now = new Date();
const filename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}.png`;
link.download = filename;
link.href = canvas.toDataURL('image/png', 1.0);
// 触发下载
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
button.textContent = '保存成功!';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
async function saveAsMultipleImages() {
const button = event.target;
const originalText = button.textContent;
const container = document.querySelector('.container');
const scale = 1.5;
const maxHeight = 5000 / scale;
try {
button.textContent = '分析中...';
button.disabled = true;
// 获取所有可能的分割元素
const newsItems = Array.from(container.querySelectorAll('.news-item'));
const wordGroups = Array.from(container.querySelectorAll('.word-group'));
const newSection = container.querySelector('.new-section');
const errorSection = container.querySelector('.error-section');
const header = container.querySelector('.header');
const footer = container.querySelector('.footer');
// 计算元素位置和高度
const containerRect = container.getBoundingClientRect();
const elements = [];
// 添加header作为必须包含的元素
elements.push({
type: 'header',
element: header,
top: 0,
bottom: header.offsetHeight,
height: header.offsetHeight
});
// 添加错误信息(如果存在)
if (errorSection) {
const rect = errorSection.getBoundingClientRect();
elements.push({
type: 'error',
element: errorSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 按word-group分组处理news-item
wordGroups.forEach(group => {
const groupRect = group.getBoundingClientRect();
const groupNewsItems = group.querySelectorAll('.news-item');
// 添加word-group的header部分
const wordHeader = group.querySelector('.word-header');
if (wordHeader) {
const headerRect = wordHeader.getBoundingClientRect();
elements.push({
type: 'word-header',
element: wordHeader,
parent: group,
top: groupRect.top - containerRect.top,
bottom: headerRect.bottom - containerRect.top,
height: headerRect.height
});
}
// 添加每个news-item
groupNewsItems.forEach(item => {
const rect = item.getBoundingClientRect();
elements.push({
type: 'news-item',
element: item,
parent: group,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
});
});
// 添加新增新闻部分
if (newSection) {
const rect = newSection.getBoundingClientRect();
elements.push({
type: 'new-section',
element: newSection,
top: rect.top - containerRect.top,
bottom: rect.bottom - containerRect.top,
height: rect.height
});
}
// 添加footer
const footerRect = footer.getBoundingClientRect();
elements.push({
type: 'footer',
element: footer,
top: footerRect.top - containerRect.top,
bottom: footerRect.bottom - containerRect.top,
height: footer.offsetHeight
});
// 计算分割点
const segments = [];
let currentSegment = { start: 0, end: 0, height: 0, includeHeader: true };
let headerHeight = header.offsetHeight;
currentSegment.height = headerHeight;
for (let i = 1; i < elements.length; i++) {
const element = elements[i];
const potentialHeight = element.bottom - currentSegment.start;
// 检查是否需要创建新分段
if (potentialHeight > maxHeight && currentSegment.height > headerHeight) {
// 在前一个元素结束处分割
currentSegment.end = elements[i - 1].bottom;
segments.push(currentSegment);
// 开始新分段
currentSegment = {
start: currentSegment.end,
end: 0,
height: element.bottom - currentSegment.end,
includeHeader: false
};
} else {
currentSegment.height = potentialHeight;
currentSegment.end = element.bottom;
}
}
// 添加最后一个分段
if (currentSegment.height > 0) {
currentSegment.end = container.offsetHeight;
segments.push(currentSegment);
}
button.textContent = `生成中 (0/${segments.length})...`;
// 隐藏保存按钮
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'hidden';
// 为每个分段生成图片
const images = [];
for (let i = 0; i < segments.length; i++) {
const segment = segments[i];
button.textContent = `生成中 (${i + 1}/${segments.length})...`;
// 创建临时容器用于截图
const tempContainer = document.createElement('div');
tempContainer.style.cssText = `
position: absolute;
left: -9999px;
top: 0;
width: ${container.offsetWidth}px;
background: white;
`;
tempContainer.className = 'container';
// 克隆容器内容
const clonedContainer = container.cloneNode(true);
// 移除克隆内容中的保存按钮
const clonedButtons = clonedContainer.querySelector('.save-buttons');
if (clonedButtons) {
clonedButtons.style.display = 'none';
}
tempContainer.appendChild(clonedContainer);
document.body.appendChild(tempContainer);
// 等待DOM更新
await new Promise(resolve => setTimeout(resolve, 100));
// 使用html2canvas截取特定区域
const canvas = await html2canvas(clonedContainer, {
backgroundColor: '#ffffff',
scale: scale,
useCORS: true,
allowTaint: false,
imageTimeout: 10000,
logging: false,
width: container.offsetWidth,
height: segment.end - segment.start,
x: 0,
y: segment.start,
windowWidth: window.innerWidth,
windowHeight: window.innerHeight
});
images.push(canvas.toDataURL('image/png', 1.0));
// 清理临时容器
document.body.removeChild(tempContainer);
}
// 恢复按钮显示
buttons.style.visibility = 'visible';
// 下载所有图片
const now = new Date();
const baseFilename = `TrendRadar_热点新闻分析_${now.getFullYear()}${String(now.getMonth() + 1).padStart(2, '0')}${String(now.getDate()).padStart(2, '0')}_${String(now.getHours()).padStart(2, '0')}${String(now.getMinutes()).padStart(2, '0')}`;
for (let i = 0; i < images.length; i++) {
const link = document.createElement('a');
link.download = `${baseFilename}_part${i + 1}.png`;
link.href = images[i];
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
// 延迟一下避免浏览器阻止多个下载
await new Promise(resolve => setTimeout(resolve, 100));
}
button.textContent = `已保存 ${segments.length} 张图片!`;
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
} catch (error) {
console.error('分段保存失败:', error);
const buttons = document.querySelector('.save-buttons');
buttons.style.visibility = 'visible';
button.textContent = '保存失败';
setTimeout(() => {
button.textContent = originalText;
button.disabled = false;
}, 2000);
}
}
document.addEventListener('DOMContentLoaded', function() {
window.scrollTo(0, 0);
});
</script>
</body>
</html>