优化结果

This commit is contained in:
2025-09-15 19:08:47 +08:00
parent 72084a8782
commit dcfa89e63c
357 changed files with 16156 additions and 1589 deletions

View File

@@ -0,0 +1,146 @@
// API 配置和数据获取模块
class HotTopicsAPI {
constructor() {
this.apiUrl = 'https://60s.api.shumengya.top/v2/baidu/tieba';
this.fallbackData = null;
}
// 获取热搜数据
async fetchHotTopics() {
try {
const response = await fetch(this.apiUrl, {
method: 'GET',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
// 添加超时控制
signal: AbortSignal.timeout(10000) // 10秒超时
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
// 验证数据格式
if (!this.validateData(data)) {
throw new Error('Invalid data format');
}
// 缓存成功的数据作为备用
this.fallbackData = data;
return {
success: true,
data: data,
timestamp: new Date().toISOString()
};
} catch (error) {
console.error('API请求失败:', error);
// 如果有缓存数据,返回缓存数据
if (this.fallbackData) {
return {
success: true,
data: this.fallbackData,
timestamp: new Date().toISOString(),
isCache: true
};
}
return {
success: false,
error: error.message,
timestamp: new Date().toISOString()
};
}
}
// 验证数据格式
validateData(data) {
if (!data || typeof data !== 'object') {
return false;
}
if (data.code !== 200) {
return false;
}
if (!Array.isArray(data.data)) {
return false;
}
// 验证数据项格式
return data.data.every(item => {
return item.rank &&
item.title &&
item.desc &&
item.score_desc;
});
}
// 处理图片URL
processImageUrl(url) {
if (!url) return null;
// 处理百度贴吧图片URL的特殊字符
try {
return url.replace(/&/g, '&');
} catch (error) {
console.warn('图片URL处理失败:', error);
return null;
}
}
// 处理跳转URL
processTopicUrl(url) {
if (!url) return '#';
try {
return url.replace(/&/g, '&');
} catch (error) {
console.warn('链接URL处理失败:', error);
return '#';
}
}
// 格式化分数显示
formatScore(score, scoreDesc) {
if (scoreDesc) {
return scoreDesc;
}
if (typeof score === 'number') {
if (score >= 10000) {
return (score / 10000).toFixed(1) + 'w';
}
return score.toString();
}
return '0';
}
// 截断文本
truncateText(text, maxLength = 100) {
if (!text) return '';
if (text.length <= maxLength) {
return text;
}
return text.substring(0, maxLength) + '...';
}
// 获取排名样式类
getRankClass(rank) {
if (rank === 1) return 'top-1';
if (rank === 2) return 'top-2';
if (rank === 3) return 'top-3';
return 'normal';
}
}
// 导出API实例
const hotTopicsAPI = new HotTopicsAPI();

View File

@@ -0,0 +1,201 @@
// 主应用程序文件
class HotTopicsApp {
constructor() {
this.isInitialized = false;
this.retryCount = 0;
this.maxRetries = 3;
this.retryDelay = 2000; // 2秒
}
// 初始化应用
async init() {
if (this.isInitialized) return;
try {
console.log('初始化百度贴吧热搜应用...');
// 检查必要的元素是否存在
this.checkRequiredElements();
// 加载初始数据
await this.loadHotTopics();
// 设置自动刷新
this.setupAutoRefresh();
// 设置页面可见性监听
this.setupVisibilityListener();
this.isInitialized = true;
console.log('应用初始化完成');
} catch (error) {
console.error('应用初始化失败:', error);
uiManager.showError('应用初始化失败,请刷新页面重试');
}
}
// 检查必要元素
checkRequiredElements() {
const requiredElements = ['loading', 'error', 'hotList', 'refreshBtn', 'updateTime'];
const missingElements = requiredElements.filter(id => !document.getElementById(id));
if (missingElements.length > 0) {
throw new Error(`缺少必要元素: ${missingElements.join(', ')}`);
}
}
// 加载热搜数据
async loadHotTopics() {
try {
console.log('开始获取热搜数据...');
uiManager.showLoading();
const result = await hotTopicsAPI.fetchHotTopics();
if (result.success) {
console.log('数据获取成功:', result.data.data?.length || 0, '条记录');
uiManager.renderHotTopics(result.data);
this.retryCount = 0; // 重置重试计数
// 如果是缓存数据,显示提示
if (result.isCache) {
uiManager.showToast('当前显示缓存数据', 3000);
}
} else {
throw new Error(result.error || '数据获取失败');
}
} catch (error) {
console.error('加载热搜数据失败:', error);
// 重试逻辑
if (this.retryCount < this.maxRetries) {
this.retryCount++;
console.log(`${this.retryCount} 次重试...`);
uiManager.showToast(`加载失败,${this.retryDelay / 1000}秒后重试...`, this.retryDelay);
setTimeout(() => {
this.loadHotTopics();
}, this.retryDelay);
// 增加重试延迟
this.retryDelay = Math.min(this.retryDelay * 1.5, 10000);
} else {
uiManager.showError('数据加载失败,请检查网络连接后重试');
this.retryCount = 0;
this.retryDelay = 2000;
}
}
}
// 设置自动刷新
setupAutoRefresh() {
// 每5分钟自动刷新一次
setInterval(() => {
if (document.visibilityState === 'visible' && !uiManager.isLoading) {
console.log('自动刷新数据...');
this.loadHotTopics();
}
}, 5 * 60 * 1000); // 5分钟
}
// 设置页面可见性监听
setupVisibilityListener() {
document.addEventListener('visibilitychange', () => {
if (document.visibilityState === 'visible') {
// 页面变为可见时,检查是否需要刷新数据
const lastUpdate = localStorage.getItem('lastUpdateTime');
const now = Date.now();
if (!lastUpdate || (now - parseInt(lastUpdate)) > 10 * 60 * 1000) {
// 超过10分钟没更新自动刷新
console.log('页面重新可见,刷新数据...');
this.loadHotTopics();
}
}
});
}
// 手动刷新
async refresh() {
if (uiManager.isLoading) {
console.log('正在加载中,忽略刷新请求');
return;
}
console.log('手动刷新数据...');
this.retryCount = 0;
this.retryDelay = 2000;
await this.loadHotTopics();
}
// 获取应用状态
getStatus() {
return {
isInitialized: this.isInitialized,
isLoading: uiManager.isLoading,
retryCount: this.retryCount,
lastUpdate: localStorage.getItem('lastUpdateTime')
};
}
}
// 创建应用实例
const app = new HotTopicsApp();
// 全局函数供HTML调用
window.loadHotTopics = () => app.loadHotTopics();
window.refreshData = () => app.refresh();
window.getAppStatus = () => app.getStatus();
// 页面加载完成后初始化
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', () => {
app.init();
});
} else {
// 如果页面已经加载完成
app.init();
}
// 错误处理
window.addEventListener('error', (event) => {
console.error('全局错误:', event.error);
// 如果是网络错误,显示友好提示
if (event.error?.message?.includes('fetch') ||
event.error?.message?.includes('network') ||
event.error?.message?.includes('Failed to fetch')) {
uiManager.showToast('网络连接异常,请检查网络设置');
}
});
// 未处理的Promise拒绝
window.addEventListener('unhandledrejection', (event) => {
console.error('未处理的Promise拒绝:', event.reason);
// 防止默认的错误处理
event.preventDefault();
// 显示用户友好的错误信息
if (event.reason?.message?.includes('fetch') ||
event.reason?.message?.includes('network')) {
uiManager.showToast('网络请求失败,请稍后重试');
}
});
// 导出应用实例(用于调试)
window.hotTopicsApp = app;
// 开发模式下的调试信息
if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') {
console.log('🚀 百度贴吧热搜应用已启动');
console.log('📱 响应式设计已启用');
console.log('🔄 自动刷新已设置5分钟间隔');
console.log('💡 可用调试命令:');
console.log(' - hotTopicsApp.getStatus() // 获取应用状态');
console.log(' - hotTopicsApp.refresh() // 手动刷新');
console.log(' - loadHotTopics() // 重新加载数据');
}

View File

@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>百度贴吧热搜榜单</title>
<link rel="stylesheet" href="styles.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
</head>
<body>
<div class="container">
<!-- 头部 -->
<header class="header">
<div class="header-content">
<div class="logo">
<i class="fab fa-reddit-alien"></i>
<h1>贴吧热搜</h1>
</div>
<div class="refresh-btn" id="refreshBtn">
<i class="fas fa-sync-alt"></i>
</div>
</div>
</header>
<!-- 加载状态 -->
<div class="loading" id="loading">
<div class="loading-spinner"></div>
<p>正在获取最新热搜...</p>
</div>
<!-- 错误提示 -->
<div class="error" id="error" style="display: none;">
<i class="fas fa-exclamation-triangle"></i>
<p>获取数据失败,请稍后重试</p>
<button class="retry-btn" onclick="loadHotTopics()">重新加载</button>
</div>
<!-- 热搜列表 -->
<main class="main-content">
<div class="hot-list" id="hotList">
<!-- 动态生成的热搜项目 -->
</div>
</main>
<!-- 底部信息 -->
<footer class="footer">
<p class="update-time" id="updateTime">最后更新:--</p>
<p class="data-source">数据来源:百度贴吧官方</p>
</footer>
</div>
<script src="api.js"></script>
<script src="ui.js"></script>
<script src="app.js"></script>
</body>
</html>

View File

@@ -0,0 +1,419 @@
/* 全局样式重置 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: linear-gradient(135deg, #e8f5e8 0%, #f9f9e8 50%, #f5f5f5 100%);
min-height: 100vh;
color: #333;
line-height: 1.6;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 0 16px;
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* 头部样式 */
.header {
padding: 20px 0;
position: sticky;
top: 0;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-radius: 0 0 20px 20px;
margin-bottom: 20px;
z-index: 100;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
display: flex;
align-items: center;
gap: 12px;
}
.logo i {
font-size: 28px;
color: #7fb069;
}
.logo h1 {
font-size: 24px;
font-weight: 700;
color: #2d3748;
margin: 0;
}
.refresh-btn {
width: 44px;
height: 44px;
border-radius: 50%;
background: linear-gradient(135deg, #7fb069, #a8cc8c);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(127, 176, 105, 0.3);
}
.refresh-btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(127, 176, 105, 0.4);
}
.refresh-btn:active {
transform: translateY(0);
}
.refresh-btn i {
color: white;
font-size: 18px;
}
.refresh-btn.loading i {
animation: spin 1s linear infinite;
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
/* 主内容区域 */
.main-content {
flex: 1;
margin-bottom: 20px;
}
/* 加载状态 */
.loading {
text-align: center;
padding: 60px 20px;
color: white;
}
.loading-spinner {
width: 40px;
height: 40px;
border: 3px solid rgba(255, 255, 255, 0.3);
border-top: 3px solid white;
border-radius: 50%;
margin: 0 auto 20px;
animation: spin 1s linear infinite;
}
.loading p {
font-size: 16px;
opacity: 0.9;
}
/* 错误状态 */
.error {
text-align: center;
padding: 60px 20px;
color: white;
}
.error i {
font-size: 48px;
margin-bottom: 20px;
opacity: 0.8;
}
.error p {
font-size: 16px;
margin-bottom: 20px;
opacity: 0.9;
}
.retry-btn {
background: rgba(255, 255, 255, 0.2);
border: 2px solid rgba(255, 255, 255, 0.3);
color: white;
padding: 12px 24px;
border-radius: 25px;
cursor: pointer;
font-size: 14px;
transition: all 0.3s ease;
}
.retry-btn:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
}
/* 热搜列表 */
.hot-list {
display: grid;
gap: 16px;
}
.hot-item {
background: rgba(255, 255, 255, 0.95);
border-radius: 16px;
padding: 20px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
cursor: pointer;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.hot-item:hover {
transform: translateY(-4px);
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
background: rgba(255, 255, 255, 1);
}
.hot-item-header {
display: flex;
align-items: flex-start;
gap: 16px;
margin-bottom: 12px;
}
.rank-badge {
min-width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 14px;
color: white;
flex-shrink: 0;
}
.rank-badge.top-1 {
background: linear-gradient(135deg, #ff6b6b, #ee5a24);
box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
}
.rank-badge.top-2 {
background: linear-gradient(135deg, #ffa726, #ff7043);
box-shadow: 0 4px 15px rgba(255, 167, 38, 0.3);
}
.rank-badge.top-3 {
background: linear-gradient(135deg, #ffca28, #ffa000);
box-shadow: 0 4px 15px rgba(255, 202, 40, 0.3);
}
.rank-badge.normal {
background: linear-gradient(135deg, #7fb069, #a8cc8c);
box-shadow: 0 4px 15px rgba(127, 176, 105, 0.3);
}
.hot-item-content {
flex: 1;
min-width: 0;
}
.hot-title {
font-size: 16px;
font-weight: 600;
color: #2d3748;
margin-bottom: 8px;
line-height: 1.4;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.hot-desc {
font-size: 14px;
color: #718096;
line-height: 1.5;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
margin-bottom: 12px;
}
.hot-meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.hot-score {
display: flex;
align-items: center;
gap: 6px;
color: #7fb069;
font-weight: 600;
font-size: 14px;
}
.hot-score i {
font-size: 12px;
}
.hot-avatar {
width: 24px;
height: 24px;
border-radius: 50%;
object-fit: cover;
border: 2px solid rgba(127, 176, 105, 0.2);
}
/* 底部 */
.footer {
text-align: center;
padding: 20px 0;
color: rgba(255, 255, 255, 0.8);
font-size: 12px;
line-height: 1.5;
}
.update-time {
margin-bottom: 4px;
font-weight: 500;
}
.data-source {
opacity: 0.7;
}
/* 响应式设计 */
@media (max-width: 768px) {
.container {
padding: 0 12px;
}
.header {
padding: 16px 0;
margin-bottom: 16px;
}
.logo h1 {
font-size: 20px;
}
.logo i {
font-size: 24px;
}
.refresh-btn {
width: 40px;
height: 40px;
}
.refresh-btn i {
font-size: 16px;
}
.hot-list {
gap: 12px;
}
.hot-item {
padding: 16px;
}
.hot-item-header {
gap: 12px;
margin-bottom: 10px;
}
.rank-badge {
min-width: 28px;
height: 28px;
font-size: 12px;
}
.hot-title {
font-size: 15px;
}
.hot-desc {
font-size: 13px;
}
.hot-score {
font-size: 13px;
}
.hot-avatar {
width: 20px;
height: 20px;
border: 2px solid rgba(127, 176, 105, 0.2);
}
}
@media (max-width: 480px) {
.container {
padding: 0 8px;
}
.hot-item {
padding: 12px;
}
.hot-title {
font-size: 14px;
}
.hot-desc {
font-size: 12px;
}
}
/* 动画效果 */
.hot-item {
animation: fadeInUp 0.6s ease forwards;
opacity: 0;
transform: translateY(20px);
}
.hot-item:nth-child(1) { animation-delay: 0.1s; }
.hot-item:nth-child(2) { animation-delay: 0.2s; }
.hot-item:nth-child(3) { animation-delay: 0.3s; }
.hot-item:nth-child(4) { animation-delay: 0.4s; }
.hot-item:nth-child(5) { animation-delay: 0.5s; }
.hot-item:nth-child(n+6) { animation-delay: 0.6s; }
@keyframes fadeInUp {
to {
opacity: 1;
transform: translateY(0);
}
}
/* 滚动条样式 */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
}
::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.5);
}

View File

@@ -0,0 +1,354 @@
// UI 渲染和交互模块
class UIManager {
constructor() {
this.elements = {
loading: document.getElementById('loading'),
error: document.getElementById('error'),
hotList: document.getElementById('hotList'),
refreshBtn: document.getElementById('refreshBtn'),
updateTime: document.getElementById('updateTime')
};
this.isLoading = false;
this.initEventListeners();
}
// 初始化事件监听器
initEventListeners() {
// 刷新按钮点击事件
this.elements.refreshBtn.addEventListener('click', () => {
if (!this.isLoading) {
this.refreshData();
}
});
// 键盘快捷键
document.addEventListener('keydown', (e) => {
if (e.key === 'F5' || (e.ctrlKey && e.key === 'r')) {
e.preventDefault();
if (!this.isLoading) {
this.refreshData();
}
}
});
// 下拉刷新(移动端)
this.initPullToRefresh();
}
// 初始化下拉刷新
initPullToRefresh() {
let startY = 0;
let currentY = 0;
let isPulling = false;
const threshold = 80;
document.addEventListener('touchstart', (e) => {
if (window.scrollY === 0) {
startY = e.touches[0].clientY;
isPulling = true;
}
});
document.addEventListener('touchmove', (e) => {
if (isPulling && window.scrollY === 0) {
currentY = e.touches[0].clientY;
const pullDistance = currentY - startY;
if (pullDistance > 0) {
e.preventDefault();
// 添加视觉反馈
if (pullDistance > threshold) {
this.elements.refreshBtn.style.transform = 'scale(1.1)';
} else {
this.elements.refreshBtn.style.transform = 'scale(1)';
}
}
}
});
document.addEventListener('touchend', () => {
if (isPulling) {
const pullDistance = currentY - startY;
if (pullDistance > threshold && !this.isLoading) {
this.refreshData();
}
this.elements.refreshBtn.style.transform = 'scale(1)';
isPulling = false;
}
});
}
// 显示加载状态
showLoading() {
this.isLoading = true;
this.elements.loading.style.display = 'block';
this.elements.error.style.display = 'none';
this.elements.hotList.style.display = 'none';
this.elements.refreshBtn.classList.add('loading');
}
// 隐藏加载状态
hideLoading() {
this.isLoading = false;
this.elements.loading.style.display = 'none';
this.elements.refreshBtn.classList.remove('loading');
}
// 显示错误状态
showError(message = '获取数据失败,请稍后重试') {
this.hideLoading();
this.elements.error.style.display = 'block';
this.elements.hotList.style.display = 'none';
const errorText = this.elements.error.querySelector('p');
if (errorText) {
errorText.textContent = message;
}
}
// 显示热搜列表
showHotList() {
this.hideLoading();
this.elements.error.style.display = 'none';
this.elements.hotList.style.display = 'grid';
}
// 渲染热搜数据
renderHotTopics(data) {
if (!data || !data.data || !Array.isArray(data.data)) {
this.showError('数据格式错误');
return;
}
const hotTopics = data.data;
this.elements.hotList.innerHTML = '';
hotTopics.forEach((topic, index) => {
const hotItem = this.createHotItem(topic, index);
this.elements.hotList.appendChild(hotItem);
});
this.showHotList();
this.updateTimestamp(data.isCache);
}
// 创建热搜项目元素
createHotItem(topic, index) {
const item = document.createElement('div');
item.className = 'hot-item';
item.style.animationDelay = `${index * 0.1}s`;
// 处理数据
const rank = topic.rank || (index + 1);
const title = hotTopicsAPI.truncateText(topic.title, 80);
const desc = hotTopicsAPI.truncateText(topic.desc, 120);
const score = hotTopicsAPI.formatScore(topic.score, topic.score_desc);
const avatarUrl = hotTopicsAPI.processImageUrl(topic.avatar);
const topicUrl = hotTopicsAPI.processTopicUrl(topic.url);
const rankClass = hotTopicsAPI.getRankClass(rank);
item.innerHTML = `
<div class="hot-item-header">
<div class="rank-badge ${rankClass}">
${rank}
</div>
<div class="hot-item-content">
<h3 class="hot-title">${title}</h3>
<p class="hot-desc">${desc}</p>
<div class="hot-meta">
<div class="hot-score">
<i class="fas fa-fire"></i>
<span>${score}</span>
</div>
${avatarUrl ? `<img class="hot-avatar" src="${avatarUrl}" alt="话题图片" onerror="this.style.display='none'">` : ''}
</div>
</div>
</div>
`;
// 添加点击事件
item.addEventListener('click', () => {
this.openTopic(topicUrl, title);
});
// 添加长按事件(移动端)
let pressTimer;
item.addEventListener('touchstart', (e) => {
pressTimer = setTimeout(() => {
this.showTopicMenu(topic, e.touches[0].clientX, e.touches[0].clientY);
}, 500);
});
item.addEventListener('touchend', () => {
clearTimeout(pressTimer);
});
item.addEventListener('touchmove', () => {
clearTimeout(pressTimer);
});
return item;
}
// 打开话题链接
openTopic(url, title) {
if (url && url !== '#') {
// 在新窗口打开
window.open(url, '_blank', 'noopener,noreferrer');
} else {
this.showToast('链接暂不可用');
}
}
// 显示话题菜单(长按)
showTopicMenu(topic, x, y) {
const menu = document.createElement('div');
menu.className = 'topic-menu';
menu.style.cssText = `
position: fixed;
left: ${x}px;
top: ${y}px;
background: white;
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0,0,0,0.2);
padding: 8px 0;
z-index: 1000;
min-width: 120px;
`;
const actions = [
{ text: '打开链接', action: () => this.openTopic(hotTopicsAPI.processTopicUrl(topic.url), topic.title) },
{ text: '复制标题', action: () => this.copyText(topic.title) },
{ text: '分享', action: () => this.shareContent(topic) }
];
actions.forEach(action => {
const item = document.createElement('div');
item.textContent = action.text;
item.style.cssText = `
padding: 12px 16px;
cursor: pointer;
font-size: 14px;
color: #333;
border-bottom: 1px solid #f0f0f0;
`;
item.addEventListener('click', () => {
action.action();
document.body.removeChild(menu);
});
menu.appendChild(item);
});
document.body.appendChild(menu);
// 点击其他地方关闭菜单
setTimeout(() => {
document.addEventListener('click', function closeMenu() {
if (document.body.contains(menu)) {
document.body.removeChild(menu);
}
document.removeEventListener('click', closeMenu);
});
}, 100);
}
// 复制文本
async copyText(text) {
try {
await navigator.clipboard.writeText(text);
this.showToast('已复制到剪贴板');
} catch (error) {
console.error('复制失败:', error);
this.showToast('复制失败');
}
}
// 分享内容
async shareContent(topic) {
const shareData = {
title: topic.title,
text: topic.desc,
url: hotTopicsAPI.processTopicUrl(topic.url)
};
try {
if (navigator.share) {
await navigator.share(shareData);
} else {
// 降级到复制链接
await this.copyText(`${topic.title} - ${shareData.url}`);
}
} catch (error) {
console.error('分享失败:', error);
}
}
// 显示提示消息
showToast(message, duration = 2000) {
const toast = document.createElement('div');
toast.textContent = message;
toast.style.cssText = `
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: rgba(0,0,0,0.8);
color: white;
padding: 12px 20px;
border-radius: 20px;
font-size: 14px;
z-index: 1000;
animation: fadeInUp 0.3s ease;
`;
document.body.appendChild(toast);
setTimeout(() => {
toast.style.animation = 'fadeOut 0.3s ease';
setTimeout(() => {
if (document.body.contains(toast)) {
document.body.removeChild(toast);
}
}, 300);
}, duration);
}
// 更新时间戳
updateTimestamp(isCache = false) {
const now = new Date();
const timeString = now.toLocaleString('zh-CN', {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit'
});
const cacheText = isCache ? ' (缓存数据)' : '';
this.elements.updateTime.textContent = `最后更新:${timeString}${cacheText}`;
}
// 刷新数据
async refreshData() {
if (window.loadHotTopics) {
await window.loadHotTopics();
}
}
}
// 导出UI管理器实例
const uiManager = new UIManager();
// 添加CSS动画
const style = document.createElement('style');
style.textContent = `
@keyframes fadeOut {
from { opacity: 1; transform: translateX(-50%) translateY(0); }
to { opacity: 0; transform: translateX(-50%) translateY(10px); }
}
`;
document.head.appendChild(style);

View File

@@ -0,0 +1,306 @@
{
"code": 200,
"message": "获取成功。数据来自官方/权威源头,以确保稳定与实时。开源地址 https://github.com/vikiboss/60s反馈群 595941841",
"data": [
{
"rank": 1,
"title": "MAGA喉舌被枪杀,川普为其降半旗",
"desc": "美国知名保守派活动人士、特朗普的政治盟友查理·柯克在大学演讲时遭枪击身亡,特朗普下令全美降半旗致哀。",
"abstract": "美国知名保守派活动人士、特朗普的政治盟友查理·柯克在大学演讲时遭枪击身亡,特朗普下令全美降半旗致哀。",
"score": 1594980,
"score_desc": "159.5w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=7fd9bdea3ad98d1076815f714702803a/a9d3fd1f4134970a614a3b39d3cad1c8a7865dee.jpg?tbpicau=2025-09-22-05_85ec313083b76eb31917067b6948c007",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344923&amp;topic_name=MAGA%E5%96%89%E8%88%8C%E8%A2%AB%E6%9E%AA%E6%9D%80%2C%E5%B7%9D%E6%99%AE%E4%B8%BA%E5%85%B6%E9%99%8D%E5%8D%8A%E6%97%97"
},
{
"rank": 2,
"title": "上膛!南理工打响整肃伪拳第一枪",
"desc": "终于有学校开了个好头,南京理工大学打响了武汉大学事件之后高校反对极端女权的第一枪。国防七子就是不一样,支持南理工!",
"abstract": "终于有学校开了个好头,南京理工大学打响了武汉大学事件之后高校反对极端女权的第一枪。国防七子就是不一样,支持南理工!",
"score": 1585575,
"score_desc": "158.56w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=45147a89e20f4bfb8c85cd14657240c4/8b13632762d0f703569980ca4efa513d2697c5f9.jpg?tbpicau=2025-09-22-05_8d101b01ab9f7032a8943a8ad9ad3591",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344934&amp;topic_name=%E4%B8%8A%E8%86%9B%21%E5%8D%97%E7%90%86%E5%B7%A5%E6%89%93%E5%93%8D%E6%95%B4%E8%82%83%E4%BC%AA%E6%8B%B3%E7%AC%AC%E4%B8%80%E6%9E%AA"
},
{
"rank": 3,
"title": "武大暗中篡改?杨某论文再次上架",
"desc": "又反转!武汉大学杨某媛“金牌”论文半夜又偷偷重新上架知网,不会是武大偷改好的版本吧,等热度一过就开始岁月史书?",
"abstract": "又反转!武汉大学杨某媛“金牌”论文半夜又偷偷重新上架知网,不会是武大偷改好的版本吧,等热度一过就开始岁月史书?",
"score": 1265376,
"score_desc": "126.54w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=e3f59fed7fdbb6fd250eb6666f19932c/8601a18b87d6277f2c00192e6e381f30e924fc92.jpg?tbpicau=2025-09-22-05_8c33e404e8488061ca9169977a762457",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344925&amp;topic_name=%E6%AD%A6%E5%A4%A7%E6%9A%97%E4%B8%AD%E7%AF%A1%E6%94%B9%3F%E6%9D%A8%E6%9F%90%E8%AE%BA%E6%96%87%E5%86%8D%E6%AC%A1%E4%B8%8A%E6%9E%B6"
},
{
"rank": 4,
"title": "兽王关键吼,XG大逆风翻盘石头人",
"desc": "落后1W6翻盘Xxs刷新兽王关键吼AME巨魔diff水晶。XG1比0石头人拿下正赛首局加油",
"abstract": "落后1W6翻盘Xxs刷新兽王关键吼AME巨魔diff水晶。XG1比0石头人拿下正赛首局加油",
"score": 893943,
"score_desc": "89.39w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=882897db1466d0167e4ccd68f116ec33/86d6277f9e2f070899cb3e16af24b899a801f2de.jpg?tbpicau=2025-09-22-05_625c74153fe7c84accea9ea76d88097b",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344941&amp;topic_name=%E5%85%BD%E7%8E%8B%E5%85%B3%E9%94%AE%E5%90%BC%2CXG%E5%A4%A7%E9%80%86%E9%A3%8E%E7%BF%BB%E7%9B%98%E7%9F%B3%E5%A4%B4%E4%BA%BA"
},
{
"rank": 5,
"title": "户圣开炮,安卓旗舰谁敢买?",
"desc": "户晨风再现逆天言论苹果17发布安卓中高端机遭遇灭顶之灾两千五以上没人买有能力的一定要给父母换iPhone",
"abstract": "户晨风再现逆天言论苹果17发布安卓中高端机遭遇灭顶之灾两千五以上没人买有能力的一定要给父母换iPhone",
"score": 766532,
"score_desc": "76.65w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=0eb028f7692eb938ec3829b2b35fbd01/c8177f3e6709c93d2a9825e1d93df8dcd10054b9.jpg?tbpicau=2025-09-22-05_a331d216b4e47c0049889f880fe693e3",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344926&amp;topic_name=%E6%88%B7%E5%9C%A3%E5%BC%80%E7%82%AE%2C%E5%AE%89%E5%8D%93%E6%97%97%E8%88%B0%E8%B0%81%E6%95%A2%E4%B9%B0%3F"
},
{
"rank": 6,
"title": "成都诬告偷拍败诉!小叶还能怎?",
"desc": "成都地铁诬告偷拍案二审维持原判,追风小叶维权失败,吧友锐评温和派的路走到头了。",
"abstract": "成都地铁诬告偷拍案二审维持原判,追风小叶维权失败,吧友锐评温和派的路走到头了。",
"score": 663175,
"score_desc": "66.32w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=9b41180f6bf5e0feee4dda413a5d0c9c/8694a4c27d1ed21b65aa39f3eb6eddc451da3f40.jpg?tbpicau=2025-09-22-05_db6b89b7846083172cde82c7146ebddc",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344942&amp;topic_name=%E6%88%90%E9%83%BD%E8%AF%AC%E5%91%8A%E5%81%B7%E6%8B%8D%E8%B4%A5%E8%AF%89%21%E5%B0%8F%E5%8F%B6%E8%BF%98%E8%83%BD%E6%80%8E%3F"
},
{
"rank": 7,
"title": "绝密飙至60w,盾奶开始泛滥",
"desc": "三角洲战备猛涨,玩家钱包 “躺平”!那些攥得紧紧、舍不得动的家底,这下不得不掏出来,打工一局倒贴钱,谁顶得住?",
"abstract": "三角洲战备猛涨,玩家钱包 “躺平”!那些攥得紧紧、舍不得动的家底,这下不得不掏出来,打工一局倒贴钱,谁顶得住?",
"score": 590856,
"score_desc": "59.09w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=61af83ea3ad98d1076815f714702803a/a9d3fd1f4134970a7f3c0539d3cad1c8a7865d5c.jpg?tbpicau=2025-09-22-05_82bc9423e1e1b97f3c071ce96e1cf7e4",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344936&amp;topic_name=%E7%BB%9D%E5%AF%86%E9%A3%99%E8%87%B360w%2C%E7%9B%BE%E5%A5%B6%E5%BC%80%E5%A7%8B%E6%B3%9B%E6%BB%A5"
},
{
"rank": 8,
"title": "邓紫棋被扒抢闺蜜男友博上位",
"desc": "邓紫棋被曝实锤撬闺蜜墙角,硬生生抢走正与闺蜜浓情蜜意的男友魏俊杰。事后为掩人耳目,还接连拉华晨宇、林宥嘉的绯闻来挡枪,一波操作引得舆论炸开了锅,粉丝纷纷 “跑路” 。",
"abstract": "邓紫棋被曝实锤撬闺蜜墙角,硬生生抢走正与闺蜜浓情蜜意的男友魏俊杰。事后为掩人耳目,还接连拉华晨宇、林宥嘉的绯闻来挡枪,一波操作引得舆论炸开了锅,粉丝纷纷 “跑路” 。",
"score": 506184,
"score_desc": "50.62w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=4d464c04094a20a4314b6f87f66fa016/30adcbef76094b36a2ff0ffbe5cc7cd98d109db2.jpg?tbpicau=2025-09-22-05_ed8c8f84187ef131dbb94421e614577b",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344937&amp;topic_name=%E9%82%93%E7%B4%AB%E6%A3%8B%E8%A2%AB%E6%89%92%E6%8A%A2%E9%97%BA%E8%9C%9C%E7%94%B7%E5%8F%8B%E5%8D%9A%E4%B8%8A%E4%BD%8D"
},
{
"rank": 9,
"title": "小红书被掘,薯民赛博戒网瘾",
"desc": "今天,网信办对小红书平台采取约谈、责令限期改正、警告、从严处理责任人等处置处罚措施。这下薯民们该何去何从?",
"abstract": "今天,网信办对小红书平台采取约谈、责令限期改正、警告、从严处理责任人等处置处罚措施。这下薯民们该何去何从?",
"score": 471548,
"score_desc": "47.15w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=51c0d93fc018367aaddc2c9d484eb3e0/bf096b63f6246b60eda2a662adf81a4c510fa27c.jpg?tbpicau=2025-09-22-05_61c56fced5303058de8e34d5f5c2f858",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344940&amp;topic_name=%E5%B0%8F%E7%BA%A2%E4%B9%A6%E8%A2%AB%E6%8E%98%2C%E8%96%AF%E6%B0%91%E8%B5%9B%E5%8D%9A%E6%88%92%E7%BD%91%E7%98%BE"
},
{
"rank": 10,
"title": "以军喊话轰全球:导弹是不长眼的",
"desc": "轰炸卡塔尔后以总理喊话全世界称自己要效仿美国“9·11”事件后的行动谁敢窝藏恐怖分子以色列统统揍个遍",
"abstract": "轰炸卡塔尔后以总理喊话全世界称自己要效仿美国“9·11”事件后的行动谁敢窝藏恐怖分子以色列统统揍个遍",
"score": 415002,
"score_desc": "41.5w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=6e77f03535f082022dc7c27f2dc6c3d9/562c11dfa9ec8a13a01b43f6b103918fa0ecc0a7.jpg?tbpicau=2025-09-22-05_492a74721d2be35b494d022729ab3727",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344938&amp;topic_name=%E4%BB%A5%E5%86%9B%E5%96%8A%E8%AF%9D%E8%BD%B0%E5%85%A8%E7%90%83%3A%E5%AF%BC%E5%BC%B9%E6%98%AF%E4%B8%8D%E9%95%BF%E7%9C%BC%E7%9A%84"
},
{
"rank": 11,
"title": "照抄还耗时?紫龙延迟补偿抠到爆",
"desc": "《第七史诗》紫龙又拉了都25年了居然在白天维护服务器长达11个小时。延长这么久不说打发玩家2000体力就想当无事发生最起码补个光暗自选吧",
"abstract": "《第七史诗》紫龙又拉了都25年了居然在白天维护服务器长达11个小时。延长这么久不说打发玩家2000体力就想当无事发生最起码补个光暗自选吧",
"score": 316800,
"score_desc": "31.68w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=4c344da7c60a19d8cb56d74555c7babf/7a899e510fb30f24c22cf8158e95d143ad4b0375.jpg?tbpicau=2025-09-22-05_ea3299a237a4be90f638d6f54ddfaee7",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344939&amp;topic_name=%E7%85%A7%E6%8A%84%E8%BF%98%E8%80%97%E6%97%B6%3F%E7%B4%AB%E9%BE%99%E5%BB%B6%E8%BF%9F%E8%A1%A5%E5%81%BF%E6%8A%A0%E5%88%B0%E7%88%86"
},
{
"rank": 12,
"title": "苹果是懂得维护韩男自尊心的",
"desc": "苹果市场部很懂韩国国情,还特意把新机海报上的敏感手势去掉了。",
"abstract": "苹果市场部很懂韩国国情,还特意把新机海报上的敏感手势去掉了。",
"score": 296609,
"score_desc": "29.66w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=16bc6dd6c4025aafd3672d8b9dd09350/10dfa9ec8a136327a57fe925d78fa0ec08fac712.jpg?tbpicau=2025-09-22-05_6d1258c530ad80062d801a0cdf3878c4",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344930&amp;topic_name=%E8%8B%B9%E6%9E%9C%E6%98%AF%E6%87%82%E5%BE%97%E7%BB%B4%E6%8A%A4%E9%9F%A9%E7%94%B7%E8%87%AA%E5%B0%8A%E5%BF%83%E7%9A%84"
},
{
"rank": 13,
"title": "米家胜!二游大逃杀,原神未滑档",
"desc": "国内畅销榜上,一众作品竞逐热度之际,《原神》稳居前列,凭独特玩法持续圈粉。网友直言:原神团队定是藏着 “神人”,决策方向始终正确,精准踩中玩家心巴。",
"abstract": "国内畅销榜上,一众作品竞逐热度之际,《原神》稳居前列,凭独特玩法持续圈粉。网友直言:原神团队定是藏着 “神人”,决策方向始终正确,精准踩中玩家心巴。",
"score": 210780,
"score_desc": "21.08w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=606b285c9cb44aed591beda4d521bf35/f7246b600c3387440d8b046a170fd9f9d72aa05e.jpg?tbpicau=2025-09-22-05_ac66e09b0535bcca38158c54002fa3c7",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344927&amp;topic_name=%E7%B1%B3%E5%AE%B6%E8%83%9C%21%E4%BA%8C%E6%B8%B8%E5%A4%A7%E9%80%83%E6%9D%80%2C%E5%8E%9F%E7%A5%9E%E6%9C%AA%E6%BB%91%E6%A1%A3"
},
{
"rank": 14,
"title": "秽土转生失败,动漫之家GG",
"desc": "动漫之家,终究还是停运了。起初反复刷新,还以为是网络出了问题,没想到它已经走了有一会儿了。这个无数漫迷的 “秘密基地”,如今却在激烈竞争与种种困境中再也回不来了。",
"abstract": "动漫之家,终究还是停运了。起初反复刷新,还以为是网络出了问题,没想到它已经走了有一会儿了。这个无数漫迷的 “秘密基地”,如今却在激烈竞争与种种困境中再也回不来了。",
"score": 207264,
"score_desc": "20.73w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=0db5d97a563853438c9ad461f52e884a/bd315c6034a85edfb52ed4350f540923dd547501.jpg?tbpicau=2025-09-22-05_9adff68227c9f67304fffc1a2731d758",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344932&amp;topic_name=%E7%A7%BD%E5%9C%9F%E8%BD%AC%E7%94%9F%E5%A4%B1%E8%B4%A5%2C%E5%8A%A8%E6%BC%AB%E4%B9%8B%E5%AE%B6GG"
},
{
"rank": 15,
"title": "张本两连败大飞,日男全军覆没",
"desc": "WTT澳门冠军赛男单1/16决赛薛飞把张本智和打静音横扫日乒一哥晋级至此日本男队全部出局这下真爆冷了。",
"abstract": "WTT澳门冠军赛男单1/16决赛薛飞把张本智和打静音横扫日乒一哥晋级至此日本男队全部出局这下真爆冷了。",
"score": 179152,
"score_desc": "17.92w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=1be7d7b39743ad4ba67b1580e43f629b/0bd162d9f2d3572cd30bb6cacc13632762d0c33f.jpg?tbpicau=2025-09-22-05_c5e594913af43484029ee1ccf719ee0a",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344933&amp;topic_name=%E5%BC%A0%E6%9C%AC%E4%B8%A4%E8%BF%9E%E8%B4%A5%E5%A4%A7%E9%A3%9E%2C%E6%97%A5%E7%94%B7%E5%85%A8%E5%86%9B%E8%A6%86%E6%B2%A1"
},
{
"rank": 16,
"title": "拳愿323:抽象的征西派内战",
"desc": "拳愿奥米迦323话大更征西派的裂痕与王马的抉择爱德华回生能力过于劣质雷庵表现力太逆天怕不是要成为决赛圈垫脚石",
"abstract": "拳愿奥米迦323话大更征西派的裂痕与王马的抉择爱德华回生能力过于劣质雷庵表现力太逆天怕不是要成为决赛圈垫脚石",
"score": 144915,
"score_desc": "14.49w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=65d67ff6b103918fd7846e8a37001ea3/b17eca8065380cd797d28afbe744ad34588281d3.jpg?tbpicau=2025-09-22-05_d45822c1109107fa7baacd2b01fefb61",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344924&amp;topic_name=%E6%8B%B3%E6%84%BF323%3A%E6%8A%BD%E8%B1%A1%E7%9A%84%E5%BE%81%E8%A5%BF%E6%B4%BE%E5%86%85%E6%88%98"
},
{
"rank": 17,
"title": "TES 3-1踩头WBG,灯皇薇恩送好局",
"desc": "LPL季后赛TES对阵WBG。Light薇恩0输出葬送优势局Kanavi潘森天降弑神最终TES 3-1 WBG挺进胜决。",
"abstract": "LPL季后赛TES对阵WBG。Light薇恩0输出葬送优势局Kanavi潘森天降弑神最终TES 3-1 WBG挺进胜决。",
"score": 108556,
"score_desc": "10.86w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=75e5576c66a446237e9ff622fe1f4a3a/caef76094b36acaf361abbea3ad98d1001e99c29.jpg?tbpicau=2025-09-22-05_dda77f28de2da58e81fcd3b6ff5aaacc",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344917&amp;topic_name=TES%203-1%E8%B8%A9%E5%A4%B4WBG%2C%E7%81%AF%E7%9A%87%E8%96%87%E6%81%A9%E9%80%81%E5%A5%BD%E5%B1%80"
},
{
"rank": 18,
"title": "师出有名,黄岩岛建立保护区",
"desc": "字少事大,国务院批复同意新建黄岩岛国家级自然保护区,隔壁菲猴还敢乱来吗?",
"abstract": "字少事大,国务院批复同意新建黄岩岛国家级自然保护区,隔壁菲猴还敢乱来吗?",
"score": 98280,
"score_desc": "9.83w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=31dba91375fa828bd176cea39b227900/43a7d933c895d14320aec93535f082025baf07cf.jpg?tbpicau=2025-09-22-05_b0badf07bc38a792ed54b85bb056f5aa",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344916&amp;topic_name=%E5%B8%88%E5%87%BA%E6%9C%89%E5%90%8D%2C%E9%BB%84%E5%B2%A9%E5%B2%9B%E5%BB%BA%E7%AB%8B%E4%BF%9D%E6%8A%A4%E5%8C%BA"
},
{
"rank": 19,
"title": "9月10日乐子限定",
"desc": "沪姐大战彩礼女,年轻人为了台苹果机不择手段,来看看昨天都有哪些乐子。",
"abstract": "沪姐大战彩礼女,年轻人为了台苹果机不择手段,来看看昨天都有哪些乐子。",
"score": 75660,
"score_desc": "7.57w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=f4c1e0dce951f3dec3e7ea24f2d3c82b/c9fcc3cec3fdfc03fb92cbae923f8794a4c22639.jpg?tbpicau=2025-09-22-05_04534fa7edbe9fa62b6c5170f11f6d42",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344922&amp;topic_name=9%E6%9C%8810%E6%97%A5%E4%B9%90%E5%AD%90%E9%99%90%E5%AE%9A"
},
{
"rank": 20,
"title": "每天一个宝藏吧——meme图吧",
"desc": "一个用梗图交流、靠表情包续命的赛博快乐老家进来一个meme图小白出去就是万人敬仰的meme图大师",
"abstract": "一个用梗图交流、靠表情包续命的赛博快乐老家进来一个meme图小白出去就是万人敬仰的meme图大师",
"score": 64691,
"score_desc": "6.47w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=366db542454f78f0805ec9b31f0c3261/908fa0ec08fa513deb1747c87b6d55fbb2fbd963.jpg?tbpicau=2025-09-22-05_0f79439d4fa718dccec3909f1093b1a0",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344928&amp;topic_name=%E6%AF%8F%E5%A4%A9%E4%B8%80%E4%B8%AA%E5%AE%9D%E8%97%8F%E5%90%A7%E2%80%94%E2%80%94meme%E5%9B%BE%E5%90%A7"
},
{
"rank": 21,
"title": "向鹏不敌德国选手,无缘十六强",
"desc": "在2025年世界乒乓球职业大联盟澳门冠军赛男子单打首轮比赛中中国选手向鹏2比3不敌德国选手弗朗西斯卡无缘16强。",
"abstract": "在2025年世界乒乓球职业大联盟澳门冠军赛男子单打首轮比赛中中国选手向鹏2比3不敌德国选手弗朗西斯卡无缘16强。",
"score": 51010,
"score_desc": "5.1w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=5110a6270c90f60304e5cf075f2f8b2f/91529822720e0cf30c5864ed4c46f21fbe09aa7d.jpg?tbpicau=2025-09-22-05_6494ac6b728dc643d62ecdfec9ffc10f",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344931&amp;topic_name=%E5%90%91%E9%B9%8F%E4%B8%8D%E6%95%8C%E5%BE%B7%E5%9B%BD%E9%80%89%E6%89%8B%2C%E6%97%A0%E7%BC%98%E5%8D%81%E5%85%AD%E5%BC%BA"
},
{
"rank": 22,
"title": "Faker虐爆许秀,T1险胜DK",
"desc": "绝境Faker再现T1 3-2险胜DK决胜局T1凭借关键团战逆转取胜。",
"abstract": "绝境Faker再现T1 3-2险胜DK决胜局T1凭借关键团战逆转取胜。",
"score": 47646,
"score_desc": "4.76w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=9d867145b0246b607b5be1348dc52278/55e736d12f2eb938b8df55e493628535e5dd6f71.jpg?tbpicau=2025-09-22-05_a1bfae75faab275c23b0f53a0a5b06ef",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344913&amp;topic_name=Faker%E8%99%90%E7%88%86%E8%AE%B8%E7%A7%80%2CT1%E9%99%A9%E8%83%9CDK"
},
{
"rank": 23,
"title": "张雪峰愿捐款打台独,媒体狂吠狠批",
"desc": "张雪峰说打台独自己捐五千万,大象新闻直接来了个大长篇,上来就给一个普通中国人的朴素爱国情怀扣上“鼓吹战争”的帽子,搞媒体的就这种素质?",
"abstract": "张雪峰说打台独自己捐五千万,大象新闻直接来了个大长篇,上来就给一个普通中国人的朴素爱国情怀扣上“鼓吹战争”的帽子,搞媒体的就这种素质?",
"score": 40064,
"score_desc": "4.01w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=2e4fc1ec3dcb0a468577d8790d5ece10/00e93901213fb80e595042c170d12f2eb9389426.jpg?tbpicau=2025-09-22-05_6e078e9f935aa244e26346ab37187ee2",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344910&amp;topic_name=%E5%BC%A0%E9%9B%AA%E5%B3%B0%E6%84%BF%E6%8D%90%E6%AC%BE%E6%89%93%E5%8F%B0%E7%8B%AC%2C%E5%AA%92%E4%BD%93%E7%8B%82%E5%90%A0%E7%8B%A0%E6%89%B9"
},
{
"rank": 24,
"title": "美军压境,委内瑞拉急盼歼10C",
"desc": "美军F-35A压境加勒比委内瑞拉方寸大乱紧急寻求采购歼10C。",
"abstract": "美军F-35A压境加勒比委内瑞拉方寸大乱紧急寻求采购歼10C。",
"score": 38052,
"score_desc": "3.81w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=90d8a718f73533faf5e3c06eceeec52b/0e2442a7d933c8955843b66d971373f0820200e2.jpg?tbpicau=2025-09-22-05_f8126e747fe76e25cfd9b3d3a75d1d54",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344921&amp;topic_name=%E7%BE%8E%E5%86%9B%E5%8E%8B%E5%A2%83%2C%E5%A7%94%E5%86%85%E7%91%9E%E6%8B%89%E6%80%A5%E7%9B%BC%E6%AD%BC10C"
},
{
"rank": 25,
"title": "真男人!海贼王龙哥射杀天龙人",
"desc": "海贼王1160话情报龙开枪射击天龙人救下红发双胞胎。昔日流汗王风评反转龙哥成为海贼最有种的男人。",
"abstract": "海贼王1160话情报龙开枪射击天龙人救下红发双胞胎。昔日流汗王风评反转龙哥成为海贼最有种的男人。",
"score": 26682,
"score_desc": "2.67w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=f8cb34fbe5cc7cd9fa7867995f3c190b/a71ea8d3fd1f4134c36e2a68631f95cad1c85e4e.jpg?tbpicau=2025-09-22-05_6853585b745b7349ad45ef38cf6df62f",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344920&amp;topic_name=%E7%9C%9F%E7%94%B7%E4%BA%BA%21%E6%B5%B7%E8%B4%BC%E7%8E%8B%E9%BE%99%E5%93%A5%E5%B0%84%E6%9D%80%E5%A4%A9%E9%BE%99%E4%BA%BA"
},
{
"rank": 26,
"title": "三角洲免费送点券,玩家争当洲孝子",
"desc": "三角洲行动周年庆福利拉满免费送3900三角券。玩家火速倒戈暂停讨伐制作组怒赞策划太良心。",
"abstract": "三角洲行动周年庆福利拉满免费送3900三角券。玩家火速倒戈暂停讨伐制作组怒赞策划太良心。",
"score": 25255,
"score_desc": "2.53w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=c4d99672d2eef01f4d414b8586c3a111/9345d688d43f8794d4946738941b0ef41bd53ab8.jpg?tbpicau=2025-09-22-05_a2046d59aca4681d2f9495edce4c3b25",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344919&amp;topic_name=%E4%B8%89%E8%A7%92%E6%B4%B2%E5%85%8D%E8%B4%B9%E9%80%81%E7%82%B9%E5%88%B8%2C%E7%8E%A9%E5%AE%B6%E4%BA%89%E5%BD%93%E6%B4%B2%E5%AD%9D%E5%AD%90"
},
{
"rank": 27,
"title": "以空袭卡塔尔,暗杀哈马斯未得逞",
"desc": "以色列对身处卡塔尔首都多哈的哈马斯领导层发动所谓精准打击并证实哈马斯5名成员死于以军空袭但以方暗杀哈马斯高层的图谋未能得逞。",
"abstract": "以色列对身处卡塔尔首都多哈的哈马斯领导层发动所谓精准打击并证实哈马斯5名成员死于以军空袭但以方暗杀哈马斯高层的图谋未能得逞。",
"score": 20900,
"score_desc": "2.09w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=5eb82d27673fb80e0c84329750ec171a/314e251f95cad1c8f8d7dd31393e6709c93d51b3.jpg?tbpicau=2025-09-22-05_cf088fe88563cb500e0581d892800736",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344898&amp;topic_name=%E4%BB%A5%E7%A9%BA%E8%A2%AD%E5%8D%A1%E5%A1%94%E5%B0%94%2C%E6%9A%97%E6%9D%80%E5%93%88%E9%A9%AC%E6%96%AF%E6%9C%AA%E5%BE%97%E9%80%9E"
},
{
"rank": 28,
"title": "局座出山,战忽局要开工了?",
"desc": "神隐五年之后,被网友戏称“战略忽悠局局长”的军事评论家张召忠重出江湖参加讲座。国际局势风云变幻,战忽局还有市场吗?",
"abstract": "神隐五年之后,被网友戏称“战略忽悠局局长”的军事评论家张召忠重出江湖参加讲座。国际局势风云变幻,战忽局还有市场吗?",
"score": 20166,
"score_desc": "2.02w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=c4150e6a170fd9f9a04206294310ec1e/d4628535e5dde711bf0262e0e1efce1b9c1661d7.jpg?tbpicau=2025-09-22-05_f7db127146ec115d51ff7ede6261253e",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344903&amp;topic_name=%E5%B1%80%E5%BA%A7%E5%87%BA%E5%B1%B1%2C%E6%88%98%E5%BF%BD%E5%B1%80%E8%A6%81%E5%BC%80%E5%B7%A5%E4%BA%86%3F"
},
{
"rank": 29,
"title": "丝之歌光速滑跪,更新补丁降难度",
"desc": "《空洞骑士丝之歌》游戏难度逆天差评不断制作组官宣更新补丁前期BOSS难度降低、奖励增加。",
"abstract": "《空洞骑士丝之歌》游戏难度逆天差评不断制作组官宣更新补丁前期BOSS难度降低、奖励增加。",
"score": 14526,
"score_desc": "1.45w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=420c2d34f51bb0518f71e0685047e280/7acb0a46f21fbe098018e2022d600c338744ad66.jpg?tbpicau=2025-09-22-05_95664e9657ba0ab59a428fd9a3db30b7",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344899&amp;topic_name=%E4%B8%9D%E4%B9%8B%E6%AD%8C%E5%85%89%E9%80%9F%E6%BB%91%E8%B7%AA%2C%E6%9B%B4%E6%96%B0%E8%A1%A5%E4%B8%81%E9%99%8D%E9%9A%BE%E5%BA%A6"
},
{
"rank": 30,
"title": "倭殖入脑,武大再现逆天论文",
"desc": "近日,武汉大学又被挖出一篇关于”传统武士道精神下的女性形象“的逆天论文,武汉大学持续发力,吧友吐槽“武大的文科真是奇迹般的存在 ”",
"abstract": "近日,武汉大学又被挖出一篇关于”传统武士道精神下的女性形象“的逆天论文,武汉大学持续发力,吧友吐槽“武大的文科真是奇迹般的存在 ”",
"score": 13717,
"score_desc": "1.37w",
"avatar": "https://tiebapic.baidu.com/forum/whfpf%3D84%2C88%2C40%3Bq%3D90/sign=71b4b4adc1d6277fe94761784e052704/d8f9d72a6059252d229f3d12729b033b5bb5b918.jpg?tbpicau=2025-09-22-05_71986e04f0934ae41569ea8d11844675",
"url": "https://tieba.baidu.com/hottopic/browse/hottopic?topic_id=28344905&amp;topic_name=%E5%80%AD%E6%AE%96%E5%85%A5%E8%84%91%2C%E6%AD%A6%E5%A4%A7%E5%86%8D%E7%8E%B0%E9%80%86%E5%A4%A9%E8%AE%BA%E6%96%87"
}
]
}