refactor: 重构禅音工具路径与配置,新增私人剪贴板技能

这是一次大型重构和功能新增:
1. 将原 zen_box 工具重命名为 web_zen_box,调整所有相关路径与配置
2. 新增 web_order_box 原生Web应用的完整资源与部署脚本
3. 新增私人剪贴板后端技能与配套测试脚本
4. 修复订单盒子APP的API地址配置,避免路径重复拼接
5. 新增本地开发跨域白名单支持localhost
6. 清理旧版zen_box的冗余文件
This commit is contained in:
yangxiangyuan
2026-07-26 21:03:28 +08:00
parent a062a7e2c0
commit 212dbc4e1d
47 changed files with 6446 additions and 755 deletions
@@ -0,0 +1,296 @@
[
{
"title": "IRIS OUT",
"artist": "米津玄师",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/01_IRIS%20OUT_%E7%B1%B3%E6%B4%A5%E7%8E%84%E5%B8%88.mp3",
"cover": ""
},
{
"title": "AIZO",
"artist": "King Gnu",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/02_AIZO_King%20Gnu.mp3",
"cover": ""
},
{
"title": "Bakuretsu Aishiteru",
"artist": "M!LK",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/03_Bakuretsu%20Aishiteru_M%21LK.mp3",
"cover": ""
},
{
"title": "lulu.",
"artist": "Mrs. GREEN APPLE",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/05_lulu._Mrs.%20GREEN%20APPLE.mp3",
"cover": ""
},
{
"title": "コロンブス",
"artist": "Mrs. GREEN APPLE",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/6_%E3%82%B3%E3%83%AD%E3%83%B3%E3%83%96%E3%82%B9.mp3",
"cover": ""
},
{
"title": "ダンスホール",
"artist": "Mrs. GREEN APPLE",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/07_%E3%83%80%E3%83%B3%E3%82%B9%E3%83%9B%E3%83%BC%E3%83%AB.mp3",
"cover": ""
},
{
"title": "Call My Name",
"artist": "BE:FIRST",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/8_Call%20My%20Name.mp3",
"cover": ""
},
{
"title": "Let It Shine",
"artist": "Janet Jackson & BE:FIRST",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/9_Let%20It%20Shine.mp3",
"cover": ""
},
{
"title": "スターダスト",
"artist": "Official 髭男 dism",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/10_%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%80%E3%82%B9%E3%83%88.mp3",
"cover": ""
},
{
"title": "Halfmoon",
"artist": "King & Prince",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/11_Halfmoon.mp3",
"cover": ""
},
{
"title": "恋の予感",
"artist": "Aぇ! group",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/12_%E6%81%8B%E3%81%AE%E4%BA%88%E6%84%9F.mp3",
"cover": ""
},
{
"title": "Sparkle",
"artist": "FANTASTICS from EXILE TRIBE",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/13_Sparkle_FANTASTICS.mp3",
"cover": ""
},
{
"title": "夏の約束",
"artist": "乃木坂46",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/14_%E5%A4%8F%E3%81%AE%E7%B4%84%E6%9D%9F.mp3",
"cover": ""
},
{
"title": "夢物語",
"artist": "NMB48",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/15_%E5%A4%A2%E7%89%A9%E8%AA%9E.mp3",
"cover": ""
},
{
"title": "光の道",
"artist": "SixTONES",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/16_%E5%85%89no%E9%81%93.mp3",
"cover": ""
},
{
"title": "Snow Fantasy",
"artist": "Snow Man",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/17_Snow_Fantasy.mp3",
"cover": ""
},
{
"title": "クスシキ",
"artist": "Mrs. GREEN APPLE",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/18_%E3%82%AF%E3%82%B9%E3%82%B7%E3%82%AD.mp3",
"cover": ""
},
{
"title": "Lemon",
"artist": "米津玄师",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/19_Lemon.mp3",
"cover": ""
},
{
"title": "KICK BACK",
"artist": "米津玄师",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/20_KICK%20BACK.mp3",
"cover": ""
},
{
"title": "アイドル",
"artist": "YOASOBI",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/21_%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB.mp3",
"cover": ""
},
{
"title": "夜に駆ける",
"artist": "YOASOBI",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/22_%E5%A4%9C%E3%81%AB%E9%A7%86%E3%81%91%E3%82%8B.mp3",
"cover": ""
},
{
"title": "Sakura Wind",
"artist": "あいみょん",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/23_sakura_aimyon.mp3",
"cover": ""
},
{
"title": "ハルノヒ",
"artist": "あいみょん",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/24_%E3%83%8F%E3%83%AB%E3%83%8E%E3%83%92.mp3",
"cover": ""
},
{
"title": "Teenager Forever",
"artist": "King Gnu",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/25_Teenager%20Forever.mp3",
"cover": ""
},
{
"title": "白日",
"artist": "King Gnu",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/26_%E7%99%BD%E6%97%A5.mp3",
"cover": ""
},
{
"title": "Pretender",
"artist": "Official 髭男 dism",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/27_Pretender.mp3",
"cover": ""
},
{
"title": "I LOVE...",
"artist": "Official 髭男 dism",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/28_I%20LOVE.mp3",
"cover": ""
},
{
"title": "First Love",
"artist": "宇多田ヒカル",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/29_First%20Love.mp3",
"cover": ""
},
{
"title": "Flower of Life",
"artist": "宇多田ヒカル",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/30_Flower_of_Life.mp3",
"cover": ""
},
{
"title": "ZITTI E BUONI",
"artist": "Måneskin",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/31_ZITTI%20E%20BUONI.mp3",
"cover": ""
},
{
"title": "踊り子",
"artist": "Vaundy",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/32_%E8%B8%8A%E3%82%8A%E5%AD%90.mp3",
"cover": ""
},
{
"title": "怪獣の花唄",
"artist": "Vaundy",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/33_%E6%80%AA%E7%8D%A3%E3%81%AE%E8%8A%B1%E5%94%84.mp3",
"cover": ""
},
{
"title": "なんでもないよ、",
"artist": "マカロニえんぴつ",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/34_%E3%81%AA%E3%82%93%E3%81%A7%E3%82%82%E3%81%AA%E3%81%84yo.mp3",
"cover": ""
},
{
"title": "水平線",
"artist": "back number",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/35_%E6%B0%B4%E5%B9%B3%E7%B7%9A.mp3",
"cover": ""
},
{
"title": "高嶺の花子さん",
"artist": "back number",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/36_%E9%AB%98%E5%B6%BA%E3%81%AE%E8%8A%B1%E5%AD%90%E3%81%95%E3%82%93.mp3",
"cover": ""
},
{
"title": "Habit",
"artist": "SEKAI NO OWARI",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/37_Habit.mp3",
"cover": ""
},
{
"title": "RPG",
"artist": "SEKAI NO OWARI",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/38_RPG.mp3",
"cover": ""
},
{
"title": "Silent Night, Holy Night",
"artist": "福山雅治",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/39_Silent_Night_Fukuyama.mp3",
"cover": ""
},
{
"title": "桜坂",
"artist": "福山雅治",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/40_%E6%A1%9C%E5%9D%82.mp3",
"cover": ""
},
{
"title": "Butterfly Effect",
"artist": "日向坂46",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/41_Butterfly%20Effect.mp3",
"cover": ""
},
{
"title": "Start Over!",
"artist": "樱坂46",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/42_Start%20Over.mp3",
"cover": ""
},
{
"title": "Blue Sky",
"artist": "欅坂46",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/43_Blue_Sky.mp3",
"cover": ""
},
{
"title": "永遠のプレッシャー",
"artist": "AKB48",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/44_%E6%B0%B8%E9%81%A0no%E3%83%97%E3%83%AC%E3%83%83%E3%82%B7%E3%83%A3%E3%83%BC.mp3",
"cover": ""
},
{
"title": "Dynamite (Japanese Ver.)",
"artist": "BTS",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/45_Dynamite_Japanese_Ver.mp3",
"cover": ""
},
{
"title": "Perfect Night",
"artist": "LE SSERAFIM",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/46_Perfect%20Night.mp3",
"cover": ""
},
{
"title": "Drama",
"artist": "aespa",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/47_Drama.mp3",
"cover": ""
},
{
"title": "Bubble Gum",
"artist": "NewJeans",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/48_Bubble%20Gum.mp3",
"cover": ""
},
{
"title": "Plazma",
"artist": "米津玄师",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/49_Plazma.mp3",
"cover": ""
},
{
"title": "Yume no Tochu",
"artist": "YOASOBI",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_jan_mp3/50_yume_no_tochu.mp3",
"cover": ""
}
]
@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 180 180" width="180" height="180">
<rect width="180" height="180" rx="36" fill="#060612"/>
<circle cx="90" cy="79.2" r="57.6" stroke="#e8b86d" stroke-width="2.16" opacity="0.25" fill="none"/>
<ellipse cx="90" cy="151.2" rx="39.6" ry="7.2" fill="rgba(232,184,109,0.12)"/>
<path d="M59.4 118.8 C43.2 117 28.8 126 25.2 140.4 C21.6 151.2 28.8 158.4 43.2 156.6 C57.6 154.8 75.6 142.2 79.2 129.6 L79.2 120.6 Z" fill="#e8e6f0"/>
<path d="M120.6 118.8 C136.8 117 151.2 126 154.8 140.4 C158.4 151.2 151.2 158.4 136.8 156.6 C122.4 154.8 104.4 142.2 100.8 129.6 L100.8 120.6 Z" fill="#e8e6f0"/>
<path d="M79.2 120.6 C79.2 120.6 72 104.4 72 90 C72 72 79.2 61.2 86.4 54 L90 52.2 L93.6 54 C100.8 61.2 108 72 108 90 C108 104.4 100.8 120.6 100.8 120.6 C95.4 133.2 84.6 133.2 79.2 120.6 Z" fill="#e8e6f0"/>
<ellipse cx="90" cy="129.6" rx="18" ry="7.2" fill="#e8e6f0"/>
<rect x="82.8" y="45" width="14.4" height="12.6" rx="3.6" fill="#e8e6f0"/>
<ellipse cx="90" cy="30.6" rx="19.8" ry="21.6" fill="#e8e6f0"/>
<ellipse cx="90" cy="10.8" rx="9" ry="7.2" fill="#e8e6f0"/>
<path d="M61.2 64.8 Q50.4 59.4 50.4 52.2 Q50.4 45 61.2 39.6" stroke="#e8b86d" stroke-width="2.16" stroke-linecap="round" fill="none" opacity="0.7"/>
<path d="M118.8 64.8 Q129.6 59.4 129.6 52.2 Q129.6 45 118.8 39.6" stroke="#e8b86d" stroke-width="2.16" stroke-linecap="round" fill="none" opacity="0.7"/>
<circle cx="90" cy="12.6" r="2.7" fill="#e8b86d"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,182 @@
[
{
"title": "He Stopped Loving Her Today",
"artist": "George Jones",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/01%20-%20He%20Stopped%20Loving%20Her%20Today%20-%20George%20Jones.mp3",
"cover": ""
},
{
"title": "I Walk the Line",
"artist": "Johnny Cash",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/02%20-%20I%20Walk%20the%20Line%20-%20Johnny%20Cash.mp3",
"cover": ""
},
{
"title": "Coal Miner's Daughter",
"artist": "Loretta Lynn",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/04%20-%20Coal%20Miner%27s%20Daughter%20-%20Loretta%20Lynn.mp3",
"cover": ""
},
{
"title": "Your Cheatin' Heart",
"artist": "Hank Williams",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/05%20-%20Your%20Cheatin%27%20Heart%20-%20Hank%20Williams.mp3",
"cover": ""
},
{
"title": "The Dance",
"artist": "Garth Brooks",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/07%20-%20The%20Dance%20-%20Garth%20Brooks.mp3",
"cover": ""
},
{
"title": "Friends in Low Places",
"artist": "Garth Brooks",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/09%20-%20Friends%20in%20Low%20Places%20-%20Garth%20Brooks.mp3",
"cover": ""
},
{
"title": "Okie from Muskogee",
"artist": "Merle Haggard",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/13%20-%20Okie%20from%20Muskogee%20-%20Merle%20Haggard.mp3",
"cover": ""
},
{
"title": "On the Road Again",
"artist": "Willie Nelson",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/14%20-%20On%20the%20Road%20Again%20-%20Willie%20Nelson.mp3",
"cover": ""
},
{
"title": "The Gambler",
"artist": "Kenny Rogers",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/16%20-%20The%20Gambler%20-%20Kenny%20Rogers.mp3",
"cover": ""
},
{
"title": "I Fall to Pieces",
"artist": "Patsy Cline",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/17%20-%20I%20Fall%20to%20Pieces%20-%20Patsy%20Cline.mp3",
"cover": ""
},
{
"title": "Whiskey River",
"artist": "Willie Nelson",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/18%20-%20Whiskey%20River%20-%20Willie%20Nelson.mp3",
"cover": ""
},
{
"title": "A Boy Named Sue",
"artist": "Johnny Cash",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/19%20-%20A%20Boy%20Named%20Sue%20-%20Johnny%20Cash.mp3",
"cover": ""
},
{
"title": "Lucille",
"artist": "Kenny Rogers",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/20%20-%20Lucille%20-%20Kenny%20Rogers.mp3",
"cover": ""
},
{
"title": "Harper Valley PTA",
"artist": "Jeannie C. Riley",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/21%20-%20Harper%20Valley%20PTA%20-%20Jeannie%20C.%20Riley.mp3",
"cover": ""
},
{
"title": "The Night the Lights Went Out in Georgia",
"artist": "Vicki Lawrence",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/22%20-%20The%20Night%20the%20Lights%20Went%20Out%20in%20Georgia%20-%20Vicki%20Lawrence.mp3",
"cover": ""
},
{
"title": "Thank God I'm a Country Boy",
"artist": "John Denver",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/25%20-%20Thank%20God%20I%27m%20a%20Country%20Boy%20-%20John%20Denver.mp3",
"cover": ""
},
{
"title": "Rocky Top",
"artist": "Osborne Brothers",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/26%20-%20Rocky%20Top%20-%20Osborne%20Brothers.mp3",
"cover": ""
},
{
"title": "Achy Breaky Heart",
"artist": "Billy Ray Cyrus",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/29%20-%20Achy%20Breaky%20Heart%20-%20Billy%20Ray%20Cyrus.mp3",
"cover": ""
},
{
"title": "Amazed",
"artist": "Lonestar",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/30%20-%20Amazed%20-%20Lonestar.mp3",
"cover": ""
},
{
"title": "Breathe",
"artist": "Faith Hill",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/31%20-%20Breathe%20-%20Faith%20Hill.mp3",
"cover": ""
},
{
"title": "Before He Cheats",
"artist": "Carrie Underwood",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/32%20-%20Before%20He%20Cheats%20-%20Carrie%20Underwood.mp3",
"cover": ""
},
{
"title": "Need You Now",
"artist": "Lady Antebellum",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/33%20-%20Need%20You%20Now%20-%20Lady%20Antebellum.mp3",
"cover": ""
},
{
"title": "Body Like a Back Road",
"artist": "Sam Hunt",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/35%20-%20Body%20Like%20a%20Back%20Road%20-%20Sam%20Hunt.mp3",
"cover": ""
},
{
"title": "Meant to Be",
"artist": "Bebe Rexha Florida Georgia Line",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/36%20-%20Meant%20to%20Be%20-%20Bebe%20Rexha%20Florida%20Georgia%20Line.mp3",
"cover": ""
},
{
"title": "Live Like You Were Dying",
"artist": "Tim McGraw",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/40%20-%20Live%20Like%20You%20Were%20Dying%20-%20Tim%20McGraw.mp3",
"cover": ""
},
{
"title": "Chicken Fried",
"artist": "Zac Brown Band",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/42%20-%20Chicken%20Fried%20-%20Zac%20Brown%20Band.mp3",
"cover": ""
},
{
"title": "Five O'Clock Somewhere",
"artist": "Alan Jackson Jimmy Buffett",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/43%20-%20Five%20O%27Clock%20Somewhere%20-%20Alan%20Jackson%20Jimmy%20Buffett.mp3",
"cover": ""
},
{
"title": "Redneck Woman",
"artist": "Gretchen Wilson",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/44%20-%20Redneck%20Woman%20-%20Gretchen%20Wilson.mp3",
"cover": ""
},
{
"title": "Check Yes or No",
"artist": "George Strait",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/46%20-%20Check%20Yes%20or%20No%20-%20George%20Strait.mp3",
"cover": ""
},
{
"title": "I Can Love You Like That",
"artist": "John Michael Montgomery",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/classic-country-music/mp3/50%20-%20I%20Can%20Love%20You%20Like%20That%20-%20John%20Michael%20Montgomery.mp3",
"cover": ""
}
]
@@ -0,0 +1,102 @@
[
{ "title": "奔腾", "artist": "周深", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/001_%E5%A5%94%E8%85%BE_%E5%91%A8%E6%B7%B1.mp3", "cover": "" },
{ "title": "晚风告白", "artist": "陈星然", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/002_%E6%99%9A%E9%A3%8E%E5%91%8A%E7%99%BD_%E9%99%88%E6%98%9F%E7%84%B6.mp3", "cover": "" },
{ "title": "龙耀华夏", "artist": "龙友林", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/003_%E9%BE%99%E8%80%80%E5%8D%8E%E5%A4%8F_%E9%BE%99%E5%8F%8B%E6%9E%97.mp3", "cover": "" },
{ "title": "觅光", "artist": "张韶涵", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/004_%E8%A7%85%E5%85%89_%E5%BC%A0%E9%9F%B6%E6%B6%B5.mp3", "cover": "" },
{ "title": "非凡", "artist": "刘德华", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/005_%E9%9D%9E%E5%87%A1_%E5%88%98%E5%BE%B7%E5%8D%8E.mp3", "cover": "" },
{ "title": "一半一半", "artist": "Top Barry", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/006_%E4%B8%80%E5%8D%8A%E4%B8%80%E5%8D%8A_Top%20Barry.mp3", "cover": "" },
{ "title": "城市荒岛", "artist": "林有珈", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/007_%E5%9F%8E%E5%B8%82%E8%8D%92%E5%B2%9B_%E6%9E%97%E6%9C%89%E7%8F%88.mp3", "cover": "" },
{ "title": "人造神", "artist": "丁程鑫", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/008_%E4%BA%BA%E9%80%A0%E7%A5%9E_%E4%B8%81%E7%A8%8B%E9%91%AB.mp3", "cover": "" },
{ "title": "晚风告白2026", "artist": "陈星然", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/009_%E6%99%9A%E9%A3%8E%E5%91%8A%E7%99%BD2026_%E9%99%88%E6%98%9F%E7%84%B6.mp3", "cover": "" },
{ "title": "雾中城", "artist": "独立乐团", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/010_%E9%9B%BE%E4%B8%AD%E5%9F%8E_%E7%8B%AC%E7%AB%8B%E4%B9%90%E5%9B%A2.mp3", "cover": "" },
{ "title": "外婆的菜园", "artist": "赵雷", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/011_%E5%A4%96%E5%A9%86%E7%9A%84%E8%8F%9C%E5%9B%AD_%E8%B5%B5%E9%9B%B7.mp3", "cover": "" },
{ "title": "夜未央", "artist": "张靓颖", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/012_%E5%A4%9C%E6%9C%AA%E5%A4%AE_%E5%BC%A0%E9%9D%93%E9%A2%96.mp3", "cover": "" },
{ "title": "城市霓虹", "artist": "王源", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/013_%E5%9F%8E%E5%B8%82%E9%9C%93%E8%99%B9_%E7%8E%8B%E6%BA%90.mp3", "cover": "" },
{ "title": "我会一直顺", "artist": "李荣浩", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/014_%E6%88%91%E4%BC%9A%E4%B8%80%E7%9B%B4%E9%A1%BA_%E6%9D%8E%E8%8D%A3%E6%B5%A9.mp3", "cover": "" },
{ "title": "记忆点", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/015_%E8%AE%B0%E5%BF%86%E7%82%B9_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "春风入梦", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/016_%E6%98%A5%E9%A3%8E%E5%85%A5%E6%A2%A6_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "离开我的依赖", "artist": "陈粒", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/017_%E7%A6%BB%E5%BC%80%E6%88%91%E7%9A%84%E4%BE%9D%E8%B5%96_%E9%99%88%E7%B2%92.mp3", "cover": "" },
{ "title": "撕心裂肺的思念", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/018_%E6%92%95%E5%BF%83%E8%A3%82%E8%82%BA%E7%9A%84%E6%80%9D%E5%BF%B5_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "大风在刮大雪在下", "artist": "六小乐", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/019_%E5%A4%A7%E9%A3%8E%E5%9C%A8%E5%88%AE%E5%A4%A7%E9%9B%AA%E5%9C%A8%E4%B8%8B_%E5%85%AD%E5%B0%8F%E4%B9%90.mp3", "cover": "" },
{ "title": "来生别再成遗憾", "artist": "烟嗓超哥", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/020_%E6%9D%A5%E7%94%9F%E5%88%AB%E5%86%8D%E6%88%90%E9%81%97%E6%86%BE_%E7%83%9F%E5%97%93%E8%B5%85%E5%93%A5.mp3", "cover": "" },
{ "title": "相思无果", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/021_%E7%9B%8E%E6%80%9D%E6%97%A0%E6%9E%9C_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "心碎的梦", "artist": "卡带森林", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/022_%E5%BF%83%E7%A2%8E%E7%9A%84%E6%A2%A6_%E5%8D%A1%E5%B8%A6%E6%A3%AE%E6%9E%97.mp3", "cover": "" },
{ "title": "街角的晚风", "artist": "陈小春", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/023_%E8%A1%97%E8%A7%92%E7%9A%84%E6%99%9A%E9%A3%8E_%E9%99%88%E5%B0%8F%E6%98%A5.mp3", "cover": "" },
{ "title": "樱花最美的是飘落", "artist": "小西", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/024_%E6%A8%B1%E8%8A%B1%E6%9C%80%E7%BE%8E%E7%9A%84%E6%98%AF%E9%A3%98%E8%90%BD_%E5%B0%8F%E8%A5%BF.mp3", "cover": "" },
{ "title": "醉在这个冬", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/025_%E9%86%89%E5%9C%A8%E8%BF%99%E4%B8%AA%E5%86%AC_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "医不好的伤", "artist": "王佳音", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/026_%E5%8C%BB%E4%B8%8D%E5%A5%BD%E7%9A%84%E4%BC%A4_%E7%8E%8B%E4%BD%B3%E9%9F%B3.mp3", "cover": "" },
{ "title": "放过了你放不过自己", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/027_%E6%94%BE%E8%BF%87%E4%BA%86%E4%BD%A0%E6%94%BE%E4%B8%8D%E8%BF%87%E8%87%AA%E5%B7%B1_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "城市的夜", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/028_%E5%9F%8E%E5%B8%82%E7%9A%84%E5%A4%9C_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "追光者", "artist": "岑宁儿", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/029_%E8%BF%BD%E5%85%89%E8%80%85_%E5%B2%91%E5%AE%81%E5%84%BF.mp3", "cover": "" },
{ "title": "孤勇者", "artist": "陈奕迅", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/030_%E5%AD%A4%E5%8B%87%E8%80%85_%E9%99%88%E5%A5%95%E8%BF%85.mp3", "cover": "" },
{ "title": "星辰大海", "artist": "黄霄雲", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/031_%E6%98%9F%E8%BE%B0%E5%A4%A7%E6%B5%B7_%E9%BB%84%E9%9C%84%E9%9B%B2.mp3", "cover": "" },
{ "title": "错位时空", "artist": "艾辰", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/032_%E9%94%99%E4%BD%8D%E6%97%A0%E7%A9%BA_%E8%89%BE%E8%BE%B0.mp3", "cover": "" },
{ "title": "白月光与朱砂痣", "artist": "大籽", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/033_%E7%99%BD%E6%9C%88%E5%85%89%E4%B8%8E%E6%9C%B1%E7%A0%82%E7%97%A3_%E5%A4%A7%E5%B1%BD.mp3", "cover": "" },
{ "title": "踏山河", "artist": "七叔", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/034_%E8%B8%8F%E5%B1%B1%E6%B2%B3_%E4%B8%83%E5%8F%94.mp3", "cover": "" },
{ "title": "四季予你", "artist": "程响", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/035_%E5%9B%9B%E5%AD%A3%8E%E4%BA%88%E4%BD%A0_%E7%A8%8B%E5%93%8D.mp3", "cover": "" },
{ "title": "燕无歇", "artist": "蒋雪儿", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/036_%E7%87%95%E6%97%A0%E6%AD%87_%E8%92%8B%E9%9B%AA%E5%84%BF.mp3", "cover": "" },
{ "title": "莫问归期", "artist": "蒋雪儿", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/037_%E8%8E%AB%E9%97%AE%E5%BD%92%E6%9C%9F_%E8%92%8B%E9%9B%AA%E5%84%BF.mp3", "cover": "" },
{ "title": "赤伶", "artist": "HITA", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/038_%E8%B5%A4%E4%BC%B6_HITA.mp3", "cover": "" },
{ "title": "下山", "artist": "要不要买菜", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/039_%E4%B8%8B%E5%B1%B1_%E8%A6%81%E4%B8%8D%E8%A6%81%E4%B9%B0%E8%8F%9C.mp3", "cover": "" },
{ "title": "惊雷", "artist": "MC九局", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/040_%E6%83%8A%E9%9B%B7_MC%E4%B9%9D%E5%B1%80.mp3", "cover": "" },
{ "title": "少年", "artist": "梦然", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/041_%E5%B0%89%E5%B9%B4_%E6%A2%A6%E7%84%B6.mp3", "cover": "" },
{ "title": "世界这么大还是遇见你", "artist": "程响", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/042_%E4%B8%96%E7%95%8C%E8%BF%99%E4%B9%88%E5%A4%A7%E8%BF%98%E6%98%AF%E7%81%87%E8%A7%81%E4%BD%A0_%E7%A8%8B%E5%93%8D.mp3", "cover": "" },
{ "title": "你的答案", "artist": "阿冗", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/043_%E4%BD%A0%E7%9A%84%E7%AD%94%E6%A1%88_%E9%98%BF%E5%86%97.mp3", "cover": "" },
{ "title": "绿色", "artist": "陈雪凝", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/044_%E7%BB%BF%E8%89%B2_%E9%99%88%E9%9B%AA%E5%87%9D.mp3", "cover": "" },
{ "title": "你的酒馆对我打了烊", "artist": "陈雪凝", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/045_%E4%BD%A0%E7%9A%84%E8%85%89%E9%A6%86%E5%AF%B9%E6%88%91%E6%89%93%E4%BA%86%E7%83%8A_%E9%99%88%E9%9B%AA%E5%87%9D.mp3", "cover": "" },
{ "title": "芒种", "artist": "音阙诗听", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/046_%E8%8A%92%E7%A7%8D_%E9%9F%B3%E9%98%99%E8%AF%97%E5%90%AC.mp3", "cover": "" },
{ "title": "红昭愿", "artist": "音阙诗听", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/047_%E7%BA%A2%E6%98%AD%E6%84%BF_%E9%9F%B3%E9%98%99%E8%AF%97%E5%90%AC.mp3", "cover": "" },
{ "title": "出山", "artist": "花粥", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/048_%E5%87%BA%E5%B1%B1_%E8%8A%B1%E7%B2%A5.mp3", "cover": "" },
{ "title": "盗将行", "artist": "花粥", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/049_%E7%9B%97%E5%B0%86%E8%A1%8C_%E8%8A%B1%E7%B2%A5.mp3", "cover": "" },
{ "title": "可能否", "artist": "木小雅", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/050_%E5%8F%AF%E8%83%BD%E5%90%A6_%E6%9C%A8%E5%B0%8F%E4%B9%9B%85.mp3", "cover": "" },
{ "title": "往后余生", "artist": "马良", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/051_%E5%BE%80%E5%90%8E%E4%BD%99%E7%94%9F_%E9%A9%AC%E8%89%AF.mp3", "cover": "" },
{ "title": "讲真的", "artist": "曾惜", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/052_%E8%AE%B2%E7%9C%9F%E7%9A%84_%E6%9B%BE%E6%83%9C.mp3", "cover": "" },
{ "title": "体面", "artist": "于文文", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/053_%E4%BD%93%E9%9D%A2_%E4%BA%8E%E6%96%87%E6%96%87.mp3", "cover": "" },
{ "title": "说散就散", "artist": "袁娅维", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/054_%E8%AF%B4%E6%95%A3%E5%B0%8B%E6%95%A3_%E8%A2%81%E5%A8%85%E7%BB%B4.mp3", "cover": "" },
{ "title": "沙漠骆驼", "artist": "展展与罗罗", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/055_%E6%B2%99%E6%BC%A0%E9%AA%86%E9%A9%BC_%E5%B1%95%E5%B1%95%E4%B8%8E%E7%BD%97%E7%BD%97.mp3", "cover": "" },
{ "title": "不仅仅是喜欢", "artist": "孙语赛", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/056_%E4%B8%8D%E4%BB%85%E4%BB%85%E6%98%AF%E5%96%9C%E6%AC%A2_%E5%AD%99%E8%AF%AD%E8%B5%9B.mp3", "cover": "" },
{ "title": "学猫叫", "artist": "小潘潘", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/057_%E5%AD%A6%E7%8C%AB%E5%8F%AB_%E5%B0%8F%E6%BD%98%E6%BD%98.mp3", "cover": "" },
{ "title": "佛系少女", "artist": "冯提莫", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/058_%E4%BD%93%E7%B3%BB%E5%B0%89%E5%A5%87_%E5%86%AF%E6%8F%90%E8%8E%AB.mp3", "cover": "" },
{ "title": "病变", "artist": "CG", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/059_%E7%97%85%E5%8F%98_CG.mp3", "cover": "" },
{ "title": "桥边姑娘", "artist": "海伦", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/060_%E6%A1%A5%E8%BE%B9%E5%A7%91%E5%A8%98_%E6%B5%B7%E4%BC%A0.mp3", "cover": "" },
{ "title": "大田后生仔", "artist": "林啟得", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/061_%E5%A4%A7%E7%94%B0%E5%90%8E%E7%94%9F%E4%BB%94_%E6%9E%97%E5%95%9F%E5%BE%97.mp3", "cover": "" },
{ "title": "野狼disco", "artist": "宝石Gem", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/062_%E9%87%8E%E7%8B%AE_disco_%E5%AE%9D%E7%9F%B3_Gem.mp3", "cover": "" },
{ "title": "火红的萨日朗", "artist": "乌兰托娅", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/063_%E7%81%AB%E7%BA%A2%E7%9A%84%E8%90%A8%E6%97%A5%E6%9C%97_%E4%B9%8C%E5%85%B0%E6%89%9F%E5%A8%85.mp3", "cover": "" },
{ "title": "你笑起来真好看", "artist": "李昕融", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/064_%E4%BD%A0%E7%AC%91%E8%B5%B7%E6%9D%A5%E7%9C%9C%E6%9C%9F%E5%A5%BD%E7%9C%8B_%E6%9D%8E%E6%98%95%E8%9E%8D.mp3", "cover": "" },
{ "title": "可可托海的牧羊人", "artist": "王琪", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/065_%E5%8F%AF%E5%8F%AF%E6%89%9F%E6%B5%B7%E7%9A%84%E7%89%A7%E7%BE%8A%E4%BA%BA_%E7%8E%8B%E7%90%AA.mp3", "cover": "" },
{ "title": "送亲", "artist": "王琪", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/066_%E9%80%81%E4%BA%B2_%E7%8E%8B%E7%90%AA.mp3", "cover": "" },
{ "title": "万爱千恩", "artist": "王琪", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/067_%E4%B8%87%E7%88%B1%E5%8D%83%E6%81%A9_%E7%8E%8B%E7%90%AA.mp3", "cover": "" },
{ "title": "枕边的童话", "artist": "小乐哥", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/068_%E6%9C%95%E8%BE%B9%E7%9A%84%E7%AB%A5%E8%AF%9D_%E5%B0%8F%E4%B9%90%E5%93%A5.mp3", "cover": "" },
{ "title": "执迷不悟", "artist": "小乐哥", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/069_%E6%89%A7%E8%BF%87%E4%B8%8D%E6%82%9F_%E5%B0%8F%E4%B9%90%E5%93%A5.mp3", "cover": "" },
{ "title": "孤城", "artist": "洛先生", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/070_%E5%AD%A4%E5%9F%8E_%E6%B4%9B%E5%85%88%E7%94%9C.mp3", "cover": "" },
{ "title": "热爱105°C的你", "artist": "阿肆", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/071_%E7%83%AD%E7%88%B1_105_%C2%B0C_%E7%9A%84%E4%BD%A0_%E9%98%BF%E8%82%86.mp3", "cover": "" },
{ "title": "阳光彩虹小白马", "artist": "大张伟", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/072_%E9%98%B3%E5%85%89%E5%BD%A9%E8%99%B9%E5%B0%8F%E7%99%BD%E9%A9%AC_%E5%A4%A7%E5%BC%A0%E4%BC%9F.mp3", "cover": "" },
{ "title": "小城夏天", "artist": "LBI利比", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/073_%E5%B0%8F%E5%9F%8E%E5%A4%8F%E5%A4%A9_LBI%E5%88%A9%E6%AF%94.mp3", "cover": "" },
{ "title": "如愿", "artist": "王菲", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/074_%E5%A6%82%E6%84%BF_%E7%8E%8B%E8%8F%B2.mp3", "cover": "" },
{ "title": "光的方向", "artist": "张碧晨", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/075_%E5%85%89%E7%9A%84%E6%96%B9%E5%90%91_%E5%BC%A0%E7%A2%A7%E6%99%A8.mp3", "cover": "" },
{ "title": "起风了", "artist": "买辣椒也用券", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/076_%E8%B5%B7%E9%A3%8E%E4%BA%86_%E4%B9%B0%E8%BE%A3%E6%A4%92%E4%B9%9F%E7%94%A8%E5%88%B8.mp3", "cover": "" },
{ "title": "若梦", "artist": "周深", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/077_%E8%8B%A5%E6%A2%A6_%E5%91%A8%E6%B7%B1.mp3", "cover": "" },
{ "title": "和光同尘", "artist": "周深", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/078_%E5%92%8C%E5%85%89%E5%90%8C%E5%B0%89_%E5%91%A8%E6%B7%B1.mp3", "cover": "" },
{ "title": "大鱼", "artist": "周深", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/079_%E5%A4%A7%E9%B1%BC_%E5%91%A8%E6%B7%B1.mp3", "cover": "" },
{ "title": "灯火里的中国", "artist": "张也", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/080_%E7%81%AF%E7%81%AB%E9%87%8C%E7%9A%84%E4%B8%AD%E5%9B%BD_%E5%BC%A0%E4%B9%9F.mp3", "cover": "" },
{ "title": "一路生花", "artist": "温奕心", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/081_%E4%B8%80%E8%B7%AF%E7%94%9C%E8%8A%B1_%E6%B8%A9%E5%A5%95%E5%BF%83.mp3", "cover": "" },
{ "title": "岁月神偷", "artist": "金玟岐", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/082_%E5%B2%81%E6%9C%88%E7%A5%9E%E5%81%B7_%E9%87%91%E7%8E%9F%E5%B2%90.mp3", "cover": "" },
{ "title": "时间煮雨", "artist": "郁可唯", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/083_%E6%97%B6%E5%97%B4%E7%85%AE%E9%9B%A8_%E9%83%81%E5%8F%AF%E5%94%AF.mp3", "cover": "" },
{ "title": "破茧", "artist": "张韶涵", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/084_%E7%A0%B4%E8%8C%A7_%E5%BC%A0%E9%9F%B6%E6%B6%B5.mp3", "cover": "" },
{ "title": "Mojito", "artist": "周杰伦", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/085_Mojito_%E5%91%A8%E6%9D%B0%E4%BC%A0.mp3", "cover": "" },
{ "title": "笑看", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/086_%E7%AC%91%E7%9C%8B_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "醒狮", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/087_%E9%86%89%E7%8B%AE_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "笑柄", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/088_%E7%AC%91%E6%9F%84_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "风月", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/089_%E9%A3%8E%E6%9C%88_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "不知名", "artist": "未知", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/090_%E4%B8%8D%E7%9F%A5%E5%90%8C_%E6%9C%AA%E7%9F%A5.mp3", "cover": "" },
{ "title": "Panama", "artist": "Matteo", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/091_Panama_Matteo.mp3", "cover": "" },
{ "title": "最美期待", "artist": "南拳妈妈", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/092_%E6%9C%80%E7%BE%8E%E6%9C%9F%E5%BE%85_%E5%8D%97%E6%8B%B3%E5%A6%88%E5%A6%88.mp3", "cover": "" },
{ "title": "答案", "artist": "杨坤", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/093_%E7%AD%94%E6%A1%88_%E6%9D%A8%E5%9D%A4.mp3", "cover": "" },
{ "title": "凤凰花开的路口", "artist": "林志炫", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/094_%E5%87%A4%E5%87%B0%E8%8A%B1%E5%BC%80%E7%9A%84%E8%B7%AF%E5%8F%A3_%E6%9E%97%E5%BF%97%E7%82%AB.mp3", "cover": "" },
{ "title": "蜜雪冰城甜蜜蜜", "artist": "蜜雪冰城", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/095_%E8%9C%9C%E9%9B%AA%E5%86%B0%E5%9F%8E%E7%94%9C%E8%9C%9C%E8%9C%9C_%E8%9C%9C%E9%9B%AA%E5%86%B0%E5%9F%8E.mp3", "cover": "" },
{ "title": "晚风告白2026", "artist": "陈星然", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/096_%E6%99%9A%E9%A3%8E%E5%91%8A%E7%99%BD2026_%E9%99%88%E6%98%9F%E7%84%B6.mp3", "cover": "" },
{ "title": "星辰大海黄霄雲版", "artist": "黄霄雲", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/097_%E6%98%9F%E8%BE%B0%E5%A4%A7%E6%B5%B7%E9%BB%84%E9%9C%84%E9%9B%B2%E7%89%88_%E9%BB%84%E9%9C%84%E9%9B%B2.mp3", "cover": "" },
{ "title": "热爱105度的你", "artist": "阿肆", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/098_%E7%83%AD%E7%88%B1_105_%E5%BA%A6%E7%9A%84%E4%BD%A0_%E9%98%BF%E8%82%86.mp3", "cover": "" },
{ "title": "Rubia", "artist": "周深", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/099_Rubia_%E5%91%A8%E6%B7%B1.mp3", "cover": "" },
{ "title": "遇见2026翻红版", "artist": "阿肆", "src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026/douyin_top100/100_%E9%81%87%E8%A7%81_2026_%E7%BF%BB%E7%BA%A2%E7%89%88_%E9%98%BF%E8%82%86.mp3", "cover": "" }
]
@@ -0,0 +1,194 @@
[
{
"title": "我记得",
"artist": "赵雷",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/01.mp3",
"cover": ""
},
{
"title": "三里屯的夜",
"artist": "赵雷",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/02.mp3",
"cover": ""
},
{
"title": "凌晨计程车",
"artist": "赵雷",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/03.mp3",
"cover": ""
},
{
"title": "点歌的人",
"artist": "海来阿木",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/04.mp3",
"cover": ""
},
{
"title": "西楼儿女",
"artist": "海来阿木",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/05.mp3",
"cover": ""
},
{
"title": "诺言",
"artist": "海来阿木",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/06.mp3",
"cover": ""
},
{
"title": "鲜花",
"artist": "回春丹",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/07.mp3",
"cover": ""
},
{
"title": "初恋",
"artist": "回春丹",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/08.mp3",
"cover": ""
},
{
"title": "泸沽湖",
"artist": "麻园诗人",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/09.mp3",
"cover": ""
},
{
"title": "现在现在",
"artist": "麻园诗人",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/10.mp3",
"cover": ""
},
{
"title": "少女",
"artist": "赵雷",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/12.mp3",
"cover": ""
},
{
"title": "漠河舞厅",
"artist": "柳爽",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/13.mp3",
"cover": ""
},
{
"title": "三生三幸",
"artist": "海来阿木",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/14.mp3",
"cover": ""
},
{
"title": "美好事物",
"artist": "房东的猫",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/15.mp3",
"cover": ""
},
{
"title": "总有一天你会出现在我身边",
"artist": "棱镜",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/16.mp3",
"cover": ""
},
{
"title": "踏浪",
"artist": "棱镜",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/17.mp3",
"cover": ""
},
{
"title": "带我去找夜生活",
"artist": "告五人",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/18.mp3",
"cover": ""
},
{
"title": "我欢喜喜欢你",
"artist": "焦迈奇",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/19.mp3",
"cover": ""
},
{
"title": "无名的人",
"artist": "毛不易",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/20.mp3",
"cover": ""
},
{
"title": "空空",
"artist": "陈粒",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/21.mp3",
"cover": ""
},
{
"title": "大梦",
"artist": "陈粒",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/23.mp3",
"cover": ""
},
{
"title": "我曾",
"artist": "隔壁老樊",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/24.mp3",
"cover": ""
},
{
"title": "多年以后",
"artist": "大欢",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/25.mp3",
"cover": ""
},
{
"title": "从前说",
"artist": "小阿七",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/26.mp3",
"cover": ""
},
{
"title": "那年年少",
"artist": "小阿七",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/27.mp3",
"cover": ""
},
{
"title": "与我无关",
"artist": "阿冗",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/28.mp3",
"cover": ""
},
{
"title": "把回忆拼好给你",
"artist": "王贰浪",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/29.mp3",
"cover": ""
},
{
"title": "巡光",
"artist": "就是南方凯",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/30.mp3",
"cover": ""
},
{
"title": "沦陷",
"artist": "王靖雯",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/31.mp3",
"cover": ""
},
{
"title": "善变",
"artist": "王靖雯",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/32.mp3",
"cover": ""
},
{
"title": "这一生关于你的风景",
"artist": "大欢",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/33.mp3",
"cover": ""
},
{
"title": "别知己",
"artist": "海来阿木",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/folk_music_2020s/34.mp3",
"cover": ""
}
]
@@ -0,0 +1,109 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>生成八音盒图标</title>
<style>
body {
font-family: -apple-system, sans-serif;
max-width: 600px;
margin: 40px auto;
padding: 20px;
background: #060612;
color: #e8e6f0;
}
h1 { color: #e8b86d; }
.button-group { margin: 20px 0; }
button {
background: #e8b86d;
color: #060612;
border: none;
padding: 12px 24px;
margin: 8px;
border-radius: 8px;
cursor: pointer;
font-size: 16px;
}
.previews { margin-top: 40px; }
.preview-item { margin: 20px 0; padding: 20px; background: rgba(255,255,255,0.05); border-radius: 8px; }
canvas { background: #060612; border: 1px solid rgba(232,184,109,0.3); border-radius: 8px; }
</style>
</head>
<body>
<h1>🎵 八音盒图标生成器</h1>
<p>点击下方按钮,下载所需尺寸的PNG图标</p>
<div class="button-group">
<button onclick="generateAndDownload(192, 192, 'icon-192.png')">下载 192x192</button>
<button onclick="generateAndDownload(512, 512, 'icon-512.png')">下载 512x512</button>
<button onclick="generateAndDownload(180, 180, 'apple-touch-icon.png')">下载 180x180 (Apple)</button>
</div>
<div class="previews">
<h3>预览</h3>
<div class="preview-item">
<p>192x192</p>
<canvas id="canvas192" width="192" height="192"></canvas>
</div>
<div class="preview-item">
<p>512x512</p>
<canvas id="canvas512" width="512" height="512"></canvas>
</div>
</div>
<script>
const svgCode = `
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<rect width="100" height="100" rx="20" fill="#060612"/>
<circle cx="50" cy="44" r="32" stroke="#e8b86d" stroke-width="1.2" opacity="0.25" fill="none"/>
<path d="M33 66 C24 65 16 70 14 78 C12 84 16 88 24 87 C32 86 42 79 44 72 L44 67 Z" fill="#e8e6f0"/>
<path d="M67 66 C76 65 84 70 86 78 C88 84 84 88 76 87 C68 86 58 79 56 72 L56 67 Z" fill="#e8e6f0"/>
<path d="M44 67 C44 67 40 58 40 50 C40 40 44 34 48 30 L50 29 L52 30 C56 34 60 40 60 50 C60 58 56 67 56 67 C53 74 47 74 44 67 Z" fill="#e8e6f0"/>
<ellipse cx="50" cy="72" rx="10" ry="4" fill="#e8e6f0"/>
<rect x="46" y="25" width="8" height="7" rx="2" fill="#e8e6f0"/>
<ellipse cx="50" cy="17" rx="11" ry="12" fill="#e8e6f0"/>
<ellipse cx="50" cy="6" rx="5" ry="4" fill="#e8e6f0"/>
<path d="M34 36 Q28 33 28 29 Q28 25 34 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<path d="M66 36 Q72 33 72 29 Q72 25 66 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<circle cx="50" cy="7" r="1.5" fill="#e8b86d"/>
</svg>
`;
async function drawIconOnCanvas(canvas, size) {
return new Promise((resolve) => {
const ctx = canvas.getContext('2d');
const img = new Image();
const svgBlob = new Blob([svgCode], { type: 'image/svg+xml' });
const url = URL.createObjectURL(svgBlob);
img.onload = () => {
ctx.clearRect(0, 0, size, size);
ctx.drawImage(img, 0, 0, size, size);
URL.revokeObjectURL(url);
resolve();
};
img.src = url;
});
}
async function generateAndDownload(width, height, filename) {
const canvas = document.createElement('canvas');
canvas.width = width;
canvas.height = height;
await drawIconOnCanvas(canvas, width);
const link = document.createElement('a');
link.download = filename;
link.href = canvas.toDataURL('image/png');
link.click();
}
// 初始化预览
(async function init() {
await drawIconOnCanvas(document.getElementById('canvas192'), 192);
await drawIconOnCanvas(document.getElementById('canvas512'), 512);
})();
</script>
</body>
</html>
@@ -0,0 +1,34 @@
const fs = require('fs');
const path = require('path');
const svgIcon = `
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<rect width="100" height="100" rx="20" fill="#060612"/>
<circle cx="50" cy="44" r="32" stroke="#e8b86d" stroke-width="1.2" opacity="0.25" fill="none"/>
<path d="M33 66 C24 65 16 70 14 78 C12 84 16 88 24 87 C32 86 42 79 44 72 L44 67 Z" fill="#e8e6f0"/>
<path d="M67 66 C76 65 84 70 86 78 C88 84 84 88 76 87 C68 86 58 79 56 72 L56 67 Z" fill="#e8e6f0"/>
<path d="M44 67 C44 67 40 58 40 50 C40 40 44 34 48 30 L50 29 L52 30 C56 34 60 40 60 50 C60 58 56 67 56 67 C53 74 47 74 44 67 Z" fill="#e8e6f0"/>
<ellipse cx="50" cy="72" rx="10" ry="4" fill="#e8e6f0"/>
<rect x="46" y="25" width="8" height="7" rx="2" fill="#e8e6f0"/>
<ellipse cx="50" cy="17" rx="11" ry="12" fill="#e8e6f0"/>
<ellipse cx="50" cy="6" rx="5" ry="4" fill="#e8e6f0"/>
<path d="M34 36 Q28 33 28 29 Q28 25 34 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<path d="M66 36 Q72 33 72 29 Q72 25 66 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<circle cx="50" cy="7" r="1.5" fill="#e8b86d"/>
</svg>
`;
// 使用 Node.js 自带的方式生成图标
// 这里我们先创建临时 SVG 文件,然后可以通过浏览器或其他工具转换
const svgPath = path.join(__dirname, 'icon.svg');
fs.writeFileSync(svgPath, svgIcon.trim(), 'utf8');
console.log('SVG icon generated at:', svgPath);
console.log('To convert to PNG, you can use online tools or ImageMagick:');
console.log(' convert icon.svg -resize 192x192 icon-192.png');
console.log(' convert icon.svg -resize 512x512 icon-512.png');
console.log(' convert icon.svg -resize 180x180 apple-touch-icon.png');
// 我们也可以用 base64 方式提供SVG作为临时方案
const svgBase64 = Buffer.from(svgIcon.trim()).toString('base64');
console.log('SVG base64 ready');
+15
View File
@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="192" height="192">
<rect width="100" height="100" rx="20" fill="#060612"/>
<circle cx="50" cy="44" r="32" stroke="#e8b86d" stroke-width="1.2" opacity="0.25" fill="none"/>
<ellipse cx="50" cy="84" rx="22" ry="4" fill="rgba(232,184,109,0.12)"/>
<path d="M33 66 C24 65 16 70 14 78 C12 84 16 88 24 87 C32 86 42 79 44 72 L44 67 Z" fill="#e8e6f0"/>
<path d="M67 66 C76 65 84 70 86 78 C88 84 84 88 76 87 C68 86 58 79 56 72 L56 67 Z" fill="#e8e6f0"/>
<path d="M44 67 C44 67 40 58 40 50 C40 40 44 34 48 30 L50 29 L52 30 C56 34 60 40 60 50 C60 58 56 67 56 67 C53 74 47 74 44 67 Z" fill="#e8e6f0"/>
<ellipse cx="50" cy="72" rx="10" ry="4" fill="#e8e6f0"/>
<rect x="46" y="25" width="8" height="7" rx="2" fill="#e8e6f0"/>
<ellipse cx="50" cy="17" rx="11" ry="12" fill="#e8e6f0"/>
<ellipse cx="50" cy="6" rx="5" ry="4" fill="#e8e6f0"/>
<path d="M34 36 Q28 33 28 29 Q28 25 34 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<path d="M66 36 Q72 33 72 29 Q72 25 66 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<circle cx="50" cy="7" r="1.5" fill="#e8b86d"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+15
View File
@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="512" height="512">
<rect width="100" height="100" rx="20" fill="#060612"/>
<circle cx="50" cy="44" r="32" stroke="#e8b86d" stroke-width="1.2" opacity="0.25" fill="none"/>
<ellipse cx="50" cy="84" rx="22" ry="4" fill="rgba(232,184,109,0.12)"/>
<path d="M33 66 C24 65 16 70 14 78 C12 84 16 88 24 87 C32 86 42 79 44 72 L44 67 Z" fill="#e8e6f0"/>
<path d="M67 66 C76 65 84 70 86 78 C88 84 84 88 76 87 C68 86 58 79 56 72 L56 67 Z" fill="#e8e6f0"/>
<path d="M44 67 C44 67 40 58 40 50 C40 40 44 34 48 30 L50 29 L52 30 C56 34 60 40 60 50 C60 58 56 67 56 67 C53 74 47 74 44 67 Z" fill="#e8e6f0"/>
<ellipse cx="50" cy="72" rx="10" ry="4" fill="#e8e6f0"/>
<rect x="46" y="25" width="8" height="7" rx="2" fill="#e8e6f0"/>
<ellipse cx="50" cy="17" rx="11" ry="12" fill="#e8e6f0"/>
<ellipse cx="50" cy="6" rx="5" ry="4" fill="#e8e6f0"/>
<path d="M34 36 Q28 33 28 29 Q28 25 34 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<path d="M66 36 Q72 33 72 29 Q72 25 66 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<circle cx="50" cy="7" r="1.5" fill="#e8b86d"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+401
View File
@@ -0,0 +1,401 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="观空禅音">
<meta name="theme-color" content="#060612">
<link rel="manifest" href="manifest.json">
<link rel="apple-touch-icon" href="apple-touch-icon.svg">
<title>观空禅音</title>
<link rel="stylesheet" href="zen_box.css">
</head>
<body>
<!-- Splash Screen -->
<div class="splash" id="splash">
<svg class="splash-icon" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="44" r="32" stroke="#e8b86d" stroke-width="1.2" opacity="0.25"/>
<ellipse cx="50" cy="84" rx="22" ry="4" fill="rgba(232,184,109,0.12)"/>
<path d="M33 66 C24 65 16 70 14 78 C12 84 16 88 24 87 C32 86 42 79 44 72 L44 67 Z" fill="#e8e6f0"/>
<path d="M67 66 C76 65 84 70 86 78 C88 84 84 88 76 87 C68 86 58 79 56 72 L56 67 Z" fill="#e8e6f0"/>
<path d="M44 67 C44 67 40 58 40 50 C40 40 44 34 48 30 L50 29 L52 30 C56 34 60 40 60 50 C60 58 56 67 56 67 C53 74 47 74 44 67 Z" fill="#e8e6f0"/>
<ellipse cx="50" cy="72" rx="10" ry="4" fill="#e8e6f0"/>
<rect x="46" y="25" width="8" height="7" rx="2" fill="#e8e6f0"/>
<ellipse cx="50" cy="17" rx="11" ry="12" fill="#e8e6f0"/>
<ellipse cx="50" cy="6" rx="5" ry="4" fill="#e8e6f0"/>
<path d="M34 36 Q28 33 28 29 Q28 25 34 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<path d="M66 36 Q72 33 72 29 Q72 25 66 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<circle cx="50" cy="7" r="1.5" fill="#e8b86d" opacity="0.8"/>
</svg>
<div class="splash-title">观空禅音</div>
<div class="splash-sub">正在加载歌单与缓存...</div>
<div class="splash-spinner"></div>
</div>
<!-- Starfield Background -->
<div class="starfield">
<div class="stars-sm"></div>
<div class="stars-md"></div>
<div class="stars-lg"></div>
</div>
<div class="app">
<!-- Header -->
<div class="header">
<div class="header-title">
<svg class="header-icon" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="50" cy="44" r="32" stroke="#e8b86d" stroke-width="1.2" opacity="0.25"/>
<ellipse cx="50" cy="84" rx="22" ry="4" fill="rgba(232,184,109,0.12)"/>
<path d="M33 66 C24 65 16 70 14 78 C12 84 16 88 24 87 C32 86 42 79 44 72 L44 67 Z" fill="#e8e6f0"/>
<path d="M67 66 C76 65 84 70 86 78 C88 84 84 88 76 87 C68 86 58 79 56 72 L56 67 Z" fill="#e8e6f0"/>
<path d="M44 67 C44 67 40 58 40 50 C40 40 44 34 48 30 L50 29 L52 30 C56 34 60 40 60 50 C60 58 56 67 56 67 C53 74 47 74 44 67 Z" fill="#e8e6f0"/>
<ellipse cx="50" cy="72" rx="10" ry="4" fill="#e8e6f0"/>
<rect x="46" y="25" width="8" height="7" rx="2" fill="#e8e6f0"/>
<ellipse cx="50" cy="17" rx="11" ry="12" fill="#e8e6f0"/>
<ellipse cx="50" cy="6" rx="5" ry="4" fill="#e8e6f0"/>
<path d="M34 36 Q28 33 28 29 Q28 25 34 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<path d="M66 36 Q72 33 72 29 Q72 25 66 22" stroke="#e8b86d" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.7"/>
<circle cx="50" cy="7" r="1.5" fill="#e8b86d" opacity="0.8"/>
</svg>
观<span>空</span>禅音
</div>
<div class="header-count" id="trackCount">0 首</div>
</div>
<!-- Zen Center -->
<div class="zen-center">
<div class="orbit-wrap">
<div class="orbit-ring"></div>
<div class="orbit-ring-2"></div>
<div class="orbit-dot-1"></div>
<div class="orbit-dot-2"></div>
<div class="zen-glow" id="zenGlow"></div>
<div class="zen-waves">
<div class="zen-wave" id="zenWave0"></div>
<div class="zen-wave" id="zenWave1"></div>
<div class="zen-wave" id="zenWave2"></div>
</div>
<div class="zen-figure" id="zenFigure">
<!-- Zen meditation figure — natural lotus posture, warm gold silhouette -->
<svg viewBox="0 0 200 210" fill="none" xmlns="http://www.w3.org/2000/svg">
<!-- Ground shadow -->
<ellipse cx="100" cy="178" rx="44" ry="5.5" fill="rgba(232,184,109,0.08)"/>
<!-- === LOWER BODY: Full lotus base === -->
<!-- Lap platform — wide, grounded oval -->
<ellipse cx="100" cy="158" rx="46" ry="14" fill="#c8973e" opacity="0.70"/>
<!-- Left knee extending out and down -->
<path d="M 54 150 C 44 152, 36 158, 36 165 C 36 171, 42 175, 52 174 C 60 173, 68 167, 72 160 C 74 155, 70 149, 64 148 Z" fill="#d4a045" opacity="0.78"/>
<!-- Right knee extending out and down -->
<path d="M 146 150 C 156 152, 164 158, 164 165 C 164 171, 158 175, 148 174 C 140 173, 132 167, 128 160 C 126 155, 130 149, 136 148 Z" fill="#d4a045" opacity="0.78"/>
<!-- Left foot resting on right thigh — visible instep -->
<path d="M 124 148 C 132 144, 142 145, 146 150 C 148 153, 145 157, 138 157 C 131 157, 124 153, 122 150 Z" fill="#c8973e" opacity="0.72"/>
<!-- Right foot resting on left thigh — visible instep -->
<path d="M 76 148 C 68 144, 58 145, 54 150 C 52 153, 55 157, 62 157 C 69 157, 76 153, 78 150 Z" fill="#c8973e" opacity="0.72"/>
<!-- === TORSO: Upright, slightly tapered === -->
<path d="
M 72 152
C 70 140, 69 126, 70 114
C 71 102, 75 92, 82 85
C 88 79, 94 77, 100 76
C 106 77, 112 79, 118 85
C 125 92, 129 102, 130 114
C 131 126, 130 140, 128 152
C 120 157, 110 160, 100 160
C 90 160, 80 157, 72 152
Z
" fill="#e0a84e" opacity="0.88"/>
<!-- Chest line — subtle center crease -->
<path d="M 100 88 C 99 108, 99 130, 100 152" stroke="#c8882a" stroke-width="0.8" opacity="0.18" stroke-linecap="round"/>
<!-- === ARMS: Draped down naturally to lap === -->
<!-- Left upper arm — hangs from shoulder, angles inward -->
<path d="M 70 114 C 64 116, 58 122, 56 130 C 54 136, 56 142, 62 146 C 68 148, 75 146, 78 140 C 74 136, 70 128, 70 118 Z" fill="#d4a045" opacity="0.82"/>
<!-- Right upper arm -->
<path d="M 130 114 C 136 116, 142 122, 144 130 C 146 136, 144 142, 138 146 C 132 148, 125 146, 122 140 C 126 136, 130 128, 130 118 Z" fill="#d4a045" opacity="0.82"/>
<!-- === HANDS in dhyana mudra: left palm up, right resting on top === -->
<!-- Left hand — palm up, fingers slightly curved -->
<path d="M 84 154 C 80 152, 76 152, 75 155 C 74 158, 76 162, 82 163 C 88 164, 96 162, 98 158 C 98 155, 92 154, 84 154 Z" fill="#d4a045" opacity="0.80"/>
<!-- Right hand resting on left, fingers forward -->
<path d="M 102 152 C 98 150, 94 150, 92 153 C 90 156, 91 160, 96 162 C 102 163, 110 161, 114 157 C 116 154, 112 151, 106 151 Z" fill="#c8973e" opacity="0.78"/>
<!-- Thumb tips touching — small oval -->
<ellipse cx="99" cy="153" rx="4" ry="2.5" fill="#e8b86d" opacity="0.55"/>
<!-- === NECK: slim, natural === -->
<path d="M 93 78 C 93 74, 96 70, 100 69 C 104 70, 107 74, 107 78 L 107 86 L 93 86 Z" fill="#e0a84e" opacity="0.88"/>
<!-- === HEAD: slightly bowed forward, serene === -->
<!-- Head shape — slightly elongated, chin tucked -->
<path d="
M 82 54
C 82 36, 90 26, 100 25
C 110 26, 118 36, 118 54
C 118 66, 112 74, 106 77
L 100 79
L 94 77
C 88 74, 82 66, 82 54
Z
" fill="#e0a84e" opacity="0.88"/>
<!-- === HAIR: simple smooth cap === -->
<path d="M 82 50 C 82 36, 90 26, 100 25 C 110 26, 118 36, 118 50 C 112 43, 106 39, 100 38 C 94 39, 88 43, 82 50 Z" fill="#b8812a" opacity="0.80"/>
<!-- === FACE: eyes closed, barely-there features === -->
<!-- Brow ridge — very subtle -->
<path d="M 89 53 Q 93 51, 97 53" stroke="#8a6020" stroke-width="0.8" stroke-linecap="round" fill="none" opacity="0.35"/>
<path d="M 103 53 Q 107 51, 111 53" stroke="#8a6020" stroke-width="0.8" stroke-linecap="round" fill="none" opacity="0.35"/>
<!-- Eyes closed — downward arc, peaceful -->
<path d="M 89 57 Q 93 61, 97 57" stroke="#7a5010" stroke-width="1.4" stroke-linecap="round" fill="none" opacity="0.65"/>
<path d="M 103 57 Q 107 61, 111 57" stroke="#7a5010" stroke-width="1.4" stroke-linecap="round" fill="none" opacity="0.65"/>
<!-- Nose — single gentle hint -->
<path d="M 100 62 C 99 65, 97 67, 97 68" stroke="#8a6020" stroke-width="1" stroke-linecap="round" fill="none" opacity="0.25"/>
<!-- Lips — serene half-smile -->
<path d="M 95 72 Q 100 75, 105 72" stroke="#8a6020" stroke-width="1.2" stroke-linecap="round" fill="none" opacity="0.30"/>
<!-- === CROWN CHAKRA: sahasrara point === -->
<circle cx="100" cy="24" r="3.5" fill="rgba(232,184,109,0.20)"/>
<circle cx="100" cy="24" r="1.8" fill="#e8b86d" opacity="0.75"/>
<circle cx="100" cy="24" r="0.8" fill="#fff" opacity="0.60"/>
<!-- === SUBTLE INNER LIGHT: warm glow at heart center === -->
<circle cx="100" cy="110" r="12" fill="rgba(232,184,109,0.04)"/>
</svg>
</div>
</div>
</div>
<!-- Track Info -->
<div class="track-info">
<div class="track-title marquee-host" id="trackTitleHost">
<div class="marquee-track" id="trackTitleTrack">
<span class="marquee-copy marquee-copy-primary" id="trackTitle">未选择歌曲</span>
<span class="marquee-gap" aria-hidden="true"></span>
<span class="marquee-copy marquee-copy-duplicate" id="trackTitleDuplicate" aria-hidden="true">未选择歌曲</span>
</div>
</div>
<div class="track-artist" id="trackArtist">—</div>
</div>
<!-- Bottom Control Bar -->
<div class="bottom-bar">
<div class="glass-bar">
<!-- Progress -->
<div class="progress-wrap">
<input type="range" class="progress-bar" id="progressBar" min="0" max="100" value="0"
oninput="onProgressInput(this.value)" onchange="onProgressChange(this.value)">
<div class="time-row">
<span id="timeCurrent">0:00</span>
<span id="timeTotal">0:00</span>
</div>
</div>
<!-- Main Controls -->
<div class="controls">
<button class="ctrl-btn" id="btnShuffle" onclick="toggleShuffle()" title="随机">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="16 1 21 3 21 8"></polyline>
<path d="M4 4 C8 4 10 8 12 12 C14 16 16 20 20 20"></path>
<polyline points="16 23 21 23 21 18"></polyline>
<path d="M4 20 C8 20 10 16 12 12 C14 8 16 4 20 4"></path>
</svg>
</button>
<button class="ctrl-btn" onclick="prevTrack()" title="上一首">
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor">
<path d="M6 6h2v12H6V6zm3.5 6 8.5 6V6l-8.5 6z"></path>
</svg>
</button>
<button class="play-btn" id="playBtn" onclick="togglePlay()" title="播放/暂停">
<svg id="iconPlay" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
<path d="M8 5v14l11-7z"></path>
</svg>
<svg id="iconPause" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" style="display:none">
<path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"></path>
</svg>
</button>
<button class="ctrl-btn" onclick="nextTrack()" title="下一首">
<svg width="22" height="22" viewBox="0 0 24 24" fill="currentColor">
<path d="M16 6h2v12h-2V6zm-10 0v12l8.5-6L6 6z"></path>
</svg>
</button>
<button class="ctrl-btn" id="btnRepeat" onclick="cycleRepeat()" title="循环">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="17 1 21 5 17 9"></polyline><path d="M3 11V9a4 4 0 0 1 4-4h14"></path>
<polyline points="7 23 3 19 7 15"></polyline><path d="M21 13v2a4 4 0 0 1-4 4H3"></path>
</svg>
</button>
</div>
<!-- Secondary row: playlist + settings -->
<div class="secondary-controls">
<button class="sec-btn" onclick="openSheet()" title="播放列表">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
<line x1="8" y1="6" x2="21" y2="6"></line>
<line x1="8" y1="12" x2="21" y2="12"></line>
<line x1="8" y1="18" x2="21" y2="18"></line>
<line x1="3" y1="6" x2="3.01" y2="6"></line>
<line x1="3" y1="12" x2="3.01" y2="12"></line>
<line x1="3" y1="18" x2="3.01" y2="18"></line>
</svg>
</button>
<button class="sec-btn" onclick="openSettings()" title="设置">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="3"></circle>
<path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06A1.65 1.65 0 0 0 15 19.4a1.65 1.65 0 0 0-1 .6 1.65 1.65 0 0 1-2 0 1.65 1.65 0 0 0-1-.6 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.6 15a1.65 1.65 0 0 0-.6-1 1.65 1.65 0 0 1 0-2 1.65 1.65 0 0 0 .6-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.6a1.65 1.65 0 0 0 1-.6 1.65 1.65 0 0 1 2 0 1.65 1.65 0 0 0 1 .6 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9c0 .38.14.74.4 1a1.65 1.65 0 0 1 0 2c-.26.26-.4.62-.4 1z"></path>
</svg>
</button>
</div>
</div>
</div>
</div>
<!-- Settings Modal -->
<div class="settings-overlay" id="settingsOverlay" onclick="closeSettings()"></div>
<div class="settings-panel" id="settingsPanel">
<div class="settings-header">
<div class="settings-title">设置</div>
<button class="sheet-close" onclick="closeSettings()" title="关闭设置">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>
</svg>
</button>
</div>
<div class="settings-body">
<div class="setting-group">
<div class="setting-label">账号</div>
<div id="accountSection"></div>
</div>
<div class="setting-group">
<div class="setting-label">当前歌单</div>
<select id="playlistSelect" class="setting-select"></select>
<div class="setting-note">自动读取所有以 playlist.json 结尾的歌单,并记住你上次选择。</div>
</div>
<div class="setting-group">
<div class="setting-label">缓存对照</div>
<div class="setting-summary" id="cacheSummary">正在检查缓存...</div>
<div class="setting-note">按歌曲地址对照当前歌单与浏览器缓存,标记哪些已缓存、哪些未缓存。</div>
</div>
<div class="setting-group">
<div class="setting-label">缓存模式</div>
<label class="setting-switch">
<input type="checkbox" id="cacheOnlyToggle">
<span>只用缓存听歌曲</span>
</label>
<div class="setting-note">开启后,切歌时只播放已下载的歌曲,未缓存的歌曲需先在播放列表下载。</div>
</div>
<div class="setting-group">
<div class="setting-label">缓存管理</div>
<div class="cache-size-row">
<span>已缓存大小</span>
<span class="cache-size-value" id="cacheSizeText">正在统计...</span>
</div>
<button class="clear-cache-btn" id="btnClearCache" onclick="clearAllCache()">清除所有缓存</button>
</div>
<div class="setting-group">
<div class="setting-label">播放记忆</div>
<label class="setting-switch">
<input type="checkbox" id="resumePlaybackToggle">
<span>记住上次位置继续听</span>
</label>
<div class="setting-note">默认开启,下次打开时从上次暂停的位置继续播放</div>
</div>
<div class="about-card">
<div class="about-head">
<div class="about-name">观空禅音</div>
<div class="about-sub">ZenVoid</div>
</div>
<div class="about-desc">这不是一款为了喧闹和效率而设计的播放器。它更像一处留白,让人愿意慢下来,听见一点安静。</div>
<div class="about-desc">"ZenVoid"和"观空"都不是标准答案,只是我们尽力靠近这种感受的一种表达。希望它陪你在日常里,留一点空,听一点静。</div>
<div class="about-version">v1.0.0</div>
</div>
</div>
</div>
<!-- Playlist Sheet Overlay -->
<div class="sheet-overlay" id="sheetOverlay" onclick="closeSheet()"></div>
<div class="sheet" id="sheet">
<div class="sheet-handle"></div>
<div class="sheet-header">
<div class="sheet-title">
播放列表
<span class="offline-badge" id="offlineBadge" style="display:none">离线模式</span>
</div>
<button class="sheet-close" onclick="closeSheet()">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>
</svg>
</button>
</div>
<div class="sheet-list" id="sheetList">
<div class="empty-state" id="emptyState">
暂无曲目<br>
<span style="font-size:12px;opacity:0.6">请将音乐文件添加至播放列表</span>
</div>
</div>
<div class="sheet-footer">
<div class="sort-row">
<button class="sort-btn" id="sortOriginal" onclick="applySort('original')">原始顺序</button>
<button class="sort-btn" id="sortAsc" onclick="applySort('asc')">名称正序</button>
<button class="sort-btn" id="sortDesc" onclick="applySort('desc')">名称倒序</button>
</div>
<button class="download-all-btn" id="btnDownloadAll" onclick="downloadAllTracks()">
<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
<polyline points="7 10 12 15 17 10"></polyline>
<line x1="12" y1="15" x2="12" y2="3"></line>
</svg>
<span id="btnDownloadAllText">一键下载所有</span>
</button>
<div class="batch-progress" id="batchProgress" style="display:none">
<div class="batch-progress-title" id="batchProgressTitle">—</div>
<div class="batch-progress-bar">
<div class="batch-progress-fill" id="batchProgressFill"></div>
</div>
<div class="batch-progress-meta">
<span id="batchProgressPct">0%</span>
<span id="batchProgressCount">0/0</span>
</div>
</div>
</div>
</div>
<!-- Login Overlay -->
<div class="login-overlay" id="loginOverlay">
<div class="login-card">
<button class="sheet-close login-close" onclick="closeLoginOverlay()" title="关闭">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
<line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>
</svg>
</button>
<div class="login-title">登录</div>
<div class="login-sub">登录后可跨设备同步你的配置</div>
<input class="login-input" id="loginUsername" type="text" placeholder="账号" autocomplete="username">
<input class="login-input" id="loginPassword" type="password" placeholder="密码" autocomplete="current-password">
<div class="login-error" id="loginError"></div>
<button class="login-btn" id="btnLogin" onclick="doLogin()">登 录</button>
</div>
</div>
<!-- Toast -->
<div class="toast" id="toast"></div>
<!-- Hidden Audio -->
<audio id="audio" preload="metadata"></audio>
<script src="zen_box.js"></script>
</body>
</html>
+20
View File
@@ -0,0 +1,20 @@
{
"name": "观空禅音",
"short_name": "观空禅音",
"start_url": "./index.html",
"display": "standalone",
"background_color": "#060612",
"theme_color": "#060612",
"icons": [
{
"src": "icon-192.svg",
"sizes": "192x192",
"type": "image/svg+xml"
},
{
"src": "icon-512.svg",
"sizes": "512x512",
"type": "image/svg+xml"
}
]
}
@@ -0,0 +1,127 @@
[
{
"title": "01、第一部 洪武大帝(明太祖朱元璋篇)驱除鞑虏,恢复中华",
"artist": "",
"src": "https://android-o1-images.oss-cn-shanghai.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/1.%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%80%E9%83%A8.mp3",
"cover": ""
},{
"title": "02、第一部 洪武大帝(明惠宗朱允炆篇)天胡开局,毁于削藩",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/2.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%80%E9%83%A8%20%E6%B4%AA%E6%AD%A6%E5%A4%A7%E5%B8%9D%EF%BC%88%E6%98%8E%E6%83%A0%E5%AE%97%E6%9C%B1%E5%85%81%E7%82%86%E7%AF%87%EF%BC%89%E5%A4%A9%E8%83%A1%E5%BC%80%E5%B1%80%EF%BC%8C%E6%AF%81%E4%BA%8E%E5%89%8A%E8%97%A9.mp3",
"cover": ""
},
{
"title": "03、第二部 万国来朝(明成祖朱棣篇)平定天下,修成大典",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part2/3.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%8C%E9%83%A8%20%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D%EF%BC%88%E6%98%8E%E6%88%90%E7%A5%96%E6%9C%B1%E6%A3%A3%E7%AF%87%EF%BC%89%E5%B9%B3%E5%AE%9A%E5%A4%A9%E4%B8%8B%EF%BC%8C%E4%BF%AE%E6%88%90%E5%A4%A7%E5%85%B8.mp3",
"cover": ""
},
{
"title": "04、第二部 万国来朝(明仁宗朱高炽篇)诚孝仁厚,无疾骤崩",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%BA%8C%E9%83%A8_%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D/4.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%8C%E9%83%A8%20%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D%EF%BC%88%E6%98%8E%E4%BB%81%E5%AE%97%E6%9C%B1%E9%AB%98%E7%82%BD%E7%AF%87%EF%BC%89%E8%AF%9A%E5%AD%9D%E4%BB%81%E5%8E%9A%EF%BC%8C%E6%97%A0%E7%96%BE%E9%AA%A4%E5%B4%A9.mp3",
"cover": ""
},
{
"title": "05、第二部 万国来朝(明宣宗朱瞻基篇)仁宣之治,宦官干政",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%BA%8C%E9%83%A8_%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D/5.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%8C%E9%83%A8%20%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D%EF%BC%88%E6%98%8E%E5%AE%A3%E5%AE%97%E6%9C%B1%E7%9E%BB%E5%9F%BA%E7%AF%87%EF%BC%89%E4%BB%81%E5%AE%A3%E4%B9%8B%E6%B2%BB%EF%BC%8C%E5%AE%A6%E5%AE%98%E5%B9%B2%E6%94%BF.mp3",
"cover": ""
},
{
"title": "06、第二部 万国来朝(明英宗朱祁镇篇)土木之变,漠北为囚",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%BA%8C%E9%83%A8_%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D/6.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%8C%E9%83%A8%20%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D%EF%BC%88%E6%98%8E%E8%8B%B1%E5%AE%97%E6%9C%B1%E7%A5%81%E9%95%87%E7%AF%87%EF%BC%89%E5%9C%9F%E6%9C%A8%E4%B9%8B%E5%8F%98%EF%BC%8C%E6%BC%A0%E5%8C%97%E4%B8%BA%E5%9B%9A.mp3",
"cover": ""
},
{
"title": "07、第二部 万国来朝(明代宗朱祁钰篇)知人善任,力挽狂澜",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%BA%8C%E9%83%A8_%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D/7.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%8C%E9%83%A8%20%E4%B8%87%E5%9B%BD%E6%9D%A5%E6%9C%9D%EF%BC%88%E6%98%8E%E4%BB%A3%E5%AE%97%E6%9C%B1%E7%A5%81%E9%92%B0%E7%AF%87%EF%BC%89%E7%9F%A5%E4%BA%BA%E5%96%84%E4%BB%BB%EF%BC%8C%E5%8A%9B%E6%8C%BD%E7%8B%82%E6%BE%9C.mp3",
"cover": ""
},
{
"title": "08、第三部 妖孽宫廷(明英宗朱祁镇篇)夺门之变,赵构之才",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%B8%89%E9%83%A8_%E5%A6%96%E5%AD%BD%E5%AE%AB%E5%BB%B7/8.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%89%E9%83%A8%20%E5%A6%96%E5%AD%BD%E5%AE%AB%E5%BB%B7%EF%BC%88%E6%98%8E%E8%8B%B1%E5%AE%97%E6%9C%B1%E7%A5%81%E9%95%87%E7%AF%87%EF%BC%89%E5%A4%BA%E9%97%A8%E4%B9%8B%E5%8F%98%EF%BC%8C%E8%B5%B5%E6%9E%84%E4%B9%8B%E6%89%8D.mp3",
"cover": ""
},
{
"title": "09、第三部 妖孽宫廷(明宪宗朱见深篇)拨乱反正",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%B8%89%E9%83%A8_%E5%A6%96%E5%AD%BD%E5%AE%AB%E5%BB%B7/9.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%89%E9%83%A8%20%E5%A6%96%E5%AD%BD%E5%AE%AB%E5%BB%B7%EF%BC%88%E6%98%8E%E5%AE%AA%E5%AE%97%E6%9C%B1%E8%A7%81%E6%B7%B1%E7%AF%87%EF%BC%89%E6%8B%A8%E4%B9%B1%E5%8F%8D%E6%AD%A3.mp3",
"cover": ""
},
{
"title": "10、第三部 妖孽宫廷(明孝宗朱祐樘篇)勤政爱民,中兴之主",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%B8%89%E9%83%A8_%E5%A6%96%E5%AD%BD%E5%AE%AB%E5%BB%B7/10.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%89%E9%83%A8%20%E5%A6%96%E5%AD%BD%E5%AE%AB%E5%BB%B7%EF%BC%88%E6%98%8E%E5%AD%9D%E5%AE%97%E6%9C%B1%E7%A5%90%E6%A8%98%E7%AF%87%EF%BC%89%E5%8B%A4%E6%94%BF%E7%88%B1%E6%B0%91%EF%BC%8C%E4%B8%AD%E5%85%B4%E4%B9%8B%E4%B8%BB.mp3",
"cover": ""
},
{
"title": "11、第三部 妖孽宫廷(明武宗朱厚照篇)极具个性,功过参半",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part3/11.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%89%E9%83%A8%20%E5%A6%96%E5%AD%BD%E5%AE%AB%E5%BB%B7%EF%BC%88%E6%98%8E%E6%AD%A6%E5%AE%97%E6%9C%B1%E5%8E%9A%E7%85%A7%E7%AF%87%EF%BC%89%E6%9E%81%E5%85%B7%E4%B8%AA%E6%80%A7%EF%BC%8C%E5%8A%9F%E8%BF%87%E5%8F%82%E5%8D%8A.mp3",
"cover": ""
},
{
"title": "12、第四部 粉饰太平(明世宗朱厚zen篇)",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part4/12.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E5%9B%9B%E9%83%A8%20%E7%B2%89%E9%A5%B0%E5%A4%AA%E5%B9%B3%EF%BC%88%E6%98%8E%E4%B8%96%E5%AE%97%E6%9C%B1%E5%8E%9A%E7%86%9C%E7%AF%87%EF%BC%89.mp3",
"cover": ""
},
{
"title": "13、第五部 帝国飘摇(明世宗朱厚zen篇)",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/%E7%AC%AC%E4%BA%94%E9%83%A8_%E5%B8%9D%E5%9B%BD%E9%A3%98%E6%91%87/13.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%94%E9%83%A8%20%E5%B8%9D%E5%9B%BD%E9%A3%98%E6%91%87%EF%BC%88%E6%98%8E%E4%B8%96%E5%AE%97%E6%9C%B1%E5%8E%9A%E7%86%9C%E7%AF%87%EF%BC%89.mp3",
"cover": ""
},
{
"title": "14、第五部 帝国飘摇(明穆宗朱载井篇)",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part5/14.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%94%E9%83%A8%20%E5%B8%9D%E5%9B%BD%E9%A3%98%E6%91%87%EF%BC%88%E6%98%8E%E7%A9%86%E5%AE%97%E6%9C%B1%E8%BD%BD%E5%9E%95%E7%AF%87%EF%BC%89.mp3",
"cover": ""
},
{
"title": "15、第五部 帝国飘摇(明神宗朱翊钧篇)",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part5/15.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%BA%94%E9%83%A8%20%E5%B8%9D%E5%9B%BD%E9%A3%98%E6%91%87%EF%BC%88%E6%98%8E%E7%A5%9E%E5%AE%97%E6%9C%B1%E7%BF%8A%E9%92%A7%E7%AF%87%EF%BC%89.mp3",
"cover": ""
},
{
"title": "16、第六部 日暮西山(明神宗朱翊钧篇)",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part6/16.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E5%85%AD%E9%83%A8%20%E6%97%A5%E6%9A%AE%E8%A5%BF%E5%B1%B1%EF%BC%88%E6%98%8E%E7%A5%9E%E5%AE%97%E6%9C%B1%E7%BF%8A%E9%92%A7%E7%AF%87%EF%BC%89.mp3",
"cover": ""
},
{
"title": "17、第六部 日暮西山(明光宗朱常洛篇)生因意外,死更荒唐",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part6/17.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E5%85%AD%E9%83%A8%20%E6%97%A5%E6%9A%AE%E8%A5%BF%E5%B1%B1%EF%BC%88%E6%98%8E%E5%85%89%E5%AE%97%E6%9C%B1%E5%B8%B8%E6%B4%9B%E7%AF%87%EF%BC%89%E7%94%9F%E5%9B%A0%E6%84%8F%E5%A4%96%EF%BC%8C%E6%AD%BB%E6%9B%B4%E8%8D%92%E5%94%90.mp3",
"cover": ""
},
{
"title": "18、第六部 日暮西山(明熹宗朱由校篇)木匠皇帝",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part6/18.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E5%85%AD%E9%83%A8%20%E6%97%A5%E6%9A%AE%E8%A5%BF%E5%B1%B1%EF%BC%88%E6%98%8E%E7%86%B9%E5%AE%97%E6%9C%B1%E7%94%B1%E6%A0%A1%E7%AF%87%EF%BC%89%E6%9C%A8%E5%8C%A0%E7%9A%87%E5%B8%9D.mp3",
"cover": ""
},
{
"title": "19、第七部 大结局(明熹宗朱由校篇)木匠皇帝",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part7/19.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%83%E9%83%A8%20%E5%A4%A7%E7%BB%93%E5%B1%80%EF%BC%88%E6%98%8E%E7%86%B9%E5%AE%97%E6%9C%B1%E7%94%B1%E6%A0%A1%E7%AF%87%EF%BC%89%E6%9C%A8%E5%8C%A0%E7%9A%87%E5%B8%9D.mp3",
"cover": ""
},
{
"title": "20、第七部 大结局(明思宗朱由检篇 - 上)",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part7/20.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%83%E9%83%A8%20%E5%A4%A7%E7%BB%93%E5%B1%80%EF%BC%88%E6%98%8E%E6%80%9D%E5%AE%97%E6%9C%B1%E7%94%B1%E6%A3%80%E7%AF%87%20-%20%E4%B8%8A%EF%BC%89.mp3",
"cover": ""
},
{
"title": "21、第七部 大结局(明思宗朱由检篇 - 下)全书完",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/mingchao_mp3/part7/21.%20%E6%98%8E%E6%9C%9D%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF%20%5B%E6%9C%89%E5%A3%B0%E4%B9%A6%5D%20%E7%AC%AC%E4%B8%83%E9%83%A8%20%E5%A4%A7%E7%BB%93%E5%B1%80%EF%BC%88%E6%98%8E%E6%80%9D%E5%AE%97%E6%9C%B1%E7%94%B1%E6%A3%80%E7%AF%87%20-%20%E4%B8%8B%EF%BC%89%E5%85%A8%E4%B9%A6%E5%AE%8C.mp3",
"cover": ""
}
]
+236
View File
@@ -0,0 +1,236 @@
[
{
"title": "如果我很平庸",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/1_%E5%A6%82%E6%9E%9C%E6%88%91%E5%BE%88%E5%B9%B3%E5%BA%B8.mp3",
"cover": ""
},
{
"title": "很久很久",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/2_%E5%BE%88%E4%B9%85%E5%BE%88%E4%B9%85.mp3",
"cover": ""
},
{
"title": "貴得可以",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/3_%E8%B2%B4%E5%BE%97%E5%8F%AF%E4%BB%A5.mp3",
"cover": ""
},
{
"title": "如煙 Live",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/4_%E5%A6%82%E7%85%99%20Live.mp3",
"cover": ""
},
{
"title": "背光的角色",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/5_%E8%83%8C%E5%85%89%E7%9A%84%E8%A7%92%E8%89%B2.mp3",
"cover": ""
},
{
"title": "有你有我",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/6_%E6%9C%89%E4%BD%A0%E6%9C%89%E6%88%91.mp3",
"cover": ""
},
{
"title": "離開我的依賴",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/7_%E9%9B%A2%E9%96%8B%E6%88%91%E7%9A%84%E4%BE%9D%E8%B3%B4.mp3",
"cover": ""
},
{
"title": "浪人的",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/8_%E6%B5%AA%E4%BA%BA%E7%9A%84.mp3",
"cover": ""
},
{
"title": "缺席",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/9_%E7%BC%BA%E5%B8%AD.mp3",
"cover": ""
},
{
"title": "太陽與地球",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/10_%E5%A4%AA%E9%99%BD%E8%88%87%E5%9C%B0%E7%90%83.mp3",
"cover": ""
},
{
"title": "玻璃",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/11_%E7%8E%BB%E7%92%83.mp3",
"cover": ""
},
{
"title": "以我為名",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/12_%E4%BB%A5%E6%88%91%E7%82%BA%E5%90%8D.mp3",
"cover": ""
},
{
"title": "原我離開",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/13_%E5%8E%9F%E6%88%91%E9%9B%A2%E9%96%8B.mp3",
"cover": ""
},
{
"title": "我甘願重新愛過",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/14_%E6%88%91%E7%94%98%E9%A1%98%E9%87%8D%E6%96%B0%E6%84%9B%E9%81%8E.mp3",
"cover": ""
},
{
"title": "那天下雨了",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/15_%E9%82%A3%E5%A4%A9%E4%B8%8B%E9%9B%A8%E4%BA%86.mp3",
"cover": ""
},
{
"title": "愛琴海",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/16_%E6%84%9B%E7%90%B4%E6%B5%B7.mp3",
"cover": ""
},
{
"title": "誰稀罕",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/17_%E8%AA%B0%E7%A8%80%E7%BD%95.mp3",
"cover": ""
},
{
"title": "開始懂了",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/18_%E9%96%8B%E5%A7%8B%E6%87%82%E4%BA%86.mp3",
"cover": ""
},
{
"title": "CEREMONY",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/19_CEREMONY.mp3",
"cover": ""
},
{
"title": "我對緣分小心翼翼",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/20_%E6%88%91%E5%B0%8D%E7%B7%A3%E5%88%86%E5%B0%8F%E5%BF%83%E7%BF%BC%E7%BF%BC.mp3",
"cover": ""
},
{
"title": "搬家",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/21_%E6%90%AC%E5%AE%B6.mp3",
"cover": ""
},
{
"title": "villain",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/22_villain.mp3",
"cover": ""
},
{
"title": "Golden Boy",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/23_Golden%20Boy.mp3",
"cover": ""
},
{
"title": "Foolish Things",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/24_Foolish%20Things.mp3",
"cover": ""
},
{
"title": "IS THIS LOVE ",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/25_IS%20THIS%20LOVE_.mp3",
"cover": ""
},
{
"title": "Bunch Of Idiots",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/26_Bunch%20Of%20Idiots.mp3",
"cover": ""
},
{
"title": "給我一槍",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/29_%E7%B5%A6%E6%88%91%E4%B8%80%E6%A7%8D.mp3",
"cover": ""
},
{
"title": "等你等我",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/31_%E7%AD%89%E4%BD%A0%E7%AD%89%E6%88%91.mp3",
"cover": ""
},
{
"title": "Alive",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/32_Alive.mp3",
"cover": ""
},
{
"title": "幸福在歌唱",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/34_%E5%B9%B8%E7%A6%8F%E5%9C%A8%E6%AD%8C%E5%94%B1.mp3",
"cover": ""
},
{
"title": "跳樓機",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/35_%E8%B7%B3%E6%A8%93%E6%A9%9F.mp3",
"cover": ""
},
{
"title": "I Do",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/37_I%20Do.mp3",
"cover": ""
},
{
"title": "太陽之子",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/38_%E5%A4%AA%E9%99%BD%E4%B9%8B%E5%AD%90.mp3",
"cover": ""
},
{
"title": "陪你到這",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/43_%E9%99%AA%E4%BD%A0%E5%88%B0%E9%80%99.mp3",
"cover": ""
},
{
"title": "海屿你",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/44_%E6%B5%B7%E5%B1%BF%E4%BD%A0.mp3",
"cover": ""
},
{
"title": "LEMONADE",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/45_LEMONADE.mp3",
"cover": ""
},
{
"title": "Home",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/46_Home.mp3",
"cover": ""
},
{
"title": "What if the Sky is not the Limit",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/49_What%20if%20the%20Sky%20is%20not%20the%20Limit.mp3",
"cover": ""
},
{
"title": "When She Holds Me Right",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/50_When%20She%20Holds%20Me%20Right.mp3",
"cover": ""
}
]
@@ -0,0 +1,366 @@
[
{
"rank": 1,
"title": "Flowers",
"artist": "Miley Cyrus",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/01.%20Miley%20Cyrus%20-%20Flowers%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 2,
"title": "Anti-Hero",
"artist": "Taylor Swift",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/02.%20Taylor%20Swift%20-%20Anti-Hero%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 3,
"title": "As It Was",
"artist": "Harry Styles",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/03.%20Harry%20Styles%20-%20As%20It%20Was%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 4,
"title": "Unholy",
"artist": "Sam Smith & Kim Petras",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/unholy.mp3",
"cover": ""
},
{
"rank": 5,
"title": "Kill Bill",
"artist": "SZA",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/05.%20SZA%20-%20Kill%20Bill%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 6,
"title": "Cruel Summer",
"artist": "Taylor Swift",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/06.%20Taylor%20Swift%20-%20Cruel%20Summer%20(Official%20Audio).mp3",
"cover": ""
},
{
"rank": 7,
"title": "vampire",
"artist": "Olivia Rodrigo",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/07.%20Olivia%20Rodrigo%20-%20vampire%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 8,
"title": "Paint The Town Red",
"artist": "Doja Cat",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/08.%20Doja%20Cat%20-%20Paint%20The%20Town%20Red%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 9,
"title": "greedy",
"artist": "Tate McRae",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/09.%20Tate%20McRae%20-%20greedy%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 10,
"title": "Snooze",
"artist": "SZA",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/10.%20SZA%20-%20Snooze%20(Audio).mp3",
"cover": ""
},
{
"rank": 11,
"title": "Water",
"artist": "Tyla",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/11.%20Tyla%20-%20Water%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 12,
"title": "Lovin On Me",
"artist": "Jack Harlow",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/12.%20Jack%20Harlow%20-%20Lovin%20On%20Me%20%5BOfficial%20Music%20Video%5D.mp3",
"cover": ""
},
{
"rank": 13,
"title": "yes, and?",
"artist": "Ariana Grande",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/yes_and.mp3",
"cover": ""
},
{
"rank": 14,
"title": "Houdini",
"artist": "Dua Lipa",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/14.%20Dua%20Lipa%20-%20Houdini%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 15,
"title": "Espresso",
"artist": "Sabrina Carpenter",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/15.%20Sabrina%20Carpenter%20-%20Espresso.mp3",
"cover": ""
},
{
"rank": 16,
"title": "Please Please Please",
"artist": "Sabrina Carpenter",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/16.%20Sabrina%20Carpenter%20-%20Please%20Please%20Please.mp3",
"cover": ""
},
{
"rank": 17,
"title": "BIRDS OF A FEATHER",
"artist": "Billie Eilish",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/17.%20Billie%20Eilish%20-%20BIRDS%20OF%20A%20FEATHER%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 18,
"title": "Die With A Smile",
"artist": "Lady Gaga & Bruno Mars",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/die_with_smile.mp3",
"cover": ""
},
{
"rank": 19,
"title": "APT.",
"artist": "ROSÉ & Bruno Mars",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/19.%20ROSE%CC%81%20%26%20Bruno%20Mars%20-%20APT.%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 20,
"title": "Good Luck, Babe!",
"artist": "Chappell Roan",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/good_luck_babe.mp3",
"cover": ""
},
{
"rank": 21,
"title": "Fortnight",
"artist": "Taylor Swift ft. Post Malone",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/21.%20Taylor%20Swift%20-%20Fortnight%20(feat.%20Post%20Malone)%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 22,
"title": "I Had Some Help",
"artist": "Post Malone ft. Morgan Wallen",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/22.%20Post%20Malone%20-%20I%20Had%20Some%20Help%20(feat.%20Morgan%20Wallen)%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 23,
"title": "Lose Control",
"artist": "Teddy Swims",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/23.%20Teddy%20Swims%20-%20Lose%20Control%20(The%20Village%20Sessions).mp3",
"cover": ""
},
{
"rank": 24,
"title": "Beautiful Things",
"artist": "Benson Boone",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/24.%20Benson%20Boone%20-%20Beautiful%20Things%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 25,
"title": "Stick Season",
"artist": "Noah Kahan",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/25.%20Noah%20Kahan%20-%20Stick%20Season.mp3",
"cover": ""
},
{
"rank": 26,
"title": "Too Sweet",
"artist": "Hozier",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/26.%20Hozier%20-%20Too%20Sweet%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 27,
"title": "A Bar Song (Tipsy)",
"artist": "Shaboozey",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/27.%20Shaboozey%20-%20A%20Bar%20Song%20(Tipsy)%20%5BOfficial%20Visualizer%5D.mp3",
"cover": ""
},
{
"rank": 28,
"title": "Not Like Us",
"artist": "Kendrick Lamar",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/28.%20Kendrick%20Lamar%20-%20Not%20Like%20Us.mp3",
"cover": ""
},
{
"rank": 29,
"title": "TEXAS HOLD 'EM",
"artist": "Beyoncé",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/29.%20Beyonc%C3%A9%20-%20TEXAS%20HOLD%20'EM%20(Official%20Visualizer).mp3",
"cover": ""
},
{
"rank": 30,
"title": "we can't be friends",
"artist": "Ariana Grande",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/30.%20Ariana%20Grande%20-%20we%20can't%20be%20friends%20(wait%20for%20your%20love)%20(official%20music%20video).mp3",
"cover": ""
},
{
"rank": 31,
"title": "Illusion",
"artist": "Dua Lipa",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/31.%20Dua%20Lipa%20-%20Illusion%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 32,
"title": "Training Season",
"artist": "Dua Lipa",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/32.%20Dua%20Lipa%20-%20Training%20Season%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 33,
"title": "Gata Only",
"artist": "FloyyMenor & Cris MJ",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/33.%20The%20Tale%20Of%20The%20Princess%20Kaguya-The%20Procession%20of%20Celestial%20Beings.mp3",
"cover": ""
},
{
"rank": 34,
"title": "Taste",
"artist": "Sabrina Carpenter",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/36.%20Sabrina%20Carpenter%20-%20Taste%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 35,
"title": "Bed Chem",
"artist": "Sabrina Carpenter",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/35.%20Rauw%20Alejandro%20x%20Chris%20Brown%20x%20Rvssian%20-%20Nost%C3%A1lgico%20(Letra%E2%A7%B8Lyrics).mp3",
"cover": ""
},
{
"rank": 36,
"title": "Juno",
"artist": "Sabrina Carpenter",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/36.%20Sabrina%20Carpenter%20-%20Taste%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 37,
"title": "Sailor Song",
"artist": "Gigi Perez",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/37.%20Sabrina%20Carpenter%20-%20Bed%20Chem%20(Official%20Lyric%20Video).mp3",
"cover": ""
},
{
"rank": 38,
"title": "Timeless",
"artist": "The Weeknd & Playboi Carti",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/38.%20Sabrina%20Carpenter%20-%20Juno%20(Official%20Lyric%20Video).mp3",
"cover": ""
},
{
"rank": 39,
"title": "Starboy",
"artist": "The Weeknd ft. Daft Punk",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/39.%20Gigi%20Perez%20-%20Sailor%20Song%20(Official%20Music%20Video).mp3",
"cover": ""
},
{
"rank": 40,
"title": "Blinding Lights",
"artist": "The Weeknd",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/42.%20The%20Weeknd%20-%20Blinding%20Lights%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 41,
"title": "Save Your Tears",
"artist": "The Weeknd",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/41.%20The%20Weeknd%20-%20Starboy%20ft.%20Daft%20Punk%20(Official%20Video)%20ft.%20Daft%20Punk.mp3",
"cover": ""
},
{
"rank": 42,
"title": "Levitating",
"artist": "Dua Lipa",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/42.%20The%20Weeknd%20-%20Blinding%20Lights%20(Official%20Video).mp3",
"cover": ""
},
{
"rank": 43,
"title": "Don't Start Now",
"artist": "Dua Lipa",
"src": "",
"cover": ""
},
{
"rank": 44,
"title": "Physical",
"artist": "Dua Lipa",
"src": "",
"cover": ""
},
{
"rank": 45,
"title": "Used To Be Young",
"artist": "Miley Cyrus",
"src": "",
"cover": ""
},
{
"rank": 46,
"title": "Karma",
"artist": "Taylor Swift ft. Ice Spice",
"src": "",
"cover": ""
},
{
"rank": 47,
"title": "Calm Down",
"artist": "Rema & Selena Gomez",
"src": "",
"cover": ""
},
{
"rank": 48,
"title": "Vampire",
"artist": "Olivia Rodrigo",
"src": "",
"cover": ""
},
{
"rank": 49,
"title": "Seven",
"artist": "Jung Kook ft. Latto",
"src": "",
"cover": ""
},
{
"rank": 50,
"title": "What Was I Made For?",
"artist": "Billie Eilish",
"src": "",
"cover": ""
},
{
"rank": 33,
"title": "The Tale Of The Princess Kaguya-The Procession of Celestial Beings",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/33.%20The%20Tale%20Of%20The%20Princess%20Kaguya-The%20Procession%20of%20Celestial%20Beings.mp3",
"cover": ""
},
{
"rank": 35,
"title": "Rauw Alejandro x Chris Brown x Rvssian - Nostálgico (Letra⧸Lyrics)",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/pop_music_2026/35.%20Rauw%20Alejandro%20x%20Chris%20Brown%20x%20Rvssian%20-%20Nost%C3%A1lgico%20(Letra%E2%A7%B8Lyrics).mp3",
"cover": ""
}
]
+61
View File
@@ -0,0 +1,61 @@
const CACHE = 'music-box-v4';
const AUDIO_CACHE = 'zen-audio-cache';
self.addEventListener('install', e => {
self.skipWaiting();
e.waitUntil(
caches.open(CACHE).then(c => c.addAll([
'./',
'./index.html',
'./zen_box.js',
'./zen_box.css'
]))
);
});
self.addEventListener('activate', e => {
e.waitUntil(
caches.keys().then(keys =>
Promise.all(
keys.filter(k => k !== CACHE && k !== AUDIO_CACHE).map(k => caches.delete(k))
)
).then(() => clients.claim())
);
});
self.addEventListener('fetch', e => {
// 音频文件:优先命中 zen-audio-cache(离线播放必需),否则走网络
if (e.request.url.includes('.mp3') || e.request.url.includes('oss')) {
e.respondWith(
caches.open(AUDIO_CACHE).then(audioCache =>
audioCache.match(e.request).then(cached => {
if (cached) return cached;
return fetch(e.request);
})
).catch(() => fetch(e.request))
);
return;
}
// playlist.json 使用 Network First
if (e.request.url.includes('playlist.json')) {
e.respondWith(
fetch(e.request)
.then(networkResponse => {
return caches.open(CACHE).then(cache => {
cache.put(e.request, networkResponse.clone());
return networkResponse;
});
})
.catch(() => {
return caches.match(e.request);
})
);
return;
}
// 其他文件(App Shell)使用 Cache First
e.respondWith(
caches.match(e.request).then(r => r || fetch(e.request))
);
});
@@ -0,0 +1,236 @@
[
{
"title": "如果我很平庸",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/1_%E5%A6%82%E6%9E%9C%E6%88%91%E5%BE%88%E5%B9%B3%E5%BA%B8.mp3",
"cover": ""
},
{
"title": "很久很久",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/2_%E5%BE%88%E4%B9%85%E5%BE%88%E4%B9%85.mp3",
"cover": ""
},
{
"title": "貴得可以",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/3_%E8%B2%B4%E5%BE%97%E5%8F%AF%E4%BB%A5.mp3",
"cover": ""
},
{
"title": "如煙 Live",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/4_%E5%A6%82%E7%85%99%20Live.mp3",
"cover": ""
},
{
"title": "背光的角色",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/5_%E8%83%8C%E5%85%89%E7%9A%84%E8%A7%92%E8%89%B2.mp3",
"cover": ""
},
{
"title": "有你有我",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/6_%E6%9C%89%E4%BD%A0%E6%9C%89%E6%88%91.mp3",
"cover": ""
},
{
"title": "離開我的依賴",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/7_%E9%9B%A2%E9%96%8B%E6%88%91%E7%9A%84%E4%BE%9D%E8%B3%B4.mp3",
"cover": ""
},
{
"title": "浪人的",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/8_%E6%B5%AA%E4%BA%BA%E7%9A%84.mp3",
"cover": ""
},
{
"title": "缺席",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/9_%E7%BC%BA%E5%B8%AD.mp3",
"cover": ""
},
{
"title": "太陽與地球",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/10_%E5%A4%AA%E9%99%BD%E8%88%87%E5%9C%B0%E7%90%83.mp3",
"cover": ""
},
{
"title": "玻璃",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/11_%E7%8E%BB%E7%92%83.mp3",
"cover": ""
},
{
"title": "以我為名",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/12_%E4%BB%A5%E6%88%91%E7%82%BA%E5%90%8D.mp3",
"cover": ""
},
{
"title": "原我離開",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/13_%E5%8E%9F%E6%88%91%E9%9B%A2%E9%96%8B.mp3",
"cover": ""
},
{
"title": "我甘願重新愛過",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/14_%E6%88%91%E7%94%98%E9%A1%98%E9%87%8D%E6%96%B0%E6%84%9B%E9%81%8E.mp3",
"cover": ""
},
{
"title": "那天下雨了",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/15_%E9%82%A3%E5%A4%A9%E4%B8%8B%E9%9B%A8%E4%BA%86.mp3",
"cover": ""
},
{
"title": "愛琴海",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/16_%E6%84%9B%E7%90%B4%E6%B5%B7.mp3",
"cover": ""
},
{
"title": "誰稀罕",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/17_%E8%AA%B0%E7%A8%80%E7%BD%95.mp3",
"cover": ""
},
{
"title": "開始懂了",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/18_%E9%96%8B%E5%A7%8B%E6%87%82%E4%BA%86.mp3",
"cover": ""
},
{
"title": "CEREMONY",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/19_CEREMONY.mp3",
"cover": ""
},
{
"title": "我對緣分小心翼翼",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/20_%E6%88%91%E5%B0%8D%E7%B7%A3%E5%88%86%E5%B0%8F%E5%BF%83%E7%BF%BC%E7%BF%BC.mp3",
"cover": ""
},
{
"title": "搬家",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/21_%E6%90%AC%E5%AE%B6.mp3",
"cover": ""
},
{
"title": "villain",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/22_villain.mp3",
"cover": ""
},
{
"title": "Golden Boy",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/23_Golden%20Boy.mp3",
"cover": ""
},
{
"title": "Foolish Things",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/24_Foolish%20Things.mp3",
"cover": ""
},
{
"title": "IS THIS LOVE ",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/25_IS%20THIS%20LOVE_.mp3",
"cover": ""
},
{
"title": "Bunch Of Idiots",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/26_Bunch%20Of%20Idiots.mp3",
"cover": ""
},
{
"title": "給我一槍",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/29_%E7%B5%A6%E6%88%91%E4%B8%80%E6%A7%8D.mp3",
"cover": ""
},
{
"title": "等你等我",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/31_%E7%AD%89%E4%BD%A0%E7%AD%89%E6%88%91.mp3",
"cover": ""
},
{
"title": "Alive",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/32_Alive.mp3",
"cover": ""
},
{
"title": "幸福在歌唱",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/34_%E5%B9%B8%E7%A6%8F%E5%9C%A8%E6%AD%8C%E5%94%B1.mp3",
"cover": ""
},
{
"title": "跳樓機",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/35_%E8%B7%B3%E6%A8%93%E6%A9%9F.mp3",
"cover": ""
},
{
"title": "I Do",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/37_I%20Do.mp3",
"cover": ""
},
{
"title": "太陽之子",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/38_%E5%A4%AA%E9%99%BD%E4%B9%8B%E5%AD%90.mp3",
"cover": ""
},
{
"title": "陪你到這",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/43_%E9%99%AA%E4%BD%A0%E5%88%B0%E9%80%99.mp3",
"cover": ""
},
{
"title": "海屿你",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/44_%E6%B5%B7%E5%B1%BF%E4%BD%A0.mp3",
"cover": ""
},
{
"title": "LEMONADE",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/45_LEMONADE.mp3",
"cover": ""
},
{
"title": "Home",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/46_Home.mp3",
"cover": ""
},
{
"title": "What if the Sky is not the Limit",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/49_What%20if%20the%20Sky%20is%20not%20the%20Limit.mp3",
"cover": ""
},
{
"title": "When She Holds Me Right",
"artist": "",
"src": "https://android-o1-images.oss-accelerate.aliyuncs.com/550e8400-e29b-41d4-a716-446655442082/external_storage/2026_taiwan_top50_mp3/50_When%20She%20Holds%20Me%20Right.mp3",
"cover": ""
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff