8 Commits

Author SHA1 Message Date
aa5c31c257 feat(NFLmusic): 添加酷狗音乐支持
- 新增酷狗音乐的歌曲搜索和播放功能- 更新音乐搜索逻辑,支持酷狗音乐的接口
- 优化歌曲信息获取,包括歌名、歌手和歌词
- 版本升级到 4.3.2
2025-09-06 21:30:53 +08:00
7e30ddb51a feat(version_info): 更新版本信息和功能
- 版本号从 v4.3.1 升级到 v4.3.2
- 发布日期从 2025.8.31 更新为 2025.9.6
- 新增酷狗音乐下载源,扩展了音乐下载的渠道
- 修复部分已知问题,提升软件稳定性
2025-09-06 21:30:39 +08:00
a7b76fb2fe feat(ifm_json): 添加酷狗音乐支持
- 在音质字典中添加酷狗音乐的音质选项
- 在音乐平台列表中增加酷狗音乐的 API地址和音质映射
2025-09-06 21:30:26 +08:00
a237e3d73d build: 更新版本信息和下载链接
- 版本号从4.3.1 修改为4.3.2
- 更新 NFLmusic 软件的下载链接
2025-09-06 21:30:15 +08:00
33fc1144f4 feat(version): 更新版本信息
- 新增 v4.3.1 版本
- 新增 QQ 音乐标准音质
- 修复部分已知问题
- 移除旧版本 v4.3.0 的更新日志
2025-08-31 14:18:05 +08:00
2b931f7012 feat(version): 更新版本信息
- 新增 v4.3.1 版本
- 新增 QQ 音乐标准音质
- 修复部分已知问题
- 移除旧版本 v4.3.0 的更新日志
2025-08-31 14:17:59 +08:00
1849a77190 chore(release): 更新版本信息至 4.3.1- 版本号从 4.3.0 修改为 4.3.1
- 更新 NFLmusic 应用程序的下载链接
2025-08-31 14:17:49 +08:00
c76ea6af80 feat(nflmusic): 更新音质选项并移除冗余音质描述
- 移除了 KUGOU、DOUYIN 和 XIAOFEN 的冗余音质描述
- 在 QQ 音乐中添加了"标准音质"选项
2025-08-31 14:10:33 +08:00
4 changed files with 47 additions and 29 deletions

View File

@ -91,7 +91,6 @@ def detect_change():
jsondata["theme"] != tmla.get(la)[var1.get()] or jsondata["theme"] != tmla.get(la)[var1.get()] or
jsondata["path"] != var2.get() jsondata["path"] != var2.get()
): ):
changed = True changed = True
@ -187,6 +186,18 @@ def download_music(song_name, choose):
music_name = resp.json()["data"]["song_name"] music_name = resp.json()["data"]["song_name"]
singer = resp.json()["data"]["song_singer"] singer = resp.json()["data"]["song_singer"]
music_url = resp.json()["data"]["music_url"] music_url = resp.json()["data"]["music_url"]
elif choice == "KUGOU":
song_name = song_name.replace(" ", "")
resp = requests.get(f"{url}?msg={song_name}&n={choose}&num=60&type=json&br={br}&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3")
resp.close()
try:
lrc = resp.json()["lyrics"]
except Exception as e:
print(f"download_kg_lrc: {e}")
lrc = ""
music_name = resp.json()["title"]
singer = resp.json()["singer"]
music_url = resp.json()["music_url"]
else: else:
lrc = "" lrc = ""
lrc = lrc.replace("\\n", "\n") lrc = lrc.replace("\\n", "\n")
@ -299,6 +310,8 @@ def get_data_without_blocking(song_name):
url1 = f"{url}?gm={song_name}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3" url1 = f"{url}?gm={song_name}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3"
elif choice == "QQ": elif choice == "QQ":
url1 = f"{url}?msg={song_name}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3" url1 = f"{url}?msg={song_name}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3"
elif choice == "KUGOU":
url1 = f"{url}?msg={song_name}&num=60&type=json&key=Dragon5B887C2DC41AD03C93F06BAF4B7888C3"
resp = requests.get(url1) resp = requests.get(url1)
jsondata = resp.json()["data"] jsondata = resp.json()["data"]
resp.close() resp.close()
@ -316,6 +329,10 @@ def get_data_without_blocking(song_name):
full_name = jsondata[index]["song_title"] full_name = jsondata[index]["song_title"]
artist = jsondata[index]["song_singer"] artist = jsondata[index]["song_singer"]
album = "" album = ""
elif choice == "KUGOU":
full_name = jsondata[index]["title"]
artist = jsondata[index]["singer"]
album = ""
songlist.insert("", "end", values=(full_name, artist, album)) songlist.insert("", "end", values=(full_name, artist, album))
except requests.exceptions.JSONDecodeError: except requests.exceptions.JSONDecodeError:
resp_text = resp.text resp_text = resp.text
@ -386,20 +403,20 @@ def delete():
tkinter.messagebox.showwarning(title=lang.get(la, "mbox.title.delete_fail"), tkinter.messagebox.showwarning(title=lang.get(la, "mbox.title.delete_fail"),
message=lang.get(la, "mbox.text.delete_fail_no_target", )) message=lang.get(la, "mbox.text.delete_fail_no_target", ))
except PermissionError: except PermissionError:
# try:
stopmusic()
os.remove(abs_path)
try: try:
os.remove(abs_path_lrc) stopmusic()
except: os.remove(abs_path)
pass try:
music_dir_without_endswith.remove(listbox1.get(0, END)[listbox1.curselection()[0]]) os.remove(abs_path_lrc)
del music_dir[listbox1.curselection()[0]] except:
listbox1.delete(listbox1.curselection()[0]) pass
# except Exception as e: music_dir_without_endswith.remove(listbox1.get(0, END)[listbox1.curselection()[0]])
# print(e, type(e)) del music_dir[listbox1.curselection()[0]]
# tkinter.messagebox.showerror(title=lang.get(la, "mbox.title.delete_fail"), listbox1.delete(listbox1.curselection()[0])
# message=lang.get(la, "mbox.text.delete_fail_no_permission", )) except Exception as e:
print(e, type(e))
tkinter.messagebox.showerror(title=lang.get(la, "mbox.title.delete_fail"),
message=lang.get(la, "mbox.text.delete_fail_no_permission", ))
except FileNotFoundError: except FileNotFoundError:
tkinter.messagebox.showerror(title=lang.get(la, "mbox.title.delete_fail"), tkinter.messagebox.showerror(title=lang.get(la, "mbox.title.delete_fail"),
message=lang.get(la, "mbox.text.delete_fail_not_found", )) message=lang.get(la, "mbox.text.delete_fail_not_found", ))
@ -1279,7 +1296,7 @@ def search_local_song():
time.sleep(1) time.sleep(1)
version = "4.3.0" version = "4.3.2"
poem = "" poem = ""
appdata = os.getenv("APPDATA") appdata = os.getenv("APPDATA")
make_resource() make_resource()
@ -1641,8 +1658,9 @@ themeLabel.place(x=10, y=25)
# 基本设置 # 基本设置
repo_dict = { repo_dict = {
"酷我音乐": "KUWO", "酷我音乐": "KUWO",
"网易云音乐": "WANGYIYUN",
"QQ音乐": "QQ", "QQ音乐": "QQ",
"网易云音乐": "WANGYIYUN",
"酷狗音乐": "KUGOU",
} }
repo_dict_reverse = {} repo_dict_reverse = {}
for repo in repo_dict: for repo in repo_dict:

View File

@ -5,10 +5,8 @@ usercache = {
"br": { "br": {
"QQ": "HQ高音质", "QQ": "HQ高音质",
"KUWO": "高品音质", "KUWO": "高品音质",
"KUGOU": "HQ高品音质",
"WANGYIYUN": "极高音质", "WANGYIYUN": "极高音质",
"DOUYIN": "HQ高音质", "KUGOU": "音质"
"XIAOFEN": "高品音质"
}, },
"choice": "KUWO", "choice": "KUWO",
"auto_update": True, "auto_update": True,
@ -20,7 +18,8 @@ api_data = {
"QQ": ["https://sdkapi.hhlqilongzhu.cn/api/QQmusic/", "QQ": ["https://sdkapi.hhlqilongzhu.cn/api/QQmusic/",
{ {
"SQ无损": 1, "SQ无损": 1,
"HQ高音质": 2 "HQ高音质": 2,
"标准音质": 10
} }
], ],
"KUWO": ["https://sdkapi.hhlqilongzhu.cn/api/dgMusic_kuwo/", "KUWO": ["https://sdkapi.hhlqilongzhu.cn/api/dgMusic_kuwo/",
@ -40,6 +39,11 @@ api_data = {
"超清母带": 7 "超清母带": 7
} }
], ],
"KUGOU": ["https://sdkapi.hhlqilongzhu.cn/api/dgMusic_kugou/",
{
"高品音质": 1
}
]
} }

View File

@ -1,3 +1,3 @@
4.3.0 4.3.2
http://pan.nanfengling.cn/f/4Qc2/update.exe http://pan.nanfengling.cn/f/4Qc2/update.exe
http://pan.nanfengling.cn/f/3mDtN/NFLmusicv4.3.0.exe http://pan.nanfengling.cn/f/pvdsV/NFLmusicv4.3.2.exe

View File

@ -1,10 +1,6 @@
v4.3.0 - 2025.8.30 v4.3.2 - 2025.9.6
修复了QQ音乐酷我音乐源无法使用的问题 新增酷狗音乐下载源
移除汽水音乐,小粉音乐,酷狗音乐源 修复部分已知问题
修复了音乐删除时异常弹窗的问题
修复了路径设置异常保存的问题
修复了部分音质无法正常播放的问题
(其实就是换成系统关联播放器而已 (ˉ▽ˉ;)...)
本产品是南凤科技旗下的音乐下载器 本产品是南凤科技旗下的音乐下载器
旨在提升用户体验, 旨在提升用户体验,