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:
@@ -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');
|
||||
@@ -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 |
@@ -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 |
@@ -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>
|
||||
@@ -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": ""
|
||||
}
|
||||
]
|
||||
@@ -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": ""
|
||||
}
|
||||
]
|
||||
@@ -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
Reference in New Issue
Block a user