热搜榜单

热搜榜单
This commit is contained in:
yangyaoxiang666
2025-09-06 09:54:49 +08:00
parent b8456c437a
commit bd4c7439be
20 changed files with 1591 additions and 7940 deletions

View File

@@ -117,14 +117,65 @@ header {
} }
header h1 { header h1 {
background: linear-gradient(135deg, #4096ff, #ff7a45); display: flex;
-webkit-background-clip: text; align-items: center;
background-clip: text; justify-content: center;
color: transparent;
margin-bottom: 14px; margin-bottom: 14px;
font-size: 2.4rem; font-size: 2.4rem;
font-weight: 700; font-weight: 700;
letter-spacing: -0.5px; letter-spacing: -0.5px;
flex-wrap: wrap;
}
header h1 .icon {
margin-right: 10px;
font-size: 2.6rem;
animation: pulse 2s infinite ease-in-out;
}
header h1 .title-text {
background: linear-gradient(135deg, #4096ff, #ff7a45);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
header h1 .update-badge {
font-size: 0.9rem;
background: linear-gradient(135deg, #ff7a45, #ff4d4f);
color: white;
padding: 4px 10px;
border-radius: 20px;
margin-left: 12px;
font-weight: 500;
box-shadow: 0 2px 8px rgba(255, 122, 69, 0.3);
animation: float 3s infinite ease-in-out;
}
.header-desc {
color: #666;
font-size: 1.1rem;
font-weight: 500;
letter-spacing: 0.5px;
margin-top: 10px;
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
}
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
} }
.update-time { .update-time {
@@ -135,10 +186,57 @@ header h1 {
border-radius: 24px; border-radius: 24px;
display: inline-block; display: inline-block;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
.movie-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 24px;
margin-top: 24px;
animation: fadeInUp 0.8s ease-out;
} }
.hot-list { @keyframes fadeInUp {
list-style: none; from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.movie-item {
padding: 20px;
border-radius: 12px;
background-color: white;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
transition: all 0.3s ease;
display: flex;
flex-direction: column;
border: 1px solid rgba(0, 0, 0, 0.03);
overflow: hidden;
position: relative;
}
.movie-item:hover {
transform: translateY(-5px);
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
border-color: rgba(64, 169, 255, 0.3);
}
.movie-item.top-1 {
background: linear-gradient(to bottom right, rgba(255, 215, 0, 0.1), white);
border-color: rgba(255, 215, 0, 0.3);
}
.movie-item.top-2 {
background: linear-gradient(to bottom right, rgba(192, 192, 192, 0.1), white);
border-color: rgba(192, 192, 192, 0.3);
}
.movie-item.top-3 {
background: linear-gradient(to bottom right, rgba(205, 127, 50, 0.1), white);
border-color: rgba(205, 127, 50, 0.3);
} }
.hot-item { .hot-item {
@@ -159,20 +257,52 @@ header h1 {
border-color: rgba(64, 169, 255, 0.3); border-color: rgba(64, 169, 255, 0.3);
} }
.hot-rank { .rank-badge {
position: absolute;
top: 10px;
left: 10px;
font-size: 1.2rem; font-size: 1.2rem;
font-weight: bold; font-weight: bold;
color: #4096ff; color: #4096ff;
margin-right: 18px;
min-width: 38px; min-width: 38px;
text-align: center; text-align: center;
background-color: rgba(64, 169, 255, 0.1); background-color: rgba(255, 255, 255, 0.9);
border-radius: 50%; border-radius: 50%;
width: 38px; width: 38px;
height: 38px; height: 38px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
z-index: 2;
transition: all 0.3s ease;
}
.movie-item:hover .rank-badge {
transform: scale(1.1);
}
.rank-badge.gold {
background: linear-gradient(135deg, #ffd700, #ffb700);
color: white;
box-shadow: 0 2px 10px rgba(255, 215, 0, 0.4);
}
.rank-badge.silver {
background: linear-gradient(135deg, #c0c0c0, #a0a0a0);
color: white;
box-shadow: 0 2px 10px rgba(192, 192, 192, 0.4);
}
.rank-badge.bronze {
background: linear-gradient(135deg, #cd7f32, #b06728);
color: white;
box-shadow: 0 2px 10px rgba(205, 127, 50, 0.4);
}
.rank-badge.regular {
background: linear-gradient(135deg, #f0f0f0, #e0e0e0);
color: #666;
} }
.hot-rank.top-1 { .hot-rank.top-1 {
@@ -190,24 +320,50 @@ header h1 {
color: white; color: white;
} }
.hot-content {
.movie-info {
padding: 25px 0 5px;
flex: 1; flex: 1;
} }
.hot-title { .movie-name {
font-size: 1.15rem; font-size: 1.15rem;
margin-bottom: 8px; margin-bottom: 8px;
color: #333; color: #333;
text-decoration: none; font-weight: 600;
display: block; line-height: 1.4;
line-height: 1.5; display: -webkit-box;
font-weight: 500; -webkit-line-clamp: 2;
transition: color 0.2s ease; -webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
} }
.hot-title:hover { .movie-detail {
color: #4096ff; color: #666;
text-decoration: none; font-size: 0.9rem;
margin-bottom: 5px;
display: flex;
align-items: center;
}
.movie-detail .label {
color: #999;
margin-right: 5px;
}
.movie-boxoffice {
font-weight: 600;
color: #ff7a45;
font-size: 1.1rem;
margin-top: 10px;
}
.movie-boxoffice .currency {
font-size: 0.85rem;
color: #999;
margin-right: 2px;
} }
.loading { .loading {

View File

@@ -18,10 +18,11 @@
<!-- 页面头部 --> <!-- 页面头部 -->
<header class="header"> <header class="header">
<h1> <h1>
<span>🎬</span> <span class="icon">🎬</span>
猫眼票房排行榜(时更) <span class="title-text">猫眼票房排行榜</span>
<span class="update-badge">实时更新</span>
</h1> </h1>
<p>展示全球电影总票房排行榜,数据来自权威源头,稳定实时</p> <p class="header-desc">全球电影总票房榜单 | 权威数据 | 实时更新</p>
</header> </header>
<!-- 加载状态 --> <!-- 加载状态 -->

View File

@@ -156,18 +156,6 @@ function renderRanking(payload) {
// 渲染列表 // 渲染列表
const html = ` const html = `
<section class="stats-container">
<div class="stats-grid">
<div class="stat-item">
<div class="stat-value" id="stats-total">${list.length}</div>
<div class="stat-label">入榜影片数量</div>
</div>
<div class="stat-item">
<div class="stat-value" id="stats-top10">${Math.min(10, list.length)}</div>
<div class="stat-label">TOP10 数量</div>
</div>
</div>
</section>
<section class="ranking-container"> <section class="ranking-container">
<h2 class="ranking-title">全球电影总票房排行榜</h2> <h2 class="ranking-title">全球电影总票房排行榜</h2>
<div class="movie-list"> <div class="movie-list">
@@ -182,37 +170,56 @@ function renderRanking(payload) {
elements.container.classList.add('fade-in'); elements.container.classList.add('fade-in');
} }
// 格式化票房数据,将数字转换为更易读的形式
function formatBoxOffice(value) {
if (!value) return '未知';
// 将字符串转换为数字
const num = typeof value === 'string' ? parseFloat(value.replace(/[^0-9.]/g, '')) : value;
if (isNaN(num)) return value;
if (num >= 100000000) {
return (num / 100000000).toFixed(2) + ' 亿';
} else if (num >= 10000) {
return (num / 10000).toFixed(2) + ' 万';
} else {
return num.toLocaleString();
}
}
function renderMovieItem(item) { function renderMovieItem(item) {
const rank = item.rank; const rank = item.rank;
const cls = rank === 1 ? 'top-1' : rank === 2 ? 'top-2' : rank === 3 ? 'top-3' : ''; const cls = rank === 1 ? 'top-1' : rank === 2 ? 'top-2' : rank === 3 ? 'top-3' : '';
const badgeCls = rank === 1 ? 'gold' : rank === 2 ? 'silver' : rank === 3 ? 'bronze' : 'regular'; const badgeCls = rank === 1 ? 'gold' : rank === 2 ? 'silver' : rank === 3 ? 'bronze' : 'regular';
// 使用猫眼ID获取电影海报图片 - 使用更可靠的图片源 // 格式化票房数据
const posterUrl = `https://img.maoyan.com/movie/poster/1${item.maoyan_id}.jpg`; const boxOffice = formatBoxOffice(item.boxoffice || item.box_office);
// 备用图片源
const backupPosterUrl = `https://p0.pipi.cn/mmdb/fb738633ac80c2f8a7a48e5b465128${item.maoyan_id % 10}/${item.maoyan_id}.jpg?imageView2/1/w/160/h/220`; // 美化排名显示
let rankDisplay;
if (rank === 1) {
rankDisplay = '🏆 1';
} else if (rank === 2) {
rankDisplay = '🥈 2';
} else if (rank === 3) {
rankDisplay = '🥉 3';
} else {
rankDisplay = `NO.${rank}`;
}
return ` return `
<div class="movie-item ${cls}"> <div class="movie-item ${cls}">
<div class="rank-badge ${badgeCls}">${rank}</div> <div class="rank-badge ${badgeCls}">${rankDisplay}</div>
<div class="movie-poster">
<img src="${posterUrl}" alt="${escapeHtml(item.movie_name)}" onerror="this.onerror=null; this.src='${backupPosterUrl}'; this.onerror=function(){this.src='data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%22160%22 height%3D%22220%22 viewBox%3D%220 0 160 220%22%3E%3Crect fill%3D%22%23f0f0f0%22 width%3D%22160%22 height%3D%22220%22%2F%3E%3Ctext fill%3D%22%23999%22 font-family%3D%22Arial%2CSans-serif%22 font-size%3D%2216%22 x%3D%2250%25%22 y%3D%2250%25%22 text-anchor%3D%22middle%22 dominant-baseline%3D%22middle%22%3E无图片%3C%2Ftext%3E%3C%2Fsvg%3E';}">
</div>
<div class="movie-info"> <div class="movie-info">
<div class="rank-number">#${rank}</div> <div class="movie-name">${escapeHtml(item.movie_name)}</div>
<div class="movie-details"> <div class="movie-detail"><span class="label">上映:</span> ${escapeHtml(item.release_year || '未知')}</div>
<div class="movie-name">${escapeHtml(item.movie_name)}</div> <div class="movie-boxoffice"><span class="currency">¥</span> ${boxOffice}</div>
<div class="movie-year">上映年份:${escapeHtml(item.release_year || '')}</div>
</div>
<div class="box-office">
<div class="box-office-amount">${formatCurrencyDesc(item.box_office_desc, item.box_office)}</div>
<div class="box-office-desc">总票房</div>
</div>
</div> </div>
</div> </div>`;
`;
} }
function formatCurrencyDesc(desc, num) { function formatCurrencyDesc(desc, num) {
if (desc && typeof desc === 'string' && desc.trim()) return desc; if (desc && typeof desc === 'string' && desc.trim()) return desc;
if (typeof num === 'number') { if (typeof num === 'number') {

View File

@@ -0,0 +1,194 @@
/* 响应式样式 - 适配不同设备 */
/* 基础样式 - 移动设备优先 */
.container {
width: 95%;
padding: 15px;
margin: 10px auto;
}
header h1 {
font-size: 1.5rem;
}
.update-time {
font-size: 0.8rem;
padding: 6px 12px;
}
.rank-list {
grid-template-columns: 1fr;
gap: 16px;
margin-top: 15px;
}
.rank-item {
border-radius: 10px;
}
.rank-cover {
height: 160px;
}
.rank-info {
padding: 12px;
}
.rank-name {
font-size: 1rem;
margin-bottom: 6px;
}
.rank-desc {
font-size: 0.85rem;
margin-bottom: 10px;
-webkit-line-clamp: 2;
}
.rank-meta {
font-size: 0.75rem;
margin-bottom: 10px;
}
.rank-link {
padding: 6px 14px;
font-size: 0.85rem;
}
/* 平板设备 */
@media screen and (min-width: 768px) {
.container {
width: 90%;
padding: 20px;
margin: 15px auto;
}
header h1 {
font-size: 1.8rem;
}
.update-time {
font-size: 0.85rem;
padding: 7px 14px;
}
.rank-list {
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-top: 20px;
}
.rank-cover {
height: 170px;
}
.rank-info {
padding: 15px;
}
.rank-name {
font-size: 1.1rem;
margin-bottom: 8px;
}
.rank-desc {
font-size: 0.9rem;
margin-bottom: 12px;
-webkit-line-clamp: 3;
}
.rank-meta {
font-size: 0.8rem;
}
.rank-link {
padding: 7px 16px;
font-size: 0.9rem;
}
.loading-spinner {
width: 60px;
height: 60px;
}
}
/* 桌面设备 */
@media screen and (min-width: 1024px) {
.container {
width: 85%;
max-width: 1200px;
margin: 20px auto;
}
header h1 {
font-size: 2.2rem;
}
.update-time {
font-size: 0.9rem;
padding: 8px 16px;
}
.rank-list {
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 25px;
}
.rank-cover {
height: 180px;
}
.rank-info {
padding: 18px;
}
.rank-name {
font-size: 1.2rem;
margin-bottom: 10px;
}
.rank-desc {
font-size: 0.95rem;
margin-bottom: 15px;
}
.rank-meta {
font-size: 0.85rem;
margin-bottom: 15px;
}
.rank-link {
padding: 8px 18px;
font-size: 0.95rem;
}
}
/* 大屏幕设备 */
@media screen and (min-width: 1440px) {
.container {
max-width: 1400px;
}
.rank-list {
grid-template-columns: repeat(4, 1fr);
gap: 30px;
}
.rank-cover {
height: 200px;
}
.rank-name {
font-size: 1.25rem;
}
.rank-desc {
font-size: 1rem;
}
.rank-link {
padding: 10px 20px;
font-size: 1rem;
}
}

View File

@@ -96,6 +96,7 @@ body {
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overflow-x: hidden; overflow-x: hidden;
line-height: 1.6;
} }
.container { .container {
@@ -139,61 +140,106 @@ header h1 {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
} }
.hot-list { .rank-list {
list-style: none; display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 24px;
margin-top: 20px;
} }
.hot-item { .rank-item {
padding: 20px;
margin-bottom: 16px;
border-radius: 12px;
background-color: white; background-color: white;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04); border-radius: 12px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
overflow: hidden;
transition: all 0.3s ease; transition: all 0.3s ease;
display: flex; display: flex;
align-items: center; flex-direction: column;
border: 1px solid rgba(0, 0, 0, 0.03); border: 1px solid rgba(0, 0, 0, 0.05);
} }
.hot-item:hover { .rank-item:hover {
transform: translateY(-3px); transform: translateY(-5px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
border-color: rgba(64, 169, 255, 0.3); border-color: rgba(236, 65, 65, 0.3);
} }
.hot-rank { .rank-cover {
font-size: 1.2rem; position: relative;
font-weight: bold; height: 180px;
color: #4096ff; overflow: hidden;
margin-right: 18px;
min-width: 38px;
text-align: center;
background-color: rgba(64, 169, 255, 0.1);
border-radius: 50%;
width: 38px;
height: 38px;
display: flex;
align-items: center;
justify-content: center;
} }
.hot-rank.top-1 { .rank-cover img {
background: linear-gradient(135deg, #ff4d4f, #ff7a45); width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.rank-item:hover .rank-cover img {
transform: scale(1.05);
}
.rank-update {
position: absolute;
bottom: 0;
right: 0;
background: rgba(236, 65, 65, 0.8);
color: white; color: white;
padding: 4px 10px;
font-size: 0.8rem;
border-top-left-radius: 8px;
} }
.hot-rank.top-2 { .rank-info {
background: linear-gradient(135deg, #ff7a45, #ffa940); padding: 16px;
color: white;
}
.hot-rank.top-3 {
background: linear-gradient(135deg, #ffa940, #ffec3d);
color: white;
}
.hot-content {
flex: 1; flex: 1;
display: flex;
flex-direction: column;
}
.rank-name {
font-size: 1.2rem;
font-weight: 600;
margin-bottom: 8px;
color: #333;
}
.rank-desc {
font-size: 0.9rem;
color: #666;
margin-bottom: 12px;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
flex: 1;
}
.rank-meta {
font-size: 0.8rem;
color: #999;
margin-bottom: 12px;
}
.rank-link {
display: inline-block;
background: linear-gradient(135deg, #ec4141, #ff7a45);
color: white;
text-decoration: none;
padding: 8px 16px;
border-radius: 20px;
font-size: 0.9rem;
text-align: center;
transition: all 0.3s ease;
box-shadow: 0 2px 8px rgba(236, 65, 65, 0.3);
}
.rank-link:hover {
background: linear-gradient(135deg, #d73435, #f06937);
box-shadow: 0 4px 12px rgba(236, 65, 65, 0.4);
transform: translateY(-2px);
} }
.hot-title { .hot-title {
@@ -219,6 +265,45 @@ header h1 {
font-size: 1.1rem; font-size: 1.1rem;
} }
.loading-spinner {
display: inline-block;
width: 50px;
height: 50px;
border: 3px solid rgba(236, 65, 65, 0.3);
border-radius: 50%;
border-top-color: #ec4141;
animation: spin 1s ease-in-out infinite;
margin-bottom: 16px;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
.error-message {
text-align: center;
padding: 40px;
color: #ff4d4f;
font-size: 1.1rem;
}
.retry-button {
background: #ec4141;
color: white;
border: none;
padding: 8px 20px;
border-radius: 20px;
font-size: 0.9rem;
margin-top: 16px;
cursor: pointer;
transition: all 0.3s ease;
}
.retry-button:hover {
background: #d73435;
box-shadow: 0 2px 8px rgba(236, 65, 65, 0.4);
}
footer { footer {
text-align: center; text-align: center;
margin-top: 30px; margin-top: 30px;

View File

@@ -0,0 +1,49 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>网易云音乐榜单 - InfoGenie</title>
<meta name="description" content="网易云音乐各类榜单,包括飙升榜、热歌榜、新歌榜等">
<link rel="stylesheet" href="./css/background.css">
<link rel="stylesheet" href="./css/style.css">
<link rel="stylesheet" href="./css/responsive.css">
</head>
<body>
<!-- 背景效果 -->
<div class="background-container">
<div class="modern-gradient"></div>
</div>
<!-- 音符装饰 -->
<div id="music-notes-container"></div>
<div class="container">
<header>
<h1>网易云音乐榜单</h1>
<div class="update-time" id="update-time">加载中...</div>
</header>
<main>
<div id="loading" class="loading">
<div class="loading-spinner"></div>
<p>正在加载榜单数据...</p>
</div>
<div id="error-message" class="error-message" style="display: none;">
<p>加载失败,请稍后再试</p>
<button id="retry-button" class="retry-button">重试</button>
</div>
<div id="rank-list" class="rank-list" style="display: none;"></div>
</main>
<footer>
<p>数据来源网易云音乐官方API</p>
<p>© 2024 InfoGenie - 网易云音乐榜单</p>
</footer>
</div>
<script src="./js/app.js"></script>
</body>
</html>

View File

@@ -0,0 +1,252 @@
/**
* 网易云音乐榜单 - 主应用脚本
* 功能获取API数据、渲染榜单、处理错误、自动切换API接口
*/
// 全局变量
const apiUrls = [];
let currentApiIndex = 0;
let rankData = null;
// DOM元素
const loadingElement = document.getElementById('loading');
const errorElement = document.getElementById('error-message');
const rankListElement = document.getElementById('rank-list');
const updateTimeElement = document.getElementById('update-time');
const retryButton = document.getElementById('retry-button');
// 初始化函数
async function init() {
try {
// 获取API接口列表
await loadApiUrls();
// 获取榜单数据
await fetchRankData();
// 添加音符装饰
createMusicNotes();
} catch (error) {
console.error('初始化失败:', error);
showError();
}
}
// 加载API接口列表
async function loadApiUrls() {
try {
const response = await fetch('./接口集合.json');
if (!response.ok) {
throw new Error('无法加载API接口列表');
}
const data = await response.json();
if (Array.isArray(data) && data.length > 0) {
apiUrls.push(...data);
console.log('已加载API接口列表:', apiUrls);
} else {
throw new Error('API接口列表为空');
}
} catch (error) {
console.error('加载API接口列表失败:', error);
// 使用默认API
apiUrls.push('https://60s.api.shumengya.top/v2/ncm-rank');
}
}
// 获取榜单数据
async function fetchRankData() {
showLoading();
// 如果没有API接口显示错误
if (apiUrls.length === 0) {
throw new Error('没有可用的API接口');
}
try {
const apiUrl = apiUrls[currentApiIndex];
const response = await fetch(apiUrl);
if (!response.ok) {
throw new Error(`API请求失败: ${response.status}`);
}
const data = await response.json();
if (data.code === 200 && data.data && Array.isArray(data.data)) {
rankData = data;
renderRankList(data.data);
updateLastUpdateTime(data);
hideLoading();
} else {
throw new Error('API返回数据格式错误');
}
} catch (error) {
console.error('获取榜单数据失败:', error);
// 尝试切换到下一个API
if (tryNextApi()) {
return fetchRankData();
} else {
showError();
}
}
}
// 尝试切换到下一个API
function tryNextApi() {
if (currentApiIndex < apiUrls.length - 1) {
currentApiIndex++;
console.log(`切换到下一个API: ${apiUrls[currentApiIndex]}`);
return true;
}
return false;
}
// 渲染榜单列表
function renderRankList(ranks) {
if (!Array.isArray(ranks) || ranks.length === 0) {
showError('没有榜单数据');
return;
}
rankListElement.innerHTML = '';
ranks.forEach(rank => {
const rankItem = document.createElement('div');
rankItem.className = 'rank-item';
// 构建榜单项HTML
rankItem.innerHTML = `
<div class="rank-cover">
<img src="${rank.cover}" alt="${rank.name}" loading="lazy">
<div class="rank-update">${rank.update_frequency || '定期更新'}</div>
</div>
<div class="rank-info">
<h3 class="rank-name">${rank.name}</h3>
<p class="rank-desc">${rank.description || '暂无描述'}</p>
<div class="rank-meta">
<span class="rank-updated">更新: ${formatDate(rank.updated)}</span>
</div>
<a href="${rank.link}" target="_blank" class="rank-link">查看详情</a>
</div>
`;
rankListElement.appendChild(rankItem);
});
rankListElement.style.display = 'grid';
}
// 更新最后更新时间
function updateLastUpdateTime(data) {
if (data && data.data && data.data.length > 0) {
const latestRank = data.data.reduce((latest, current) => {
const latestDate = latest.updated_at || 0;
const currentDate = current.updated_at || 0;
return currentDate > latestDate ? current : latest;
}, data.data[0]);
if (latestRank && latestRank.updated) {
updateTimeElement.textContent = `最近更新: ${formatDate(latestRank.updated)}`;
} else {
updateTimeElement.textContent = '数据已更新';
}
}
}
// 格式化日期
function formatDate(dateStr) {
if (!dateStr) return '未知';
try {
const date = new Date(dateStr.replace('2025-', '2024-'));
if (isNaN(date.getTime())) return dateStr;
return date.toLocaleDateString('zh-CN', {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit'
}).replace(/\//g, '-');
} catch (e) {
return dateStr;
}
}
// 创建音符装饰
function createMusicNotes() {
const notesContainer = document.getElementById('music-notes-container');
const notes = ['♪', '♫', '♬', '♩', '♭', '♮'];
const containerWidth = window.innerWidth;
const containerHeight = window.innerHeight;
// 清空容器
notesContainer.innerHTML = '';
// 创建15个音符
for (let i = 0; i < 15; i++) {
const note = document.createElement('div');
note.className = 'music-note';
note.textContent = notes[Math.floor(Math.random() * notes.length)];
// 随机位置
const left = Math.random() * containerWidth;
const top = Math.random() * containerHeight;
// 随机动画延迟
const delay = Math.random() * 20;
const duration = 15 + Math.random() * 15;
// 设置样式
note.style.left = `${left}px`;
note.style.top = `${top}px`;
note.style.animationDelay = `${delay}s`;
note.style.animationDuration = `${duration}s`;
notesContainer.appendChild(note);
}
}
// 显示加载中
function showLoading() {
loadingElement.style.display = 'block';
errorElement.style.display = 'none';
rankListElement.style.display = 'none';
}
// 隐藏加载中
function hideLoading() {
loadingElement.style.display = 'none';
}
// 显示错误信息
function showError(message = '加载失败,请稍后再试') {
loadingElement.style.display = 'none';
errorElement.querySelector('p').textContent = message;
errorElement.style.display = 'block';
}
// 重试按钮点击事件
retryButton.addEventListener('click', () => {
// 重置API索引
currentApiIndex = 0;
// 重新获取数据
fetchRankData();
});
// 窗口大小改变时重新创建音符
window.addEventListener('resize', debounce(createMusicNotes, 300));
// 防抖函数
function debounce(func, wait) {
let timeout;
return function() {
const context = this;
const args = arguments;
clearTimeout(timeout);
timeout = setTimeout(() => func.apply(context, args), wait);
};
}
// 页面加载完成后初始化
document.addEventListener('DOMContentLoaded', init);

View File

@@ -0,0 +1,3 @@
[
"https://60s.api.shumengya.top/v2/ncm-rank"
]

View File

@@ -0,0 +1,750 @@
{
"code": 200,
"message": "获取成功。数据来自官方/权威源头,以确保稳定与实时。开源地址 https://github.com/vikiboss/60s反馈群 595941841",
"data": [
{
"id": 19723756,
"name": "飙升榜",
"description": "云音乐中每天热度上升最快的100首单曲每日更新。",
"cover": "https://p2.music.126.net/rIi7Qzy2i2Y_1QD7cd0MYA==/109951170048506929.jpg",
"update_frequency": "更新78首",
"updated": "2025-09-05 08:24:41",
"updated_at": 1757031881385,
"created": "2014-06-30 15:58:56",
"created_at": 1404115136883,
"link": "https://music.163.com/#/discover/toplist?id=19723756"
},
{
"id": 3779629,
"name": "新歌榜",
"description": "云音乐新歌榜:云音乐用户一周内收听所有新歌(一月内最新发行) 官方TOP排行榜每天更新。",
"cover": "https://p2.music.126.net/5guhqPBTcIrrhLBotgaT6w==/109951170048511751.jpg",
"update_frequency": "刚刚更新",
"updated": "2025-09-05 08:24:50",
"updated_at": 1757031890587,
"created": "2013-09-09 18:09:58",
"created_at": 1378721398225,
"link": "https://music.163.com/#/discover/toplist?id=3779629"
},
{
"id": 2884035,
"name": "原创榜",
"description": "云音乐独立原创音乐人作品官方榜单以推荐优秀原创作品为目的。每周四网易云音乐首发。申请网易音乐人http://music.163.com/nmusician/",
"cover": "https://p2.music.126.net/BaP9nrocNTL3gGThysv4eQ==/109951170091896587.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 10:54:42",
"updated_at": 1756954482653,
"created": "2013-07-25 14:05:25",
"created_at": 1374732325894,
"link": "https://music.163.com/#/discover/toplist?id=2884035"
},
{
"id": 3778678,
"name": "热歌榜",
"description": "云音乐热歌榜云音乐用户一周内收听所有线上歌曲官方TOP排行榜每日更新。",
"cover": "https://p2.music.126.net/0SUEG8yDACfx0Bw2MYFv4Q==/109951170048519512.jpg",
"update_frequency": "更新14首",
"updated": "2025-09-05 08:25:03",
"updated_at": 1757031903733,
"created": "2013-09-09 18:10:06",
"created_at": 1378721406014,
"link": "https://music.163.com/#/discover/toplist?id=3778678"
},
{
"id": 991319590,
"name": "网易云中文说唱榜",
"description": "网易云原创说唱音乐人作品官方榜单每周五更新。以网易云用户一周播放热度为主收录2个月内发行的原创说唱作品按照综合数据排名取前50名。申请网易音乐人http://music.163.com/nmusician",
"cover": "https://p2.music.126.net/GgHbgDfGXHpE2YTchU7IvA==/109951171510498108.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 10:19:58",
"updated_at": 1756433998618,
"created": "2017-11-10 13:06:29",
"created_at": 1510290389440,
"link": "https://music.163.com/#/discover/toplist?id=991319590"
},
{
"id": 71384707,
"name": "网易云古典榜",
"description": "网易云用户一周内收听所有古典音乐官方TOP排行榜每周四更新。",
"cover": "https://p2.music.126.net/urByD_AmfBDBrs7fA9-O8A==/109951167976973225.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 10:52:54",
"updated_at": 1756954374913,
"created": "2015-05-07 11:22:00",
"created_at": 1430968920537,
"link": "https://music.163.com/#/discover/toplist?id=71384707"
},
{
"id": 1978921795,
"name": "网易云电音榜",
"description": "网易云用户一周内收听电子音乐官方TOP排行榜每周五更新。喜力星电音用先锋电音带你解锁全新维度和体验",
"cover": "https://p2.music.126.net/hXGObvXfsGtFjFvRhOYAkA==/109951170091888741.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 12:00:01",
"updated_at": 1756440001367,
"created": "2017-11-16 17:47:12",
"created_at": 1510825632233,
"link": "https://music.163.com/#/discover/toplist?id=1978921795"
},
{
"id": 14028249541,
"name": "网易云全球说唱榜",
"description": "想聆听世界的说唱节奏?全球说唱榜每周五更新,聚焦华语地区以外的优秀说唱作品。根据云音乐用户每周播放热度数据,按照综合数据排名取前 50 名。",
"cover": "https://p2.music.126.net/0hhFjP6WyIjHYDXKW5E7BA==/109951171535150782.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 11:51:16",
"updated_at": 1756439476712,
"created": "2025-07-24 14:09:26",
"created_at": 1753337366883,
"link": "https://music.163.com/#/discover/toplist?id=14028249541"
},
{
"id": 13372522766,
"name": "潮流风向榜",
"description": "精心挑选云音乐极具声量的音乐作品,呈现歌曲真实热度趋势,榜单每日更新。",
"cover": "https://p2.music.126.net/dIKA5e7jCncz2Br1Toxgaw==/109951170621574552.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:58",
"updated_at": 1756958758114,
"created": "2025-02-26 14:01:33",
"created_at": 1740549693794,
"link": "https://music.163.com/#/discover/toplist?id=13372522766"
},
{
"id": 12911403728,
"name": "音乐合伙人推荐榜",
"description": "音乐合伙人近一个月内推荐过的歌曲官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p2.music.126.net/s6ITpmGjKbyDpi7DPkqd2w==/109951170187827373.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 12:06:04",
"updated_at": 1756699564013,
"created": "2024-11-25 15:14:30",
"created_at": 1732518870190,
"link": "https://music.163.com/#/discover/toplist?id=12911403728"
},
{
"id": 12911589513,
"name": "音乐合伙人热歌榜",
"description": "音乐合伙人近一周评定过的高分热歌官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p2.music.126.net/RgYxQmB-ZUjkMRo2N1jWnQ==/109951170187823494.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 12:06:01",
"updated_at": 1756699561725,
"created": "2024-11-25 15:13:46",
"created_at": 1732518826543,
"link": "https://music.163.com/#/discover/toplist?id=12911589513"
},
{
"id": 12911619970,
"name": "音乐合伙人留名榜",
"description": "音乐合伙人近一个月内留名过的所有歌曲官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p2.music.126.net/aJJzGIxhkVaD7dX0XBNUnw==/109951170187831145.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 12:05:49",
"updated_at": 1756699549550,
"created": "2024-11-25 15:12:50",
"created_at": 1732518770868,
"link": "https://music.163.com/#/discover/toplist?id=12911619970"
},
{
"id": 12911379734,
"name": "音乐合伙人高分新歌榜",
"description": "音乐合伙人近期评定过的所有新歌一个月内最新发行官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p2.music.126.net/bfk15bvanhdPFU7yjPFgWA==/109951170187832038.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 12:05:54",
"updated_at": 1756699554077,
"created": "2024-11-25 15:11:53",
"created_at": 1732518713161,
"link": "https://music.163.com/#/discover/toplist?id=12911379734"
},
{
"id": 12768855486,
"name": "音乐合伙人高分榜",
"description": "音乐合伙人的高分歌曲官方榜单收录近半年来获得音乐合伙人高分推荐的TOP100首歌曲每日更新。跟随音乐合伙人的步伐一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p2.music.126.net/fPP5T0Z8Ac15qNvRTcHa6g==/109951170074028970.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:49",
"updated_at": 1756958749724,
"created": "2024-10-25 11:51:10",
"created_at": 1729828270342,
"link": "https://music.163.com/#/discover/toplist?id=12768855486"
},
{
"id": 5453912201,
"name": "黑胶VIP爱听榜",
"description": "云音乐站内会员播放热度TOP100的歌曲每周四更新。\n黑胶们都爱听什么歌曲\n热门好歌一站式收听让你念念不忘~\n做尊贵黑胶畅听品味好歌~",
"cover": "https://p2.music.126.net/qo6-o9n5AhMjNyejev38-A==/109951169743111905.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 18:05:01",
"updated_at": 1756980301317,
"created": "2021-01-08 14:30:24",
"created_at": 1610087424470,
"link": "https://music.163.com/#/discover/toplist?id=5453912201"
},
{
"id": 71385702,
"name": "网易云ACG榜",
"description": "网易云用户一周内收听所有ACG音乐官方TOP排行榜每周四更新。",
"cover": "https://p2.music.126.net/na1kEeCS1iZEkzOrs9r_9g==/109951167976973667.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 10:19:13",
"updated_at": 1756952353409,
"created": "2015-05-07 11:22:15",
"created_at": 1430968935040,
"link": "https://music.163.com/#/discover/toplist?id=71385702"
},
{
"id": 745956260,
"name": "网易云韩语榜",
"description": "网易云用户一周内收听所有韩语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p2.music.126.net/5oN9YaFznwNGXkmi8i2Ytw==/109951167430864741.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 10:30:40",
"updated_at": 1756953040555,
"created": "2017-05-31 11:34:51",
"created_at": 1496201691281,
"link": "https://music.163.com/#/discover/toplist?id=745956260"
},
{
"id": 180106,
"name": "UK排行榜周榜",
"description": "UK排行榜",
"cover": "https://p2.music.126.net/fhAqiflLy3eU-ldmBQByrg==/109951165613082765.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-01 10:26:53",
"updated_at": 1756693613998,
"created": "2013-02-19 10:09:26",
"created_at": 1361239766844,
"link": "https://music.163.com/#/discover/toplist?id=180106"
},
{
"id": 60198,
"name": "美国Billboard榜",
"description": "美国Billboard排行榜",
"cover": "https://p2.music.126.net/rwRsVIJHQ68gglhA6TNEYA==/109951165611413732.jpg",
"update_frequency": "每周三更新",
"updated": "2025-09-03 10:40:27",
"updated_at": 1756867227129,
"created": "2013-01-22 10:51:16",
"created_at": 1358823076818,
"link": "https://music.163.com/#/discover/toplist?id=60198"
},
{
"id": 3812895,
"name": "Beatport全球电子舞曲榜",
"description": "Beatport全球电子舞曲排行榜TOP100本榜每周三更新",
"cover": "https://p2.music.126.net/oT-RHuPBJiD7WMoU7WG5Rw==/109951166093489621.jpg",
"update_frequency": "每周三更新",
"updated": "2025-09-03 10:51:47",
"updated_at": 1756867907849,
"created": "2013-09-11 16:03:09",
"created_at": 1378886589466,
"link": "https://music.163.com/#/discover/toplist?id=3812895"
},
{
"id": 21845217,
"name": "KTV唛榜",
"description": "KTV唛榜是目前国内首个以全国超过200家KTV点歌平台真实数据的当红歌曲榜单。所涉及的KTV店铺覆盖全国近100多个城市囊括一、二、三线各级城市及地区。在综合全国各地KTV点唱数据的前提下进行汇总与统计。为了保证信息的及时性唛榜每周五更新。提供给K迷们最新和最准确的数据。",
"cover": "https://p2.music.126.net/5wDP78s43ydVTKt62C8OjQ==/109951165613100063.jpg",
"update_frequency": "每周五更新",
"updated": "2021-11-26 17:56:43",
"updated_at": 1637920603975,
"created": "2014-07-18 11:11:33",
"created_at": 1405653093230,
"link": "https://music.163.com/#/discover/toplist?id=21845217"
},
{
"id": 60131,
"name": "日本Oricon榜",
"description": "日本Oricon数字单曲周榜每周三更新欢迎关注。",
"cover": "https://p2.music.126.net/aXUPgImt8hhf4cMUZEjP4g==/109951165611417794.jpg",
"update_frequency": "每天更新",
"updated": "2025-08-29 10:20:10",
"updated_at": 1756434010126,
"created": "2013-01-08 16:51:24",
"created_at": 1357635084874,
"link": "https://music.163.com/#/discover/toplist?id=60131"
},
{
"id": 2809513713,
"name": "网易云欧美热歌榜",
"description": "网易云用户一周内收听所有欧美歌曲官方TOP排行榜每周四更新。\nWestern Hit Chart (updated every Thursday)",
"cover": "https://p2.music.126.net/70_EO_Dc7NT_hhfvsapzcQ==/109951167430862162.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 09:44:52",
"updated_at": 1756950292193,
"created": "2019-05-22 10:49:33",
"created_at": 1558493373769,
"link": "https://music.163.com/#/discover/toplist?id=2809513713"
},
{
"id": 2809577409,
"name": "网易云欧美新歌榜",
"description": "网易云用户一周内收听所有欧美新歌一月内最新发行官方TOP排行榜每天更新。\nWestern New Release Chart (new songs released in last 30 days, updated daily)\n",
"cover": "https://p2.music.126.net/0lPWpI9Ejn1OiW2LSbg-qw==/109951167430863224.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 09:44:27",
"updated_at": 1756950267625,
"created": "2019-05-22 10:46:54",
"created_at": 1558493214795,
"link": "https://music.163.com/#/discover/toplist?id=2809577409"
},
{
"id": 27135204,
"name": "法国 NRJ Vos Hits 周榜",
"description": "法国NRJ电台national Radio de Jeunes成立于1981年总部位于法国巴黎。是法国最受欢迎的音乐电台和听众最多的广播电台之一。NRJ音乐奖素有法国的“格莱美”之称。此榜单针对NRJ电台法国本土热门歌曲排行。【每周五更新】",
"cover": "https://p2.music.126.net/-fyzrPWd06FfWl_0JDAxMQ==/109951165613108584.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 10:20:26",
"updated_at": 1756434026143,
"created": "2014-09-04 18:03:33",
"created_at": 1409825013948,
"link": "https://music.163.com/#/discover/toplist?id=27135204"
},
{
"id": 3001835560,
"name": "网易云ACG动画榜",
"description": "网易云中每天热度上升最快的100首ACG动画单曲每日更新。",
"cover": "https://p2.music.126.net/SkGlKQ6acixthb77VlD9eQ==/109951164432300406.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:09",
"updated_at": 1756958709531,
"created": "2019-09-27 10:03:58",
"created_at": 1569549838610,
"link": "https://music.163.com/#/discover/toplist?id=3001835560"
},
{
"id": 3001795926,
"name": "网易云ACG游戏榜",
"description": "网易云中每天热度上升最快的100首ACG游戏单曲每日更新。",
"cover": "https://p2.music.126.net/hivOOHMwEmnn9s_6rgZwEQ==/109951164432303700.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:17",
"updated_at": 1756958717981,
"created": "2019-09-27 10:04:56",
"created_at": 1569549896656,
"link": "https://music.163.com/#/discover/toplist?id=3001795926"
},
{
"id": 3001890046,
"name": "网易云ACG VOCALOID榜",
"description": "",
"cover": "https://p2.music.126.net/Ag7RyRCYiINcd9EtRXf6xA==/109951164432303690.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:25",
"updated_at": 1756958725790,
"created": "2019-09-27 10:05:25",
"created_at": 1569549925472,
"link": "https://music.163.com/#/discover/toplist?id=3001890046"
},
{
"id": 5059644681,
"name": "网易云日语榜",
"description": "网易云用户一周内收听所有日语歌曲官方TOP排行榜每周二更新。",
"cover": "https://p2.music.126.net/YFBFNI2F-4BveUpv6FKFuw==/109951167430864069.jpg",
"update_frequency": "每周二更新",
"updated": "2025-09-02 10:57:27",
"updated_at": 1756781847266,
"created": "2020-06-11 16:10:00",
"created_at": 1591863000459,
"link": "https://music.163.com/#/discover/toplist?id=5059644681"
},
{
"id": 5059633707,
"name": "网易云摇滚榜",
"description": "网易云用户一周内收听所有摇滚歌曲官方TOP排行榜每周五更新。",
"cover": "https://p2.music.126.net/LjkX2hktgFD1NXc3W6w0sA==/109951170048522513.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 17:02:04",
"updated_at": 1756458124397,
"created": "2020-06-11 16:13:33",
"created_at": 1591863213389,
"link": "https://music.163.com/#/discover/toplist?id=5059633707"
},
{
"id": 5059642708,
"name": "网易云国风榜",
"description": "网易云用户一周内收听所有国风歌曲官方TOP排行榜每周五更新。",
"cover": "https://p2.music.126.net/kTJC5OBhg8I477X_ZmXyDQ==/109951168539740982.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 09:58:05",
"updated_at": 1756432685431,
"created": "2020-06-11 16:14:18",
"created_at": 1591863258438,
"link": "https://music.163.com/#/discover/toplist?id=5059642708"
},
{
"id": 5338990334,
"name": "潜力爆款榜",
"description": "全民一起PICK潜力好歌每周二更新",
"cover": "https://p2.music.126.net/Mi4QPklg1mtbWAfq74tEqQ==/109951165498334721.jpg",
"update_frequency": "每周二更新",
"updated": "2025-09-02 12:05:33",
"updated_at": 1756785933871,
"created": "2020-11-17 14:24:34",
"created_at": 1605594274077,
"link": "https://music.163.com/#/discover/toplist?id=5338990334"
},
{
"id": 5059661515,
"name": "网易云民谣榜",
"description": "网易云用户一周内收听所有民谣歌曲官方TOP排行榜每周五更新。",
"cover": "https://p2.music.126.net/Xe9qLTAqtBAWX_hPgFHMyw==/109951170048510929.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 17:00:41",
"updated_at": 1756458041706,
"created": "2020-06-11 16:10:52",
"created_at": 1591863052757,
"link": "https://music.163.com/#/discover/toplist?id=5059661515"
},
{
"id": 6688069460,
"name": "听歌识曲榜",
"description": "网易云音乐站内歌曲按用户“听歌识曲”次数排列,每周四更新",
"cover": "https://p2.music.126.net/wJVUAiUuykKk7yGbQxDBug==/109951167430857712.jpg",
"update_frequency": "更新24首",
"updated": "2025-09-04 23:35:03",
"updated_at": 1757000103145,
"created": "2021-03-31 16:45:54",
"created_at": 1617180354803,
"link": "https://music.163.com/#/discover/toplist?id=6688069460"
},
{
"id": 6723173524,
"name": "网络热歌榜",
"description": "网罗一周热门网络歌曲,反映云音乐用户近一周网络热歌收听趋势。每周五更新。",
"cover": "https://p2.music.126.net/_kSxOPqQ5J5etC5DKTFwNA==/109951170048519530.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 11:03:41",
"updated_at": 1756436621202,
"created": "2021-04-22 10:41:46",
"created_at": 1619059306654,
"link": "https://music.163.com/#/discover/toplist?id=6723173524"
},
{
"id": 6732051320,
"name": "俄语榜",
"description": "网易云音乐用户一周内收听所有俄罗斯语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p2.music.126.net/HbJ0BK5doY4I4pEMY6-FQw==/109951167430852698.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 10:21:42",
"updated_at": 1756952502045,
"created": "2021-04-28 12:05:12",
"created_at": 1619582712108,
"link": "https://music.163.com/#/discover/toplist?id=6732051320"
},
{
"id": 6732014811,
"name": "越南语榜",
"description": "网易云音乐用户一周内收听所有越南语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p2.music.126.net/N-Y5maLGWgrowt3TE6RtSg==/109951167430857045.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 10:28:52",
"updated_at": 1756952932171,
"created": "2021-04-28 12:05:49",
"created_at": 1619582749349,
"link": "https://music.163.com/#/discover/toplist?id=6732014811"
},
{
"id": 6886768100,
"name": "中文慢摇DJ榜",
"description": "搜索“DJ”进入慢摇DJ专区探索更多网络热歌",
"cover": "https://p2.music.126.net/w_01BfDU012ojxnzLO6tYw==/109951167977358686.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:00:00",
"updated_at": 1756958400638,
"created": "2021-07-28 18:09:59",
"created_at": 1627466999260,
"link": "https://music.163.com/#/discover/toplist?id=6886768100"
},
{
"id": 6939992364,
"name": "俄罗斯top hit流行音乐榜",
"description": "top hit榜根据俄罗斯及全球400多个无线广播的音乐播放量和YouTube播放量计算得来每周一更新。",
"cover": "https://p2.music.126.net/KLVO8PxVZzOoLdWQQNyprA==/109951166327316568.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 17:03:04",
"updated_at": 1756458184216,
"created": "2021-08-27 11:30:02",
"created_at": 1630035002268,
"link": "https://music.163.com/#/discover/toplist?id=6939992364"
},
{
"id": 7095271308,
"name": "泰语榜",
"description": "网易云音乐用户一周内收听所有泰语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p2.music.126.net/4W0WBHBgwYlYfRniuyL47A==/109951167430843284.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 10:41:26",
"updated_at": 1756953686280,
"created": "2021-11-29 14:22:17",
"created_at": 1638166937809,
"link": "https://music.163.com/#/discover/toplist?id=7095271308"
},
{
"id": 7356827205,
"name": "BEAT排行榜",
"description": "嘿~朋友欢迎来到本周的Beat排行榜\n我们挑选了近一周内热门的Beat作品一起来感受下大家近期的“口味”吧\n每周都会更新哦记得按下收藏我每天都会在这里等你来与我交流~\n\n关于Beat的必备小知识\nQ1.什么是Beat\nBeat即节拍特指嘻哈音乐中的伴奏现在也可指所有流行音乐的伴奏\nQ2.Beat有什么用\n在Beat的帮助下你只需要填词演唱即可完成一首歌曲的创作而且Beat也可以作为各种流媒体的背景音乐或是多场景现场演出的得力助手不同风格的Beat还能为你的音乐创作提供灵感哦~\n搜索关注“BEATSOUL激灵”网易云官号探索更多炸裂音乐内容",
"cover": "https://p2.music.126.net/yhzlQJCJ9NcT4MvJBG_HgQ==/109951167977014958.jpg",
"update_frequency": "每周四更新",
"updated": "2025-09-04 20:05:00",
"updated_at": 1756987500926,
"created": "2022-03-29 19:39:58",
"created_at": 1648553998273,
"link": "https://music.163.com/#/discover/toplist?id=7356827205"
},
{
"id": 7325478166,
"name": "星云榜VOL.29 Addison Rae新专来袭寻找最真实的自己",
"description": "精心评审,专业推荐。每周五更新,为你呈现宝藏新歌。\n1、《Aquamarinee》歌手Addison Rae\n2、《羽毛剑》歌手秦凡淇\n3、《Take me back》歌手HAIM\n4、《妈妈的眼睛》歌手张震岳\n5、《25岁永不停下》歌手张醒婵\n6、《雨季症候》歌手SHARK卫彬月\n7、《山东王FREESTYLE》歌手华云龙KLE\n8、《LOVE I NEED》歌手陈瑜Estelle\n9、《FFFFF》歌手刘柏辛Lexie\n10、《Vipaśyanā》歌手Namunong\n本期封面Addison RaeAquamarine",
"cover": "https://p2.music.126.net/u440jFG0N5i06C9ejOeMCQ==/109951171381091309.jpg",
"update_frequency": "每周五更新",
"updated": "2025-06-30 16:17:26",
"updated_at": 1751271446032,
"created": "2022-03-09 11:24:46",
"created_at": 1646796286440,
"link": "https://music.163.com/#/discover/toplist?id=7325478166"
},
{
"id": 7603212484,
"name": "LOOK直播歌曲榜",
"description": "LOOK直播好歌共赏专属你的声音聊愈场。榜单选取符合条件且近7日热度最高的前50首歌曲每周二更新。",
"cover": "https://p1.music.126.net/u-RQC-LyY0aoeseRumJ14A==/109951167977730469.jpg",
"update_frequency": "每周二更新",
"updated": "2024-05-07 21:23:03",
"updated_at": 1715088183913,
"created": "2022-08-23 09:54:56",
"created_at": 1661219696017,
"link": "https://music.163.com/#/discover/toplist?id=7603212484"
},
{
"id": 7775163417,
"name": "赏音榜",
"description": "云音乐歌曲赏音榜以让用户鉴赏到更多潜力好歌为目的以用户对歌曲互动热度为核心按照综合数据排名取前100名每日更新",
"cover": "https://p1.music.126.net/m9hQzC-d5wefBipedNPaHg==/109951168178601971.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:36",
"updated_at": 1756958736108,
"created": "2022-11-28 14:46:19",
"created_at": 1669617979380,
"link": "https://music.163.com/#/discover/toplist?id=7775163417"
},
{
"id": 7785123708,
"name": "黑胶VIP新歌榜",
"description": "云音乐站内播放热度TOP50的7日内新晋会员歌曲每日更新。\n更适合黑胶体质的新歌榜单来啦\n耳机分你一只新曲一起来听~\n成为尊贵黑胶不错过每一首VIP新歌",
"cover": "https://p1.music.126.net/vjitpkT9nXBCth6tvdDMWg==/109951169743115266.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:37",
"updated_at": 1756958737548,
"created": "2022-12-02 18:51:16",
"created_at": 1669978276103,
"link": "https://music.163.com/#/discover/toplist?id=7785123708"
},
{
"id": 7785066739,
"name": "黑胶VIP热歌榜",
"description": "云音乐站内播放和付费热度TOP50的会员歌曲每日更新。\n更适合黑胶体质的热歌榜单来啦\n哪首是你的单曲循环\n成为尊贵黑胶随心畅听热门好歌",
"cover": "https://p1.music.126.net/Ay3mLgQ9weG_c8JjYrD-Bw==/109951169743106495.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:36",
"updated_at": 1756958736684,
"created": "2022-12-02 18:51:31",
"created_at": 1669978291024,
"link": "https://music.163.com/#/discover/toplist?id=7785066739"
},
{
"id": 7785091694,
"name": "黑胶VIP爱搜榜",
"description": "云音乐站内会员搜索播放热度TOP50的歌曲每日更新。\n更适合黑胶体质的搜歌榜单来啦\n热搜好歌一网打尽只为有品位的你~\n成为尊贵黑胶你搜我听畅听不停",
"cover": "https://p1.music.126.net/R7DtZqNraesnsiaIKvzTHA==/109951169743112799.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:41",
"updated_at": 1756958741914,
"created": "2022-12-02 18:51:43",
"created_at": 1669978303210,
"link": "https://music.163.com/#/discover/toplist?id=7785091694"
},
{
"id": 8246775932,
"name": "实时热度榜",
"description": "每天9-23点为你精选当下歌曲热度最高的歌曲",
"cover": "https://p1.music.126.net/U7ZbdpWzRdmZVr6Khn_4ag==/109951168673982478.jpg",
"update_frequency": "更新65首",
"updated": "2025-09-05 09:30:07",
"updated_at": 1757035807371,
"created": "2023-03-20 10:39:59",
"created_at": 1679279999154,
"link": "https://music.163.com/#/discover/toplist?id=8246775932"
},
{
"id": 8537588450,
"name": "喜力®星电音派对潮音榜",
"description": "乐无界,越未来!《星电音联盟》歌曲官方榜单,每周一更新,让云村村民们随时随地躁起高燃派对氛围!喜力®星电音构建狂欢永不停歇的新奇电音宇宙,激活潮流基因,释放先锋灵感,跨维开启奇妙电音之旅!",
"cover": "https://p1.music.126.net/HVu2hGYvzN5XBuvFc_4Bgg==/109951168730309120.jpg",
"update_frequency": "每周五更新",
"updated": "2024-09-16 12:05:30",
"updated_at": 1726459530378,
"created": "2023-07-07 10:48:39",
"created_at": 1688698119437,
"link": "https://music.163.com/#/discover/toplist?id=8537588450"
},
{
"id": 8661209031,
"name": "乐夏榜",
"description": "听乐夏,上网易云,一头扎进爱音乐的人群! 综艺《乐队的夏天3》官方榜单每周一更新。和三星折叠屏手机一起畅听《乐队的夏天3》官方榜单折叠看三星五代更来劲。",
"cover": "https://p1.music.126.net/RlStCmE97y0xYFk7rS3Zww==/109951168864907822.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 12:05:41",
"updated_at": 1756699541864,
"created": "2023-08-16 17:47:27",
"created_at": 1692179247425,
"link": "https://music.163.com/#/discover/toplist?id=8661209031"
},
{
"id": 8703179781,
"name": "特斯拉车友爱听榜",
"description": null,
"cover": "https://p1.music.126.net/UL8dhobSa3TR6Wd1JmWe_g==/109951168924385363.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:08",
"updated_at": 1756713908385,
"created": "2023-08-31 12:29:59",
"created_at": 1693456199735,
"link": "https://music.163.com/#/discover/toplist?id=8703179781"
},
{
"id": 8703052295,
"name": "理想车友爱听榜",
"description": null,
"cover": "https://p1.music.126.net/U--PWdWupY1ER5cVSjr1jQ==/109951168928365496.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:09",
"updated_at": 1756713909830,
"created": "2023-08-31 12:38:29",
"created_at": 1693456709598,
"link": "https://music.163.com/#/discover/toplist?id=8703052295"
},
{
"id": 8702582160,
"name": "比亚迪车友爱听榜",
"description": null,
"cover": "https://p1.music.126.net/S1OG-OLTaofa3HfrHW48kA==/109951168924393585.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:07",
"updated_at": 1756713907323,
"created": "2023-08-31 12:38:42",
"created_at": 1693456722262,
"link": "https://music.163.com/#/discover/toplist?id=8702582160"
},
{
"id": 8703220480,
"name": "蔚来车友爱听榜",
"description": null,
"cover": "https://p1.music.126.net/r9kBQNsOro1EAB82Ol51WQ==/109951168924380971.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:04",
"updated_at": 1756713904286,
"created": "2023-08-31 12:38:56",
"created_at": 1693456736086,
"link": "https://music.163.com/#/discover/toplist?id=8703220480"
},
{
"id": 8702982391,
"name": "极氪车友爱听榜",
"description": null,
"cover": "https://p1.music.126.net/Cu0RXoKewSPM9Gyc7Cp8jw==/109951168924391596.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:06",
"updated_at": 1756713906978,
"created": "2023-08-31 12:39:19",
"created_at": 1693456759762,
"link": "https://music.163.com/#/discover/toplist?id=8702982391"
},
{
"id": 8532443277,
"name": "蛋仔派对听歌榜",
"description": "来自蛋仔岛的热播歌曲速递,网易《蛋仔派对》官方榜单,每周五更新。云村村民们,和蛋仔们一起随歌摇摆吧!",
"cover": "https://p1.music.126.net/TMb0be5QLMZKOFeuOKT4tg==/109951168717283910.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 12:05:43",
"updated_at": 1756440343562,
"created": "2023-07-05 10:32:04",
"created_at": 1688524324879,
"link": "https://music.163.com/#/discover/toplist?id=8532443277"
},
{
"id": 9651277674,
"name": "AI歌曲榜",
"description": "精心挑选每日最新最热AI生成歌曲榜单每日更新一起感受AI的独特魅力吧",
"cover": "https://p1.music.126.net/M0m6GeZ1Y8Osz9jqxaW8Wg==/109951169462048035.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:43",
"updated_at": 1756958743415,
"created": "2024-04-02 18:25:12",
"created_at": 1712053512213,
"link": "https://music.163.com/#/discover/toplist?id=9651277674"
},
{
"id": 10131772880,
"name": "昊铂车友爱听榜",
"description": null,
"cover": "https://p1.music.126.net/EL7H4rkKejZY7Uv54EFNXg==/109951169655010112.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:03",
"updated_at": 1756713903085,
"created": "2024-06-04 16:50:00",
"created_at": 1717491000945,
"link": "https://music.163.com/#/discover/toplist?id=10131772880"
},
{
"id": 10162841534,
"name": "埃安车友爱听榜",
"description": "埃安车友平时都在听什么??",
"cover": "https://p1.music.126.net/FcP1U6Bck0wPKqd0XgBwSQ==/109951169679731241.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:05",
"updated_at": 1756713905568,
"created": "2024-06-12 13:31:44",
"created_at": 1718170304691,
"link": "https://music.163.com/#/discover/toplist?id=10162841534"
},
{
"id": 12225155968,
"name": "欧美R&B榜",
"description": "云音乐用户一周内收听节奏布鲁斯R&B官方TOP排行榜每周五更新。",
"cover": "https://p1.music.126.net/0E6MzYzyA5uvQ4CSoIG2mw==/109951169739660034.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-29 12:05:45",
"updated_at": 1756440345198,
"created": "2024-06-25 18:14:05",
"created_at": 1719310445382,
"link": "https://music.163.com/#/discover/toplist?id=12225155968"
},
{
"id": 12344472377,
"name": "黑胶VIP限免榜",
"description": "云音乐站内热度最高的限免播放歌曲TOP50每日更新。\n人气旋律一听就会爱上现在马上进入免费模式点击云音乐首页左上角侧边栏选择“免费听歌”畅听全榜吧",
"cover": "https://p1.music.126.net/WXCSf4ZNcDCdOTY5ixm3Bg==/109951169809318325.jpg",
"update_frequency": "每天更新",
"updated": "2025-09-04 12:05:45",
"updated_at": 1756958745487,
"created": "2024-07-23 16:08:37",
"created_at": 1721722117311,
"link": "https://music.163.com/#/discover/toplist?id=12344472377"
},
{
"id": 12717025277,
"name": "吉利车友爱听榜",
"description": null,
"cover": "https://p1.music.126.net/XVmZb3JSyrwMgqu9WVz61A==/109951170037568570.jpg",
"update_frequency": "每周一更新",
"updated": "2025-09-01 16:05:01",
"updated_at": 1756713901625,
"created": "2024-10-12 13:44:04",
"created_at": 1728711844151,
"link": "https://music.163.com/#/discover/toplist?id=12717025277"
}
]
}

View File

@@ -1,306 +0,0 @@
<!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="css/style.css">
<link rel="stylesheet" href="css/background.css">
</head>
<body>
<!-- 音符装饰 -->
<div id="musicNotes"></div>
<div class="container">
<header class="header">
<h1 class="title">🎵 网易云音乐榜单列表</h1>
<p class="subtitle">发现音乐的魅力</p>
</header>
<div class="loading" id="loading">
<div class="spinner"></div>
<p>正在加载榜单数据...</p>
</div>
<div class="error" id="error" style="display: none;">
<div class="error-icon">⚠️</div>
<p class="error-message" id="errorMessage"></p>
<button class="retry-btn" id="retryBtn">重试</button>
</div>
<div class="rank-list" id="rankList" style="display: none;">
<!-- 榜单列表将在这里动态生成 -->
</div>
</div>
<footer class="footer">
<p>&copy; 2025 网易云音乐榜单列表 - 数据来源于官方API</p>
</footer>
<script>
// 创建音符装饰
function createMusicNotes() {
const musicNotes = document.getElementById('musicNotes');
const noteSymbols = ['♪', '♫', '♬', '♩', '♭', '♮', '♯'];
const containerWidth = window.innerWidth;
const containerHeight = window.innerHeight;
// 创建20个音符
for (let i = 0; i < 20; i++) {
const note = document.createElement('div');
note.className = 'music-note';
note.textContent = noteSymbols[Math.floor(Math.random() * noteSymbols.length)];
// 随机位置
const left = Math.random() * containerWidth;
const top = Math.random() * containerHeight;
// 随机动画延迟
const delay = Math.random() * 15;
const duration = 10 + Math.random() * 20;
note.style.left = `${left}px`;
note.style.top = `${top}px`;
note.style.animationDelay = `${delay}s`;
note.style.animationDuration = `${duration}s`;
musicNotes.appendChild(note);
}
}
// 页面加载完成后创建音符
document.addEventListener('DOMContentLoaded', () => {
createMusicNotes();
});
// API接口列表
const API_ENDPOINTS = [
"https://60s.viki.moe",
"https://60s-cf.viki.moe",
"https://60s.b23.run",
"https://60s.114128.xyz",
"https://60s-cf.114128.xyz",
"https://60s.api.shumengya.top",
"https://api.03c3.cn/api/zb",
"https://api.vvhan.com/api/60s",
// 添加本地测试数据
"../返回接口.json"
];
// 当前使用的API索引
let currentApiIndex = 0;
// DOM元素
const loadingElement = document.getElementById('loading');
const errorElement = document.getElementById('error');
const errorMessageElement = document.getElementById('errorMessage');
const retryBtnElement = document.getElementById('retryBtn');
const rankListElement = document.getElementById('rankList');
// 初始化
document.addEventListener('DOMContentLoaded', () => {
loadRankList();
retryBtnElement.addEventListener('click', loadRankList);
});
// 显示加载状态
function showLoading() {
loadingElement.style.display = 'flex';
errorElement.style.display = 'none';
rankListElement.style.display = 'none';
}
// 显示错误状态
function showError(message) {
loadingElement.style.display = 'none';
errorElement.style.display = 'flex';
errorMessageElement.textContent = message;
rankListElement.style.display = 'none';
}
// 显示榜单列表
function showRankList() {
loadingElement.style.display = 'none';
errorElement.style.display = 'none';
rankListElement.style.display = 'block';
}
// 加载榜单列表
async function loadRankList() {
showLoading();
try {
const data = await fetchRankList();
displayRankList(data);
showRankList();
} catch (error) {
console.error('加载榜单列表失败:', error);
showError(error.message || '加载榜单列表失败,请重试');
}
}
// 获取榜单列表数据
async function fetchRankList() {
let lastError = null;
let attemptedApis = 0;
// 尝试所有API接口
while (attemptedApis < API_ENDPOINTS.length) {
try {
const apiUrl = API_ENDPOINTS[currentApiIndex];
let url = `${apiUrl}/v2/ncm-rank-list`;
// 处理本地JSON文件
if (apiUrl.includes('返回接口.json')) {
url = apiUrl;
console.log('使用本地测试数据:', url);
}
// 针对不同API接口格式进行适配
else if (apiUrl.includes('03c3.cn') || apiUrl.includes('vvhan.com')) {
// 这些API可能有不同的路径格式需要特殊处理
if (apiUrl.includes('03c3.cn')) {
url = `${apiUrl}/ncm/toplist`;
} else if (apiUrl.includes('vvhan.com')) {
url = `${apiUrl}/music/netease/toplist`;
}
}
console.log(`尝试API ${currentApiIndex + 1}/${API_ENDPOINTS.length}:`, url);
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), 8000); // 缩短超时时间
const response = await fetch(url, {
signal: controller.signal,
headers: {
'Accept': 'application/json',
},
// 添加缓存控制
cache: 'no-cache',
// 添加模式
mode: apiUrl.includes('返回接口.json') ? 'same-origin' : 'cors'
});
clearTimeout(timeoutId);
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const data = await response.json();
// 不同API可能有不同的成功状态码
if (data.code !== undefined && data.code !== 200 && data.code !== 0) {
throw new Error(data.message || data.msg || '获取数据失败');
}
console.log('API调用成功:', data);
return data;
} catch (error) {
console.warn(`API ${currentApiIndex + 1} 失败:`, error.message);
lastError = error;
currentApiIndex = (currentApiIndex + 1) % API_ENDPOINTS.length;
attemptedApis++;
if (error.name === 'AbortError') {
lastError = new Error('请求超时,请重试');
}
// 添加短暂延迟避免过快请求下一个API
await new Promise(resolve => setTimeout(resolve, 300));
}
}
throw lastError || new Error('所有API接口都无法访问请稍后再试');
}
// 显示榜单列表
function displayRankList(data) {
// 适配不同API返回的数据格式
let ranks = [];
// 标准格式data.data 是数组
if (data.data && Array.isArray(data.data)) {
ranks = data.data;
}
// 03c3.cn API格式data.result 是数组
else if (data.result && Array.isArray(data.result)) {
ranks = data.result;
}
// vvhan.com API格式data.list 是数组
else if (data.list && Array.isArray(data.list)) {
ranks = data.list;
}
// 其他可能的格式
else if (Array.isArray(data)) {
ranks = data;
}
else {
// 尝试查找数据中的任何数组
for (const key in data) {
if (Array.isArray(data[key]) && data[key].length > 0) {
ranks = data[key];
break;
}
}
}
if (ranks.length === 0) {
showError('没有找到榜单数据');
return;
}
rankListElement.innerHTML = '';
ranks.forEach(rank => {
// 适配不同API的字段名
const id = rank.id || rank.listId || rank.list_id || '';
const name = rank.name || rank.listName || rank.list_name || '未知榜单';
const cover = rank.cover || rank.coverImgUrl || rank.picUrl || rank.pic || 'https://p2.music.126.net/DrRIg6CrgDfVLEph9SNh7w==/18696095720518497.jpg';
const description = rank.description || rank.desc || rank.updateFrequency || '暂无描述';
const updateFrequency = rank.update_frequency || rank.updateFrequency || '定期更新';
const updated = rank.updated || rank.updateTime || rank.update_time || '';
const rankItem = document.createElement('div');
rankItem.className = 'rank-item';
rankItem.innerHTML = `
<div class="rank-cover">
<img src="${cover}" alt="${name}" onerror="this.src='https://p2.music.126.net/DrRIg6CrgDfVLEph9SNh7w==/18696095720518497.jpg'">
</div>
<div class="rank-info">
<h3 class="rank-name">${name}</h3>
<p class="rank-description">${description}</p>
<div class="rank-meta">
<span class="update-frequency">${updateFrequency}</span>
<span class="update-time">更新: ${formatDate(updated)}</span>
</div>
</div>
<a href="../网易云榜单详情/index.html?id=${id}&name=${encodeURIComponent(name)}" class="view-btn">查看详情</a>
`;
rankListElement.appendChild(rankItem);
});
}
// 格式化日期
function formatDate(dateStr) {
if (!dateStr) return '未知';
try {
const date = new Date(dateStr);
return date.toLocaleString('zh-CN', {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit'
});
} catch (e) {
return dateStr;
}
}
</script>
</body>
</html>

View File

@@ -1,7 +0,0 @@
[
"https://60s.viki.moe",
"https://60s-cf.viki.moe",
"https://60s.b23.run",
"https://60s.114128.xyz",
"https://60s-cf.114128.xyz"
]

View File

@@ -1,750 +0,0 @@
{
"code": 200,
"message": "获取成功。数据来自官方/权威源头,以确保稳定与实时。开源地址 https://github.com/vikiboss/60s反馈群 595941841",
"data": [
{
"id": 19723756,
"name": "飙升榜",
"description": "云音乐中每天热度上升最快的100首单曲每日更新。",
"cover": "https://p1.music.126.net/rIi7Qzy2i2Y_1QD7cd0MYA==/109951170048506929.jpg",
"update_frequency": "每天更新",
"updated": "2025-08-27 01:24:43",
"updated_at": 1756257883349,
"created": "2014-06-30 07:58:56",
"created_at": 1404115136883,
"link": "https://music.163.com/#/discover/toplist?id=19723756"
},
{
"id": 3779629,
"name": "新歌榜",
"description": "云音乐新歌榜:云音乐用户一周内收听所有新歌(一月内最新发行) 官方TOP排行榜每天更新。",
"cover": "https://p1.music.126.net/5guhqPBTcIrrhLBotgaT6w==/109951170048511751.jpg",
"update_frequency": "每天更新",
"updated": "2025-08-27 00:56:52",
"updated_at": 1756256212440,
"created": "2013-09-09 10:09:58",
"created_at": 1378721398225,
"link": "https://music.163.com/#/discover/toplist?id=3779629"
},
{
"id": 2884035,
"name": "原创榜",
"description": "云音乐独立原创音乐人作品官方榜单以推荐优秀原创作品为目的。每周四网易云音乐首发。申请网易音乐人http://music.163.com/nmusician/",
"cover": "https://p1.music.126.net/BaP9nrocNTL3gGThysv4eQ==/109951170091896587.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 02:53:19",
"updated_at": 1755744799157,
"created": "2013-07-25 06:05:25",
"created_at": 1374732325894,
"link": "https://music.163.com/#/discover/toplist?id=2884035"
},
{
"id": 3778678,
"name": "热歌榜",
"description": "云音乐热歌榜云音乐用户一周内收听所有线上歌曲官方TOP排行榜每日更新。",
"cover": "https://p1.music.126.net/0SUEG8yDACfx0Bw2MYFv4Q==/109951170048519512.jpg",
"update_frequency": "每天更新",
"updated": "2025-08-27 00:57:07",
"updated_at": 1756256227510,
"created": "2013-09-09 10:10:06",
"created_at": 1378721406014,
"link": "https://music.163.com/#/discover/toplist?id=3778678"
},
{
"id": 991319590,
"name": "网易云中文说唱榜",
"description": "网易云原创说唱音乐人作品官方榜单每周五更新。以网易云用户一周播放热度为主收录2个月内发行的原创说唱作品按照综合数据排名取前50名。申请网易音乐人http://music.163.com/nmusician",
"cover": "https://p1.music.126.net/GgHbgDfGXHpE2YTchU7IvA==/109951171510498108.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 02:45:48",
"updated_at": 1755830748504,
"created": "2017-11-10 05:06:29",
"created_at": 1510290389440,
"link": "https://music.163.com/#/discover/toplist?id=991319590"
},
{
"id": 71384707,
"name": "网易云古典榜",
"description": "网易云用户一周内收听所有古典音乐官方TOP排行榜每周四更新。",
"cover": "https://p1.music.126.net/urByD_AmfBDBrs7fA9-O8A==/109951167976973225.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 02:59:09",
"updated_at": 1755745149157,
"created": "2015-05-07 03:22:00",
"created_at": 1430968920537,
"link": "https://music.163.com/#/discover/toplist?id=71384707"
},
{
"id": 1978921795,
"name": "网易云电音榜",
"description": "网易云用户一周内收听电子音乐官方TOP排行榜每周五更新。喜力星电音用先锋电音带你解锁全新维度和体验",
"cover": "https://p1.music.126.net/hXGObvXfsGtFjFvRhOYAkA==/109951170091888741.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 09:07:49",
"updated_at": 1755853669156,
"created": "2017-11-16 09:47:12",
"created_at": 1510825632233,
"link": "https://music.163.com/#/discover/toplist?id=1978921795"
},
{
"id": 14028249541,
"name": "网易云全球说唱榜",
"description": "想聆听世界的说唱节奏?全球说唱榜每周五更新,聚焦华语地区以外的优秀说唱作品。根据云音乐用户每周播放热度数据,按照综合数据排名取前 50 名。",
"cover": "https://p1.music.126.net/0hhFjP6WyIjHYDXKW5E7BA==/109951171535150782.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 01:58:14",
"updated_at": 1755827894399,
"created": "2025-07-24 06:09:26",
"created_at": 1753337366883,
"link": "https://music.163.com/#/discover/toplist?id=14028249541"
},
{
"id": 13372522766,
"name": "潮流风向榜",
"description": "精心挑选云音乐极具声量的音乐作品,呈现歌曲真实热度趋势,榜单每日更新。",
"cover": "https://p1.music.126.net/dIKA5e7jCncz2Br1Toxgaw==/109951170621574552.jpg",
"update_frequency": "更新74首",
"updated": "2025-08-27 04:05:55",
"updated_at": 1756267555368,
"created": "2025-02-26 06:01:33",
"created_at": 1740549693794,
"link": "https://music.163.com/#/discover/toplist?id=13372522766"
},
{
"id": 12911403728,
"name": "音乐合伙人推荐榜",
"description": "音乐合伙人近一个月内推荐过的歌曲官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p1.music.126.net/s6ITpmGjKbyDpi7DPkqd2w==/109951170187827373.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 04:06:02",
"updated_at": 1756094762192,
"created": "2024-11-25 07:14:30",
"created_at": 1732518870190,
"link": "https://music.163.com/#/discover/toplist?id=12911403728"
},
{
"id": 12911589513,
"name": "音乐合伙人热歌榜",
"description": "音乐合伙人近一周评定过的高分热歌官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p1.music.126.net/RgYxQmB-ZUjkMRo2N1jWnQ==/109951170187823494.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 04:05:58",
"updated_at": 1756094758751,
"created": "2024-11-25 07:13:46",
"created_at": 1732518826543,
"link": "https://music.163.com/#/discover/toplist?id=12911589513"
},
{
"id": 12911619970,
"name": "音乐合伙人留名榜",
"description": "音乐合伙人近一个月内留名过的所有歌曲官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p1.music.126.net/aJJzGIxhkVaD7dX0XBNUnw==/109951170187831145.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 04:05:45",
"updated_at": 1756094745722,
"created": "2024-11-25 07:12:50",
"created_at": 1732518770868,
"link": "https://music.163.com/#/discover/toplist?id=12911619970"
},
{
"id": 12911379734,
"name": "音乐合伙人高分新歌榜",
"description": "音乐合伙人近期评定过的所有新歌一个月内最新发行官方TOP排行榜每周一更新。 跟随音乐合伙人的步伐,一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p1.music.126.net/bfk15bvanhdPFU7yjPFgWA==/109951170187832038.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 04:05:50",
"updated_at": 1756094750117,
"created": "2024-11-25 07:11:53",
"created_at": 1732518713161,
"link": "https://music.163.com/#/discover/toplist?id=12911379734"
},
{
"id": 12768855486,
"name": "音乐合伙人高分榜",
"description": "音乐合伙人的高分歌曲官方榜单收录近半年来获得音乐合伙人高分推荐的TOP100首歌曲每日更新。跟随音乐合伙人的步伐一起发现那些隐藏的音乐瑰宝。",
"cover": "https://p1.music.126.net/fPP5T0Z8Ac15qNvRTcHa6g==/109951170074028970.jpg",
"update_frequency": "更新27首",
"updated": "2025-08-27 04:05:47",
"updated_at": 1756267547739,
"created": "2024-10-25 03:51:10",
"created_at": 1729828270342,
"link": "https://music.163.com/#/discover/toplist?id=12768855486"
},
{
"id": 5453912201,
"name": "黑胶VIP爱听榜",
"description": "云音乐站内会员播放热度TOP100的歌曲每周四更新。\n黑胶们都爱听什么歌曲\n热门好歌一站式收听让你念念不忘~\n做尊贵黑胶畅听品味好歌~",
"cover": "https://p1.music.126.net/qo6-o9n5AhMjNyejev38-A==/109951169743111905.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 10:05:01",
"updated_at": 1755770701110,
"created": "2021-01-08 06:30:24",
"created_at": 1610087424470,
"link": "https://music.163.com/#/discover/toplist?id=5453912201"
},
{
"id": 71385702,
"name": "网易云ACG榜",
"description": "网易云用户一周内收听所有ACG音乐官方TOP排行榜每周四更新。",
"cover": "https://p1.music.126.net/na1kEeCS1iZEkzOrs9r_9g==/109951167976973667.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 04:05:02",
"updated_at": 1755749102516,
"created": "2015-05-07 03:22:15",
"created_at": 1430968935040,
"link": "https://music.163.com/#/discover/toplist?id=71385702"
},
{
"id": 745956260,
"name": "网易云韩语榜",
"description": "网易云用户一周内收听所有韩语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p1.music.126.net/5oN9YaFznwNGXkmi8i2Ytw==/109951167430864741.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 04:05:01",
"updated_at": 1755749101352,
"created": "2017-05-31 03:34:51",
"created_at": 1496201691281,
"link": "https://music.163.com/#/discover/toplist?id=745956260"
},
{
"id": 180106,
"name": "UK排行榜周榜",
"description": "UK排行榜",
"cover": "https://p1.music.126.net/fhAqiflLy3eU-ldmBQByrg==/109951165613082765.jpg",
"update_frequency": "每天更新",
"updated": "2025-08-25 03:59:06",
"updated_at": 1756094346206,
"created": "2013-02-19 02:09:26",
"created_at": 1361239766844,
"link": "https://music.163.com/#/discover/toplist?id=180106"
},
{
"id": 60198,
"name": "美国Billboard榜",
"description": "美国Billboard排行榜",
"cover": "https://p1.music.126.net/rwRsVIJHQ68gglhA6TNEYA==/109951165611413732.jpg",
"update_frequency": "刚刚更新",
"updated": "2025-08-27 03:38:38",
"updated_at": 1756265918370,
"created": "2013-01-22 02:51:16",
"created_at": 1358823076818,
"link": "https://music.163.com/#/discover/toplist?id=60198"
},
{
"id": 3812895,
"name": "Beatport全球电子舞曲榜",
"description": "Beatport全球电子舞曲排行榜TOP100本榜每周三更新",
"cover": "https://p1.music.126.net/oT-RHuPBJiD7WMoU7WG5Rw==/109951166093489621.jpg",
"update_frequency": "更新20首",
"updated": "2025-08-27 02:29:37",
"updated_at": 1756261777726,
"created": "2013-09-11 08:03:09",
"created_at": 1378886589466,
"link": "https://music.163.com/#/discover/toplist?id=3812895"
},
{
"id": 21845217,
"name": "KTV唛榜",
"description": "KTV唛榜是目前国内首个以全国超过200家KTV点歌平台真实数据的当红歌曲榜单。所涉及的KTV店铺覆盖全国近100多个城市囊括一、二、三线各级城市及地区。在综合全国各地KTV点唱数据的前提下进行汇总与统计。为了保证信息的及时性唛榜每周五更新。提供给K迷们最新和最准确的数据。",
"cover": "https://p1.music.126.net/5wDP78s43ydVTKt62C8OjQ==/109951165613100063.jpg",
"update_frequency": "每周五更新",
"updated": "2021-11-26 09:56:43",
"updated_at": 1637920603975,
"created": "2014-07-18 03:11:33",
"created_at": 1405653093230,
"link": "https://music.163.com/#/discover/toplist?id=21845217"
},
{
"id": 60131,
"name": "日本Oricon榜",
"description": "日本Oricon数字单曲周榜每周三更新欢迎关注。",
"cover": "https://p1.music.126.net/aXUPgImt8hhf4cMUZEjP4g==/109951165611417794.jpg",
"update_frequency": "每天更新",
"updated": "2025-08-22 02:15:24",
"updated_at": 1755828924438,
"created": "2013-01-08 08:51:24",
"created_at": 1357635084874,
"link": "https://music.163.com/#/discover/toplist?id=60131"
},
{
"id": 2809513713,
"name": "网易云欧美热歌榜",
"description": "网易云用户一周内收听所有欧美歌曲官方TOP排行榜每周四更新。\nWestern Hit Chart (updated every Thursday)",
"cover": "https://p1.music.126.net/70_EO_Dc7NT_hhfvsapzcQ==/109951167430862162.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 15:44:14",
"updated_at": 1755791054932,
"created": "2019-05-22 02:49:33",
"created_at": 1558493373769,
"link": "https://music.163.com/#/discover/toplist?id=2809513713"
},
{
"id": 2809577409,
"name": "网易云欧美新歌榜",
"description": "网易云用户一周内收听所有欧美新歌一月内最新发行官方TOP排行榜每天更新。\nWestern New Release Chart (new songs released in last 30 days, updated daily)\n",
"cover": "https://p1.music.126.net/0lPWpI9Ejn1OiW2LSbg-qw==/109951167430863224.jpg",
"update_frequency": "更新17首",
"updated": "2025-08-27 07:16:02",
"updated_at": 1756278962152,
"created": "2019-05-22 02:46:54",
"created_at": 1558493214795,
"link": "https://music.163.com/#/discover/toplist?id=2809577409"
},
{
"id": 27135204,
"name": "法国 NRJ Vos Hits 周榜",
"description": "法国NRJ电台national Radio de Jeunes成立于1981年总部位于法国巴黎。是法国最受欢迎的音乐电台和听众最多的广播电台之一。NRJ音乐奖素有法国的“格莱美”之称。此榜单针对NRJ电台法国本土热门歌曲排行。【每周五更新】",
"cover": "https://p1.music.126.net/-fyzrPWd06FfWl_0JDAxMQ==/109951165613108584.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 02:15:42",
"updated_at": 1755828942531,
"created": "2014-09-04 10:03:33",
"created_at": 1409825013948,
"link": "https://music.163.com/#/discover/toplist?id=27135204"
},
{
"id": 3001835560,
"name": "网易云ACG动画榜",
"description": "网易云中每天热度上升最快的100首ACG动画单曲每日更新。",
"cover": "https://p1.music.126.net/SkGlKQ6acixthb77VlD9eQ==/109951164432300406.jpg",
"update_frequency": "更新84首",
"updated": "2025-08-27 04:05:09",
"updated_at": 1756267509031,
"created": "2019-09-27 02:03:58",
"created_at": 1569549838610,
"link": "https://music.163.com/#/discover/toplist?id=3001835560"
},
{
"id": 3001795926,
"name": "网易云ACG游戏榜",
"description": "网易云中每天热度上升最快的100首ACG游戏单曲每日更新。",
"cover": "https://p1.music.126.net/hivOOHMwEmnn9s_6rgZwEQ==/109951164432303700.jpg",
"update_frequency": "更新87首",
"updated": "2025-08-27 04:05:18",
"updated_at": 1756267518248,
"created": "2019-09-27 02:04:56",
"created_at": 1569549896656,
"link": "https://music.163.com/#/discover/toplist?id=3001795926"
},
{
"id": 3001890046,
"name": "网易云ACG VOCALOID榜",
"description": "",
"cover": "https://p1.music.126.net/Ag7RyRCYiINcd9EtRXf6xA==/109951164432303690.jpg",
"update_frequency": "更新87首",
"updated": "2025-08-27 04:05:27",
"updated_at": 1756267527413,
"created": "2019-09-27 02:05:25",
"created_at": 1569549925472,
"link": "https://music.163.com/#/discover/toplist?id=3001890046"
},
{
"id": 5059644681,
"name": "网易云日语榜",
"description": "网易云用户一周内收听所有日语歌曲官方TOP排行榜每周二更新。",
"cover": "https://p1.music.126.net/YFBFNI2F-4BveUpv6FKFuw==/109951167430864069.jpg",
"update_frequency": "每周二更新",
"updated": "2025-08-26 06:05:02",
"updated_at": 1756188302867,
"created": "2020-06-11 08:10:00",
"created_at": 1591863000459,
"link": "https://music.163.com/#/discover/toplist?id=5059644681"
},
{
"id": 5059633707,
"name": "网易云摇滚榜",
"description": "网易云用户一周内收听所有摇滚歌曲官方TOP排行榜每周五更新。",
"cover": "https://p1.music.126.net/LjkX2hktgFD1NXc3W6w0sA==/109951170048522513.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 09:12:43",
"updated_at": 1755853963904,
"created": "2020-06-11 08:13:33",
"created_at": 1591863213389,
"link": "https://music.163.com/#/discover/toplist?id=5059633707"
},
{
"id": 5059642708,
"name": "网易云国风榜",
"description": "网易云用户一周内收听所有国风歌曲官方TOP排行榜每周五更新。",
"cover": "https://p1.music.126.net/kTJC5OBhg8I477X_ZmXyDQ==/109951168539740982.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 03:10:57",
"updated_at": 1755832257607,
"created": "2020-06-11 08:14:18",
"created_at": 1591863258438,
"link": "https://music.163.com/#/discover/toplist?id=5059642708"
},
{
"id": 5338990334,
"name": "潜力爆款榜",
"description": "全民一起PICK潜力好歌每周二更新",
"cover": "https://p1.music.126.net/Mi4QPklg1mtbWAfq74tEqQ==/109951165498334721.jpg",
"update_frequency": "每周二更新",
"updated": "2025-08-26 04:05:32",
"updated_at": 1756181132964,
"created": "2020-11-17 06:24:34",
"created_at": 1605594274077,
"link": "https://music.163.com/#/discover/toplist?id=5338990334"
},
{
"id": 5059661515,
"name": "网易云民谣榜",
"description": "网易云用户一周内收听所有民谣歌曲官方TOP排行榜每周五更新。",
"cover": "https://p1.music.126.net/Xe9qLTAqtBAWX_hPgFHMyw==/109951170048510929.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 08:39:36",
"updated_at": 1755851976839,
"created": "2020-06-11 08:10:52",
"created_at": 1591863052757,
"link": "https://music.163.com/#/discover/toplist?id=5059661515"
},
{
"id": 6688069460,
"name": "听歌识曲榜",
"description": "网易云音乐站内歌曲按用户“听歌识曲”次数排列,每周四更新",
"cover": "https://p1.music.126.net/wJVUAiUuykKk7yGbQxDBug==/109951167430857712.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 15:35:02",
"updated_at": 1755790502462,
"created": "2021-03-31 08:45:54",
"created_at": 1617180354803,
"link": "https://music.163.com/#/discover/toplist?id=6688069460"
},
{
"id": 6723173524,
"name": "网络热歌榜",
"description": "网罗一周热门网络歌曲,反映云音乐用户近一周网络热歌收听趋势。每周五更新。",
"cover": "https://p1.music.126.net/_kSxOPqQ5J5etC5DKTFwNA==/109951170048519530.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 01:59:18",
"updated_at": 1755827958008,
"created": "2021-04-22 02:41:46",
"created_at": 1619059306654,
"link": "https://music.163.com/#/discover/toplist?id=6723173524"
},
{
"id": 6732051320,
"name": "俄语榜",
"description": "网易云音乐用户一周内收听所有俄罗斯语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p1.music.126.net/HbJ0BK5doY4I4pEMY6-FQw==/109951167430852698.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 04:05:27",
"updated_at": 1755749127585,
"created": "2021-04-28 04:05:12",
"created_at": 1619582712108,
"link": "https://music.163.com/#/discover/toplist?id=6732051320"
},
{
"id": 6732014811,
"name": "越南语榜",
"description": "网易云音乐用户一周内收听所有越南语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p1.music.126.net/N-Y5maLGWgrowt3TE6RtSg==/109951167430857045.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 04:05:28",
"updated_at": 1755749128002,
"created": "2021-04-28 04:05:49",
"created_at": 1619582749349,
"link": "https://music.163.com/#/discover/toplist?id=6732014811"
},
{
"id": 6886768100,
"name": "中文慢摇DJ榜",
"description": "搜索“DJ”进入慢摇DJ专区探索更多网络热歌",
"cover": "https://p1.music.126.net/w_01BfDU012ojxnzLO6tYw==/109951167977358686.jpg",
"update_frequency": "刚刚更新",
"updated": "2025-08-27 04:00:00",
"updated_at": 1756267200565,
"created": "2021-07-28 10:09:59",
"created_at": 1627466999260,
"link": "https://music.163.com/#/discover/toplist?id=6886768100"
},
{
"id": 6939992364,
"name": "俄罗斯top hit流行音乐榜",
"description": "top hit榜根据俄罗斯及全球400多个无线广播的音乐播放量和YouTube播放量计算得来每周一更新。",
"cover": "https://p1.music.126.net/KLVO8PxVZzOoLdWQQNyprA==/109951166327316568.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 06:10:23",
"updated_at": 1755843023964,
"created": "2021-08-27 03:30:02",
"created_at": 1630035002268,
"link": "https://music.163.com/#/discover/toplist?id=6939992364"
},
{
"id": 7095271308,
"name": "泰语榜",
"description": "网易云音乐用户一周内收听所有泰语歌曲官方TOP排行榜每周四更新。",
"cover": "https://p1.music.126.net/4W0WBHBgwYlYfRniuyL47A==/109951167430843284.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 02:26:07",
"updated_at": 1755743167588,
"created": "2021-11-29 06:22:17",
"created_at": 1638166937809,
"link": "https://music.163.com/#/discover/toplist?id=7095271308"
},
{
"id": 7356827205,
"name": "BEAT排行榜",
"description": "嘿~朋友欢迎来到本周的Beat排行榜\n我们挑选了近一周内热门的Beat作品一起来感受下大家近期的“口味”吧\n每周都会更新哦记得按下收藏我每天都会在这里等你来与我交流~\n\n关于Beat的必备小知识\nQ1.什么是Beat\nBeat即节拍特指嘻哈音乐中的伴奏现在也可指所有流行音乐的伴奏\nQ2.Beat有什么用\n在Beat的帮助下你只需要填词演唱即可完成一首歌曲的创作而且Beat也可以作为各种流媒体的背景音乐或是多场景现场演出的得力助手不同风格的Beat还能为你的音乐创作提供灵感哦~\n搜索关注“BEATSOUL激灵”网易云官号探索更多炸裂音乐内容",
"cover": "https://p1.music.126.net/yhzlQJCJ9NcT4MvJBG_HgQ==/109951167977014958.jpg",
"update_frequency": "每周四更新",
"updated": "2025-08-21 12:05:01",
"updated_at": 1755777901037,
"created": "2022-03-29 11:39:58",
"created_at": 1648553998273,
"link": "https://music.163.com/#/discover/toplist?id=7356827205"
},
{
"id": 7325478166,
"name": "星云榜VOL.29 Addison Rae新专来袭寻找最真实的自己",
"description": "精心评审,专业推荐。每周五更新,为你呈现宝藏新歌。\n1、《Aquamarinee》歌手Addison Rae\n2、《羽毛剑》歌手秦凡淇\n3、《Take me back》歌手HAIM\n4、《妈妈的眼睛》歌手张震岳\n5、《25岁永不停下》歌手张醒婵\n6、《雨季症候》歌手SHARK卫彬月\n7、《山东王FREESTYLE》歌手华云龙KLE\n8、《LOVE I NEED》歌手陈瑜Estelle\n9、《FFFFF》歌手刘柏辛Lexie\n10、《Vipaśyanā》歌手Namunong\n本期封面Addison RaeAquamarine",
"cover": "https://p2.music.126.net/u440jFG0N5i06C9ejOeMCQ==/109951171381091309.jpg",
"update_frequency": "每周五更新",
"updated": "2025-06-30 08:17:26",
"updated_at": 1751271446032,
"created": "2022-03-09 03:24:46",
"created_at": 1646796286440,
"link": "https://music.163.com/#/discover/toplist?id=7325478166"
},
{
"id": 7603212484,
"name": "LOOK直播歌曲榜",
"description": "LOOK直播好歌共赏专属你的声音聊愈场。榜单选取符合条件且近7日热度最高的前50首歌曲每周二更新。",
"cover": "https://p2.music.126.net/u-RQC-LyY0aoeseRumJ14A==/109951167977730469.jpg",
"update_frequency": "每周二更新",
"updated": "2024-05-07 13:23:03",
"updated_at": 1715088183913,
"created": "2022-08-23 01:54:56",
"created_at": 1661219696017,
"link": "https://music.163.com/#/discover/toplist?id=7603212484"
},
{
"id": 7775163417,
"name": "赏音榜",
"description": "云音乐歌曲赏音榜以让用户鉴赏到更多潜力好歌为目的以用户对歌曲互动热度为核心按照综合数据排名取前100名每日更新",
"cover": "https://p2.music.126.net/m9hQzC-d5wefBipedNPaHg==/109951168178601971.jpg",
"update_frequency": "更新92首",
"updated": "2025-08-27 04:05:36",
"updated_at": 1756267536926,
"created": "2022-11-28 06:46:19",
"created_at": 1669617979380,
"link": "https://music.163.com/#/discover/toplist?id=7775163417"
},
{
"id": 7785123708,
"name": "黑胶VIP新歌榜",
"description": "云音乐站内播放热度TOP50的7日内新晋会员歌曲每日更新。\n更适合黑胶体质的新歌榜单来啦\n耳机分你一只新曲一起来听~\n成为尊贵黑胶不错过每一首VIP新歌",
"cover": "https://p2.music.126.net/vjitpkT9nXBCth6tvdDMWg==/109951169743115266.jpg",
"update_frequency": "更新33首",
"updated": "2025-08-27 04:05:38",
"updated_at": 1756267538662,
"created": "2022-12-02 10:51:16",
"created_at": 1669978276103,
"link": "https://music.163.com/#/discover/toplist?id=7785123708"
},
{
"id": 7785066739,
"name": "黑胶VIP热歌榜",
"description": "云音乐站内播放和付费热度TOP50的会员歌曲每日更新。\n更适合黑胶体质的热歌榜单来啦\n哪首是你的单曲循环\n成为尊贵黑胶随心畅听热门好歌",
"cover": "https://p2.music.126.net/Ay3mLgQ9weG_c8JjYrD-Bw==/109951169743106495.jpg",
"update_frequency": "刚刚更新",
"updated": "2025-08-27 04:05:37",
"updated_at": 1756267537688,
"created": "2022-12-02 10:51:31",
"created_at": 1669978291024,
"link": "https://music.163.com/#/discover/toplist?id=7785066739"
},
{
"id": 7785091694,
"name": "黑胶VIP爱搜榜",
"description": "云音乐站内会员搜索播放热度TOP50的歌曲每日更新。\n更适合黑胶体质的搜歌榜单来啦\n热搜好歌一网打尽只为有品位的你~\n成为尊贵黑胶你搜我听畅听不停",
"cover": "https://p2.music.126.net/R7DtZqNraesnsiaIKvzTHA==/109951169743112799.jpg",
"update_frequency": "更新36首",
"updated": "2025-08-27 04:05:42",
"updated_at": 1756267542318,
"created": "2022-12-02 10:51:43",
"created_at": 1669978303210,
"link": "https://music.163.com/#/discover/toplist?id=7785091694"
},
{
"id": 8246775932,
"name": "实时热度榜",
"description": "每天9-23点为你精选当下歌曲热度最高的歌曲",
"cover": "https://p2.music.126.net/U7ZbdpWzRdmZVr6Khn_4ag==/109951168673982478.jpg",
"update_frequency": "刚刚更新",
"updated": "2025-08-27 13:15:01",
"updated_at": 1756300501119,
"created": "2023-03-20 02:39:59",
"created_at": 1679279999154,
"link": "https://music.163.com/#/discover/toplist?id=8246775932"
},
{
"id": 8537588450,
"name": "喜力®星电音派对潮音榜",
"description": "乐无界,越未来!《星电音联盟》歌曲官方榜单,每周一更新,让云村村民们随时随地躁起高燃派对氛围!喜力®星电音构建狂欢永不停歇的新奇电音宇宙,激活潮流基因,释放先锋灵感,跨维开启奇妙电音之旅!",
"cover": "https://p2.music.126.net/HVu2hGYvzN5XBuvFc_4Bgg==/109951168730309120.jpg",
"update_frequency": "每周五更新",
"updated": "2024-09-16 04:05:30",
"updated_at": 1726459530378,
"created": "2023-07-07 02:48:39",
"created_at": 1688698119437,
"link": "https://music.163.com/#/discover/toplist?id=8537588450"
},
{
"id": 8661209031,
"name": "乐夏榜",
"description": "听乐夏,上网易云,一头扎进爱音乐的人群! 综艺《乐队的夏天3》官方榜单每周一更新。和三星折叠屏手机一起畅听《乐队的夏天3》官方榜单折叠看三星五代更来劲。",
"cover": "https://p2.music.126.net/RlStCmE97y0xYFk7rS3Zww==/109951168864907822.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 04:05:40",
"updated_at": 1756094740529,
"created": "2023-08-16 09:47:27",
"created_at": 1692179247425,
"link": "https://music.163.com/#/discover/toplist?id=8661209031"
},
{
"id": 8703179781,
"name": "特斯拉车友爱听榜",
"description": null,
"cover": "https://p2.music.126.net/UL8dhobSa3TR6Wd1JmWe_g==/109951168924385363.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:04",
"updated_at": 1756109104224,
"created": "2023-08-31 04:29:59",
"created_at": 1693456199735,
"link": "https://music.163.com/#/discover/toplist?id=8703179781"
},
{
"id": 8703052295,
"name": "理想车友爱听榜",
"description": null,
"cover": "https://p2.music.126.net/U--PWdWupY1ER5cVSjr1jQ==/109951168928365496.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:04",
"updated_at": 1756109104985,
"created": "2023-08-31 04:38:29",
"created_at": 1693456709598,
"link": "https://music.163.com/#/discover/toplist?id=8703052295"
},
{
"id": 8702582160,
"name": "比亚迪车友爱听榜",
"description": null,
"cover": "https://p2.music.126.net/S1OG-OLTaofa3HfrHW48kA==/109951168924393585.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:03",
"updated_at": 1756109103855,
"created": "2023-08-31 04:38:42",
"created_at": 1693456722262,
"link": "https://music.163.com/#/discover/toplist?id=8702582160"
},
{
"id": 8703220480,
"name": "蔚来车友爱听榜",
"description": null,
"cover": "https://p2.music.126.net/r9kBQNsOro1EAB82Ol51WQ==/109951168924380971.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:02",
"updated_at": 1756109102267,
"created": "2023-08-31 04:38:56",
"created_at": 1693456736086,
"link": "https://music.163.com/#/discover/toplist?id=8703220480"
},
{
"id": 8702982391,
"name": "极氪车友爱听榜",
"description": null,
"cover": "https://p2.music.126.net/Cu0RXoKewSPM9Gyc7Cp8jw==/109951168924391596.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:03",
"updated_at": 1756109103634,
"created": "2023-08-31 04:39:19",
"created_at": 1693456759762,
"link": "https://music.163.com/#/discover/toplist?id=8702982391"
},
{
"id": 8532443277,
"name": "蛋仔派对听歌榜",
"description": "来自蛋仔岛的热播歌曲速递,网易《蛋仔派对》官方榜单,每周五更新。云村村民们,和蛋仔们一起随歌摇摆吧!",
"cover": "https://p2.music.126.net/TMb0be5QLMZKOFeuOKT4tg==/109951168717283910.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 04:05:44",
"updated_at": 1755835544365,
"created": "2023-07-05 02:32:04",
"created_at": 1688524324879,
"link": "https://music.163.com/#/discover/toplist?id=8532443277"
},
{
"id": 9651277674,
"name": "AI歌曲榜",
"description": "精心挑选每日最新最热AI生成歌曲榜单每日更新一起感受AI的独特魅力吧",
"cover": "https://p2.music.126.net/M0m6GeZ1Y8Osz9jqxaW8Wg==/109951169462048035.jpg",
"update_frequency": "更新12首",
"updated": "2025-08-27 04:05:43",
"updated_at": 1756267543655,
"created": "2024-04-02 10:25:12",
"created_at": 1712053512213,
"link": "https://music.163.com/#/discover/toplist?id=9651277674"
},
{
"id": 10131772880,
"name": "昊铂车友爱听榜",
"description": null,
"cover": "https://p2.music.126.net/EL7H4rkKejZY7Uv54EFNXg==/109951169655010112.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:01",
"updated_at": 1756109101438,
"created": "2024-06-04 08:50:00",
"created_at": 1717491000945,
"link": "https://music.163.com/#/discover/toplist?id=10131772880"
},
{
"id": 10162841534,
"name": "埃安车友爱听榜",
"description": "埃安车友平时都在听什么??",
"cover": "https://p2.music.126.net/FcP1U6Bck0wPKqd0XgBwSQ==/109951169679731241.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:03",
"updated_at": 1756109103115,
"created": "2024-06-12 05:31:44",
"created_at": 1718170304691,
"link": "https://music.163.com/#/discover/toplist?id=10162841534"
},
{
"id": 12225155968,
"name": "欧美R&B榜",
"description": "云音乐用户一周内收听节奏布鲁斯R&B官方TOP排行榜每周五更新。",
"cover": "https://p2.music.126.net/0E6MzYzyA5uvQ4CSoIG2mw==/109951169739660034.jpg",
"update_frequency": "每周五更新",
"updated": "2025-08-22 04:05:46",
"updated_at": 1755835546525,
"created": "2024-06-25 10:14:05",
"created_at": 1719310445382,
"link": "https://music.163.com/#/discover/toplist?id=12225155968"
},
{
"id": 12344472377,
"name": "黑胶VIP限免榜",
"description": "云音乐站内热度最高的限免播放歌曲TOP50每日更新。\n人气旋律一听就会爱上现在马上进入免费模式点击云音乐首页左上角侧边栏选择“免费听歌”畅听全榜吧",
"cover": "https://p2.music.126.net/WXCSf4ZNcDCdOTY5ixm3Bg==/109951169809318325.jpg",
"update_frequency": "更新11首",
"updated": "2025-08-27 04:05:44",
"updated_at": 1756267544856,
"created": "2024-07-23 08:08:37",
"created_at": 1721722117311,
"link": "https://music.163.com/#/discover/toplist?id=12344472377"
},
{
"id": 12717025277,
"name": "吉利车友爱听榜",
"description": null,
"cover": "https://p2.music.126.net/XVmZb3JSyrwMgqu9WVz61A==/109951170037568570.jpg",
"update_frequency": "每周一更新",
"updated": "2025-08-25 08:05:00",
"updated_at": 1756109100809,
"created": "2024-10-12 05:44:04",
"created_at": 1728711844151,
"link": "https://music.163.com/#/discover/toplist?id=12717025277"
}
]
}

View File

@@ -1,155 +0,0 @@
/* 网易云音乐特色背景样式 */
body {
background: linear-gradient(135deg, #2b2b2b 0%, #1e1e1e 50%, #2b2b2b 100%);
background-size: 400% 400%;
animation: gradientShift 15s ease infinite;
position: relative;
color: #fff;
}
/* 背景渐变动画 */
@keyframes gradientShift {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
/* 网易云红色装饰元素 */
body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:
radial-gradient(circle at 20% 80%, rgba(236, 65, 65, 0.15) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(236, 65, 65, 0.1) 0%, transparent 50%),
radial-gradient(circle at 40% 40%, rgba(236, 65, 65, 0.08) 0%, transparent 50%);
pointer-events: none;
z-index: -2;
}
/* 音符装饰效果 */
body::after {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image:
radial-gradient(2px 2px at 20px 30px, rgba(236, 65, 65, 0.4), transparent),
radial-gradient(2px 2px at 40px 70px, rgba(236, 65, 65, 0.3), transparent),
radial-gradient(1px 1px at 90px 40px, rgba(236, 65, 65, 0.4), transparent),
radial-gradient(1px 1px at 130px 80px, rgba(236, 65, 65, 0.3), transparent),
radial-gradient(2px 2px at 160px 30px, rgba(236, 65, 65, 0.4), transparent);
background-repeat: repeat;
background-size: 200px 100px;
animation: particleFloat 20s linear infinite;
pointer-events: none;
z-index: -1;
opacity: 0.6;
}
@keyframes particleFloat {
0% {
transform: translateY(0px);
}
100% {
transform: translateY(-100px);
}
}
/* 响应式背景调整 */
@media (max-width: 768px) {
body::after {
background-size: 150px 75px;
animation-duration: 25s;
}
}
@media (max-width: 480px) {
body::after {
background-size: 100px 50px;
animation-duration: 30s;
opacity: 0.4;
}
}
/* 音符装饰 */
.music-note {
position: absolute;
font-size: 24px;
color: rgba(236, 65, 65, 0.3);
animation: floatNote 15s linear infinite;
z-index: -1;
}
@keyframes floatNote {
0% {
transform: translateY(0) rotate(0deg);
opacity: 0;
}
10% {
opacity: 0.8;
}
90% {
opacity: 0.8;
}
100% {
transform: translateY(-100vh) rotate(360deg);
opacity: 0;
}
}
/* 高性能模式 - 减少动画 */
@media (prefers-reduced-motion: reduce) {
body {
animation: none;
background: linear-gradient(135deg, #2b2b2b 0%, #1e1e1e 50%, #2b2b2b 100%);
}
body::after {
animation: none;
}
.music-note {
animation: none;
display: none;
}
.title {
animation: none;
}
}
/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
body {
background: linear-gradient(135deg, #1B5E20 0%, #2E7D32 25%, #388E3C 50%, #43A047 75%, #4CAF50 100%);
}
body::before {
background-image:
radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.05) 0%, transparent 50%),
radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.03) 0%, transparent 50%),
radial-gradient(circle at 40% 40%, rgba(255, 255, 255, 0.02) 0%, transparent 50%);
}
body::after {
background-image:
radial-gradient(1px 1px at 20px 30px, rgba(255, 255, 255, 0.1), transparent),
radial-gradient(1px 1px at 40px 70px, rgba(255, 255, 255, 0.08), transparent),
radial-gradient(1px 1px at 90px 40px, rgba(255, 255, 255, 0.06), transparent),
radial-gradient(1px 1px at 130px 80px, rgba(255, 255, 255, 0.04), transparent),
radial-gradient(1px 1px at 160px 30px, rgba(255, 255, 255, 0.05), transparent);
opacity: 0.3;
}
}

View File

@@ -1,395 +0,0 @@
/* 背景样式 */
.background-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
overflow: hidden;
background-color: #f8f9fa;
}
/* 返回链接样式 */
.back-link {
display: inline-block;
margin-top: 10px;
color: #1DB954;
text-decoration: none;
font-weight: 500;
transition: color 0.3s ease;
}
.back-link:hover {
color: #1ed760;
text-decoration: underline;
}
.modern-gradient {
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: linear-gradient(
135deg,
rgba(64, 169, 255, 0.4) 0%,
rgba(120, 192, 255, 0.3) 25%,
rgba(255, 175, 64, 0.2) 50%,
rgba(255, 140, 50, 0.3) 75%,
rgba(255, 122, 69, 0.4) 100%
);
animation: gradient-flow 20s ease-in-out infinite;
border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
}
.modern-gradient::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(
circle at 30% 70%,
rgba(64, 169, 255, 0.5) 0%,
transparent 50%
), radial-gradient(
circle at 70% 30%,
rgba(255, 140, 50, 0.4) 0%,
transparent 50%
);
animation: pulse-effect 15s ease-in-out infinite alternate;
border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
}
@keyframes gradient-flow {
0%, 100% {
transform: rotate(0deg) scale(1);
opacity: 0.8;
}
25% {
transform: rotate(90deg) scale(1.1);
opacity: 0.6;
}
50% {
transform: rotate(180deg) scale(0.9);
opacity: 0.9;
}
75% {
transform: rotate(270deg) scale(1.05);
opacity: 0.7;
}
}
@keyframes pulse-effect {
0% {
transform: scale(1) rotate(0deg);
opacity: 0.5;
}
50% {
transform: scale(1.2) rotate(180deg);
opacity: 0.8;
}
100% {
transform: scale(1) rotate(360deg);
opacity: 0.6;
}
}
/* 主样式 */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
color: #333;
background-color: #f8f9fa;
position: relative;
min-height: 100vh;
overflow-x: hidden;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
position: relative;
z-index: 1;
background-color: rgba(255, 255, 255, 0.9);
border-radius: 16px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
backdrop-filter: blur(10px);
}
header {
text-align: center;
margin-bottom: 28px;
padding-bottom: 20px;
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
header h1 {
background: linear-gradient(135deg, #4096ff, #ff7a45);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
margin-bottom: 14px;
font-size: 2.4rem;
font-weight: 700;
letter-spacing: -0.5px;
}
.update-time {
color: #666;
font-size: 0.9rem;
background-color: rgba(0, 0, 0, 0.03);
padding: 8px 16px;
border-radius: 24px;
display: inline-block;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.hot-list {
list-style: none;
}
.hot-item {
padding: 20px;
margin-bottom: 16px;
border-radius: 12px;
background-color: white;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
transition: all 0.3s ease;
display: flex;
align-items: center;
border: 1px solid rgba(0, 0, 0, 0.03);
}
.hot-item:hover {
transform: translateY(-3px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
border-color: rgba(64, 169, 255, 0.3);
}
.hot-rank {
font-size: 1.2rem;
font-weight: bold;
color: #4096ff;
margin-right: 18px;
min-width: 38px;
text-align: center;
background-color: rgba(64, 169, 255, 0.1);
border-radius: 50%;
width: 38px;
height: 38px;
display: flex;
align-items: center;
justify-content: center;
}
.hot-rank.top-1 {
background: linear-gradient(135deg, #ff4d4f, #ff7a45);
color: white;
}
.hot-rank.top-2 {
background: linear-gradient(135deg, #ff7a45, #ffa940);
color: white;
}
.hot-rank.top-3 {
background: linear-gradient(135deg, #ffa940, #ffec3d);
color: white;
}
.hot-content {
flex: 1;
}
.hot-title {
font-size: 1.15rem;
margin-bottom: 8px;
color: #333;
text-decoration: none;
display: block;
line-height: 1.5;
font-weight: 500;
transition: color 0.2s ease;
}
.hot-title:hover {
color: #4096ff;
text-decoration: none;
}
.loading {
text-align: center;
padding: 40px;
color: #666;
font-size: 1.1rem;
}
footer {
text-align: center;
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid rgba(0, 0, 0, 0.06);
color: #666;
font-size: 0.9rem;
}
/* 音符装饰样式 */
.music-note {
position: fixed;
font-size: 24px;
color: rgba(236, 65, 65, 0.6);
z-index: 0;
pointer-events: none;
animation: floatNote 20s linear infinite;
text-shadow: 0 0 5px rgba(255, 255, 255, 0.7);
}
@keyframes floatNote {
0% {
transform: translateY(0) rotate(0deg);
opacity: 0.7;
}
50% {
transform: translateY(-100px) rotate(180deg);
opacity: 0.9;
}
100% {
transform: translateY(-200px) rotate(360deg);
opacity: 0;
}
}
/* 响应式设计 */
@media (max-width: 1024px) and (min-width: 768px) {
.container {
max-width: 90%;
padding: 20px;
}
header h1 {
font-size: 2.2rem;
}
.hot-item {
padding: 18px;
}
.hot-title {
font-size: 1.1rem;
}
.music-note {
font-size: 22px;
}
}
@media (max-width: 768px) {
body {
background-color: #f8f9fa;
}
.container {
max-width: 95%;
margin: 12px auto;
padding: 16px;
border-radius: 12px;
}
header {
margin-bottom: 20px;
padding-bottom: 16px;
}
header h1 {
font-size: 1.8rem;
margin-bottom: 10px;
}
.update-time {
font-size: 0.85rem;
padding: 6px 12px;
}
.hot-item {
padding: 16px;
margin-bottom: 12px;
border-radius: 10px;
flex-direction: row;
align-items: flex-start;
}
.hot-rank {
font-size: 1.1rem;
margin-right: 14px;
min-width: 32px;
width: 32px;
height: 32px;
margin-top: 2px;
}
.hot-title {
font-size: 1rem;
line-height: 1.5;
margin-bottom: 6px;
}
footer {
margin-top: 24px;
padding-top: 16px;
font-size: 0.85rem;
}
}
@media (max-width: 480px) {
.container {
margin: 8px auto;
padding: 14px;
}
header h1 {
font-size: 1.6rem;
}
.hot-item {
padding: 14px;
margin-bottom: 10px;
}
.hot-rank {
font-size: 1rem;
margin-right: 12px;
min-width: 30px;
width: 30px;
height: 30px;
}
.hot-title {
font-size: 0.95rem;
}
}
/* 减少动画以节省电池 */
@media (prefers-reduced-motion: reduce) {
.modern-gradient,
.modern-gradient::before {
animation: none;
}
.modern-gradient {
background: linear-gradient(
135deg,
rgba(64, 169, 255, 0.3) 0%,
rgba(255, 175, 64, 0.2) 50%,
rgba(255, 122, 69, 0.25) 100%
);
}
}

View File

@@ -1,110 +0,0 @@
<!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="css/style.css">
<link rel="stylesheet" href="css/loading.css">
<link rel="stylesheet" href="css/background.css">
</head>
<body>
<!-- 音符装饰 -->
<div id="musicNotes"></div>
<div class="container">
<header class="header">
<h1 class="title">🎵 网易云榜单详情</h1>
<p class="subtitle">发现音乐的魅力</p>
<a href="../网易云榜单列表/index.html" class="back-link" id="backLink">← 返回榜单列表</a>
</header>
<div class="rank-info" id="rankInfo" style="display: none;">
<div class="rank-header">
<img class="rank-cover" id="rankCover" src="" alt="榜单封面">
<div class="rank-details">
<h2 class="rank-name" id="rankName"></h2>
<p class="rank-description" id="rankDescription"></p>
<div class="rank-meta">
<span class="update-time" id="updateTime"></span>
<span class="update-frequency" id="updateFrequency"></span>
</div>
</div>
</div>
</div>
<div class="controls">
<div class="input-group">
<label for="rankId">榜单ID:</label>
<input type="text" id="rankId" placeholder="请输入榜单ID3778678">
<button id="loadBtn" class="load-btn">加载榜单</button>
</div>
</div>
<div class="loading" id="loading" style="display: none;">
<div class="spinner"></div>
<p>正在加载榜单数据...</p>
</div>
<div class="error" id="error" style="display: none;">
<div class="error-icon">⚠️</div>
<p class="error-message" id="errorMessage"></p>
<button class="retry-btn" id="retryBtn">重试</button>
</div>
<div class="song-list" id="songList" style="display: none;">
<div class="list-header">
<h3>歌曲列表</h3>
<div class="song-count" id="songCount"></div>
</div>
<div class="songs" id="songs"></div>
</div>
<div class="back-to-list">
<a href="../网易云榜单列表/index.html" class="back-btn" id="backBtnBottom">← 返回榜单列表</a>
</div>
</div>
<footer class="footer">
<p>&copy; 2025 网易云榜单详情 - 数据来源于官方API</p>
</footer>
<script>
// 创建音符装饰
function createMusicNotes() {
const musicNotes = document.getElementById('musicNotes');
const noteSymbols = ['♪', '♫', '♬', '♩', '♭', '♮', '♯'];
const containerWidth = window.innerWidth;
const containerHeight = window.innerHeight;
// 创建20个音符
for (let i = 0; i < 20; i++) {
const note = document.createElement('div');
note.className = 'music-note';
note.textContent = noteSymbols[Math.floor(Math.random() * noteSymbols.length)];
// 随机位置
const left = Math.random() * containerWidth;
const top = Math.random() * containerHeight;
// 随机动画延迟
const delay = Math.random() * 15;
const duration = 10 + Math.random() * 20;
note.style.left = `${left}px`;
note.style.top = `${top}px`;
note.style.animationDelay = `${delay}s`;
note.style.animationDuration = `${duration}s`;
musicNotes.appendChild(note);
}
}
// 页面加载完成后创建音符
document.addEventListener('DOMContentLoaded', () => {
createMusicNotes();
});
</script>
<script src="js/script.js"></script>
</body>
</html>

View File

@@ -1,507 +0,0 @@
// 网易云榜单详情 JavaScript
class NeteaseMusicRankDetail {
constructor() {
this.apiUrls = [];
this.currentApiIndex = 0;
this.rankData = null;
this.init();
}
async init() {
try {
await this.loadApiUrls();
this.bindEvents();
this.checkUrlParams();
} catch (error) {
console.error('初始化失败:', error);
this.showError('初始化失败,请刷新页面重试');
}
}
// 加载API接口列表
async loadApiUrls() {
try {
const response = await fetch('./接口集合.json');
if (!response.ok) {
throw new Error('无法加载API接口配置');
}
this.apiUrls = await response.json();
console.log('API接口加载成功:', this.apiUrls);
} catch (error) {
console.error('加载API接口失败:', error);
// 使用默认接口
this.apiUrls = [
'https://60s.viki.moe',
'https://60s-cf.viki.moe',
'https://60s.b23.run',
'https://60s.114128.xyz',
'https://60s-cf.114128.xyz',
'https://60s.api.shumengya.top',
'https://api.03c3.cn/api/zb',
'https://api.vvhan.com/api/60s'
];
}
// 确保至少有一个API接口
if (!this.apiUrls || this.apiUrls.length === 0) {
this.apiUrls = [
'https://60s.viki.moe',
'https://60s-cf.viki.moe',
'https://60s.b23.run',
'https://60s.114128.xyz',
'https://60s-cf.114128.xyz',
'https://60s.api.shumengya.top',
'https://api.03c3.cn/api/zb',
'https://api.vvhan.com/api/60s'
];
}
}
// 绑定事件
bindEvents() {
const loadBtn = document.getElementById('loadBtn');
const rankIdInput = document.getElementById('rankId');
const retryBtn = document.getElementById('retryBtn');
const backLink = document.getElementById('backLink');
const backBtnBottom = document.getElementById('backBtnBottom');
loadBtn.addEventListener('click', () => this.loadRankDetail());
retryBtn.addEventListener('click', () => this.loadRankDetail());
// 回车键加载
rankIdInput.addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
this.loadRankDetail();
}
});
// 输入验证
rankIdInput.addEventListener('input', (e) => {
const value = e.target.value.trim();
loadBtn.disabled = !value || !/^\d+$/.test(value);
});
// 处理返回链接
if (backLink) {
backLink.addEventListener('click', (e) => {
console.log('返回榜单列表');
});
}
if (backBtnBottom) {
backBtnBottom.addEventListener('click', (e) => {
console.log('返回榜单列表');
});
}
}
// 检查URL参数
checkUrlParams() {
const urlParams = new URLSearchParams(window.location.search);
const rankId = urlParams.get('id');
const rankName = urlParams.get('name');
if (rankId && /^\d+$/.test(rankId)) {
document.getElementById('rankId').value = rankId;
// 如果有榜单名称,更新页面标题
if (rankName) {
document.title = `${decodeURIComponent(rankName)} - 网易云榜单详情`;
document.querySelector('.title').textContent = `🎵 ${decodeURIComponent(rankName)}`;
document.querySelector('.subtitle').textContent = '正在加载榜单详情...';
}
this.loadRankDetail();
}
}
// 加载榜单详情
async loadRankDetail() {
const rankId = document.getElementById('rankId').value.trim();
if (!rankId) {
this.showError('请输入榜单ID');
return;
}
if (!/^\d+$/.test(rankId)) {
this.showError('榜单ID必须是数字');
return;
}
this.showLoading();
this.currentApiIndex = 0;
try {
const data = await this.fetchRankDetail(rankId);
this.rankData = data;
this.displayRankDetail(data);
this.hideLoading();
// 更新URL
const newUrl = new URL(window.location);
newUrl.searchParams.set('id', rankId);
if (data.playlist && data.playlist.name) {
newUrl.searchParams.set('name', encodeURIComponent(data.playlist.name));
document.title = `${data.playlist.name} - 网易云榜单详情`;
}
window.history.replaceState({}, '', newUrl);
} catch (error) {
console.error('加载榜单详情失败:', error);
this.hideLoading();
this.showError(error.message || '加载失败请检查榜单ID是否正确');
}
}
// 获取榜单详情数据
async fetchRankDetail(rankId) {
let lastError = null;
let attemptedApis = 0;
// 尝试所有API接口
while (attemptedApis < this.apiUrls.length) {
try {
const apiUrl = this.apiUrls[this.currentApiIndex];
let url = `${apiUrl}/v2/ncm-rank/${rankId}`;
// 处理本地JSON文件
if (apiUrl.includes('返回接口.json')) {
url = apiUrl;
console.log('使用本地测试数据:', url);
}
// 针对不同API接口格式进行适配
else if (apiUrl.includes('03c3.cn') || apiUrl.includes('vvhan.com')) {
// 这些API可能有不同的路径格式需要特殊处理
if (apiUrl.includes('03c3.cn')) {
url = `${apiUrl}/ncm/playlist?id=${rankId}`;
} else if (apiUrl.includes('vvhan.com')) {
url = `${apiUrl}/music/netease/playlist?id=${rankId}`;
}
}
console.log(`尝试API ${this.currentApiIndex + 1}/${this.apiUrls.length}:`, url);
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), 8000); // 缩短超时时间
const response = await fetch(url, {
signal: controller.signal,
headers: {
'Accept': 'application/json',
},
// 添加缓存控制
cache: 'no-cache',
// 添加模式
mode: apiUrl.includes('返回接口.json') ? 'same-origin' : 'cors'
});
clearTimeout(timeoutId);
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
const data = await response.json();
// 如果是本地测试数据,直接使用
if (apiUrl.includes('返回接口.json')) {
// 查找对应ID的榜单
if (data.data && Array.isArray(data.data)) {
const rank = data.data.find(item => item.id == rankId);
if (rank) {
// 构造一个符合详情页面期望的数据结构
return {
code: 200,
playlist: rank,
data: [] // 模拟空歌曲列表
};
}
}
}
// 不同API可能有不同的成功状态码
if (data.code !== undefined && data.code !== 200 && data.code !== 0) {
throw new Error(data.message || data.msg || '获取数据失败');
}
console.log('API调用成功:', data);
return data;
} catch (error) {
console.warn(`API ${this.currentApiIndex + 1} 失败:`, error.message);
lastError = error;
this.currentApiIndex = (this.currentApiIndex + 1) % this.apiUrls.length;
attemptedApis++;
if (error.name === 'AbortError') {
lastError = new Error('请求超时,请重试');
}
// 添加短暂延迟避免过快请求下一个API
await new Promise(resolve => setTimeout(resolve, 300));
}
}
throw lastError || new Error('所有API接口都无法访问请稍后再试');
}
// 显示榜单详情
displayRankDetail(data) {
this.rankData = data;
// 适配不同API返回的数据格式
let songs = [];
let rankInfo = null;
// 标准格式data.data 是数组
if (data.data && Array.isArray(data.data)) {
songs = data.data;
rankInfo = data.playlist || {};
}
// 03c3.cn API格式data.result 或 data.playlist
else if (data.result) {
if (data.result.tracks && Array.isArray(data.result.tracks)) {
songs = data.result.tracks;
rankInfo = data.result;
} else if (Array.isArray(data.result)) {
songs = data.result;
}
}
// vvhan.com API格式data.playlist 和 data.playlist.tracks
else if (data.playlist && data.playlist.tracks) {
songs = data.playlist.tracks;
rankInfo = data.playlist;
}
// 其他可能的格式
else {
// 尝试查找数据中的任何数组
for (const key in data) {
if (Array.isArray(data[key]) && data[key].length > 0) {
songs = data[key];
break;
} else if (data[key] && data[key].tracks && Array.isArray(data[key].tracks)) {
songs = data[key].tracks;
rankInfo = data[key];
break;
}
}
}
if (songs.length === 0) {
throw new Error('未找到歌曲数据或数据格式不兼容');
}
// 显示榜单信息(如果有的话)
this.displayRankInfo(songs[0], rankInfo);
// 显示歌曲列表
this.displaySongList(songs);
// 显示相关区域
document.getElementById('songList').style.display = 'block';
document.getElementById('error').style.display = 'none';
}
// 显示榜单信息
displayRankInfo(firstSong, rankInfoData) {
const rankInfoElement = document.getElementById('rankInfo');
// 获取URL参数中的榜单名称
const urlParams = new URLSearchParams(window.location.search);
const rankNameFromUrl = urlParams.get('name');
// 尝试从多个来源获取榜单名称
let rankName = rankNameFromUrl || '';
if (!rankName) {
if (rankInfoData && rankInfoData.name) {
rankName = rankInfoData.name;
} else if (firstSong) {
rankName = firstSong.rank_name || firstSong.rankName || firstSong.playlist_name || '';
}
}
if (rankName) {
document.getElementById('rankName').textContent = rankName;
document.getElementById('rankDescription').textContent = `${rankName} - 网易云音乐官方榜单`;
document.title = `${rankName} - 网易云音乐榜单详情`;
// 尝试获取榜单封面
let coverUrl = '';
if (rankInfoData && rankInfoData.coverImgUrl) {
coverUrl = rankInfoData.coverImgUrl;
} else if (rankInfoData && rankInfoData.picUrl) {
coverUrl = rankInfoData.picUrl;
} else if (firstSong && firstSong.album && firstSong.album.cover) {
coverUrl = firstSong.album.cover;
} else if (firstSong && firstSong.album && firstSong.album.picUrl) {
coverUrl = firstSong.album.picUrl;
} else if (firstSong && firstSong.al && firstSong.al.picUrl) {
coverUrl = firstSong.al.picUrl;
}
if (coverUrl) {
document.getElementById('rankCover').src = coverUrl;
document.getElementById('rankCover').alt = rankName;
}
// 尝试获取更新时间
let updateTime = '';
if (rankInfoData && rankInfoData.updateTime) {
updateTime = this.formatDate(new Date(rankInfoData.updateTime));
} else if (rankInfoData && rankInfoData.updateFrequency) {
updateTime = rankInfoData.updateFrequency;
} else {
updateTime = this.formatDate(new Date());
}
document.getElementById('updateTime').textContent = `更新时间: ${updateTime}`;
document.getElementById('updateFrequency').textContent = rankInfoData?.updateFrequency || '定期更新';
rankInfoElement.style.display = 'block';
} else {
rankInfoElement.style.display = 'none';
}
}
// 显示歌曲列表
displaySongList(songs) {
const songsContainer = document.getElementById('songs');
const songCount = document.getElementById('songCount');
songCount.textContent = `${songs.length} 首歌曲`;
songsContainer.innerHTML = '';
songs.forEach((song, index) => {
const songElement = this.createSongElement(song, index);
songsContainer.appendChild(songElement);
});
}
// 创建歌曲元素
createSongElement(song) {
const songDiv = document.createElement('div');
songDiv.className = 'song-item';
// 处理艺术家信息
const artists = Array.isArray(song.artist) ? song.artist : [song.artist].filter(Boolean);
const artistNames = artists.map(artist =>
typeof artist === 'object' ? artist.name : artist
).join(', ') || '未知艺术家';
// 处理专辑信息
const albumName = song.album && song.album.name ? song.album.name : '未知专辑';
// 处理时长
const duration = song.duration_desc || this.formatDuration(song.duration);
// 处理热度
const popularity = song.popularity || song.score || 0;
songDiv.innerHTML = `
<div class="song-rank ${song.rank <= 3 ? 'top3' : ''}">${song.rank}</div>
<div class="song-info">
<div class="song-title">${this.escapeHtml(song.title)}</div>
<div class="song-artist">${this.escapeHtml(artistNames)}</div>
<div class="song-album">${this.escapeHtml(albumName)}</div>
</div>
<div class="song-meta">
<div class="song-duration">${duration}</div>
<div class="song-popularity">${popularity}%</div>
</div>
`;
// 添加点击事件
if (song.link) {
songDiv.style.cursor = 'pointer';
songDiv.addEventListener('click', () => {
window.open(song.link, '_blank');
});
}
return songDiv;
}
// 格式化时长
formatDuration(duration) {
if (!duration) return '--:--';
const seconds = Math.floor(duration / 1000);
const minutes = Math.floor(seconds / 60);
const remainingSeconds = seconds % 60;
return `${minutes}:${remainingSeconds.toString().padStart(2, '0')}`;
}
// 格式化日期
formatDate(date) {
return date.toLocaleString('zh-CN', {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit'
});
}
// HTML转义
escapeHtml(text) {
const div = document.createElement('div');
div.textContent = text;
return div.innerHTML;
}
// 显示加载状态
showLoading() {
document.getElementById('loading').style.display = 'block';
document.getElementById('error').style.display = 'none';
document.getElementById('songList').style.display = 'none';
document.getElementById('loadBtn').disabled = true;
}
// 隐藏加载状态
hideLoading() {
document.getElementById('loading').style.display = 'none';
document.getElementById('loadBtn').disabled = false;
}
// 显示错误信息
showError(message) {
document.getElementById('error').style.display = 'block';
document.getElementById('errorMessage').textContent = message;
document.getElementById('loading').style.display = 'none';
document.getElementById('songList').style.display = 'none';
document.getElementById('loadBtn').disabled = false;
}
}
// 全局错误处理
window.addEventListener('error', (event) => {
console.error('全局错误:', event.error);
});
window.addEventListener('unhandledrejection', (event) => {
console.error('未处理的Promise拒绝:', event.reason);
});
// 页面加载完成后初始化
document.addEventListener('DOMContentLoaded', () => {
new NeteaseMusicRankDetail();
});
// 添加CSS动画类
document.addEventListener('DOMContentLoaded', () => {
// 为页面元素添加淡入动画
const elements = document.querySelectorAll('.container > *');
elements.forEach((el, index) => {
el.style.opacity = '0';
el.style.transform = 'translateY(20px)';
el.style.transition = 'opacity 0.6s ease, transform 0.6s ease';
setTimeout(() => {
el.style.opacity = '1';
el.style.transform = 'translateY(0)';
}, index * 100);
});
});

View File

@@ -1,4 +0,0 @@
[
"https://60s.api.shumengya.top",
"../返回接口.json"
]