feat: 新增所有歌曲列表

This commit is contained in:
涵曦 2024-09-10 06:42:16 +00:00
parent 980772bf9c
commit 781e5ebb2f
2 changed files with 26 additions and 9 deletions

View File

@ -98,6 +98,7 @@ $(function(){
$('#music_list').change(function() { $('#music_list').change(function() {
const selectedValue = $(this).val(); const selectedValue = $(this).val();
localStorage.setItem('cur_playlist', selectedValue);
$('#music_name').empty(); $('#music_name').empty();
const sorted_musics = data[selectedValue].sort(custom_sort_key); const sorted_musics = data[selectedValue].sort(custom_sort_key);
$.each(sorted_musics, function(index, item) { $.each(sorted_musics, function(index, item) {
@ -108,10 +109,17 @@ $(function(){
$('#music_list').trigger('change'); $('#music_list').trigger('change');
// 获取当前播放列表 // 获取当前播放列表
$.get(`curplaylist?did=${did}`, function(data, status) { $.get(`curplaylist?did=${did}`, function(playlist, status) {
if (data != "") { if (playlist != "") {
$('#music_list').val(data); $('#music_list').val(playlist);
$('#music_list').trigger('change'); $('#music_list').trigger('change');
} else {
// 使用本地记录的
playlist = localStorage.getItem('cur_playlist');
if (data.includes(playlist)) {
$('#music_list').val(playlist);
$('#music_list').trigger('change');
}
} }
}) })
}) })

View File

@ -453,6 +453,9 @@ class XiaoMusic:
self.log.exception(f"Execption {e}") self.log.exception(f"Execption {e}")
self.music_list["全部"] = list(self.all_music.keys()) self.music_list["全部"] = list(self.all_music.keys())
self.music_list["所有歌曲"] = [
name for name in self.all_music.keys() if name not in self._all_radio
]
self._append_custom_play_list() self._append_custom_play_list()
@ -1189,7 +1192,9 @@ class XiaoMusicDevice:
# 同一组设备播放 # 同一组设备播放
async def group_player_play(self, url, name=""): async def group_player_play(self, url, name=""):
device_id_list = self.xiaomusic.get_group_device_id_list(self.group_name) device_id_list = self.xiaomusic.get_group_device_id_list(self.group_name)
tasks = [self.play_one_url(device_id, url, name) for device_id in device_id_list] tasks = [
self.play_one_url(device_id, url, name) for device_id in device_id_list
]
results = await asyncio.gather(*tasks) results = await asyncio.gather(*tasks)
self.log.info(f"group_player_play {url} {device_id_list} {results}") self.log.info(f"group_player_play {url} {device_id_list} {results}")
return results return results
@ -1222,15 +1227,19 @@ class XiaoMusicDevice:
"queryType": 1, "queryType": 1,
"offset": 0, "offset": 0,
"count": 6, "count": 6,
"timestamp": int(time.time_ns() / 1000) "timestamp": int(time.time_ns() / 1000),
} }
response = await self.xiaomusic.mina_service.mina_request('/music/search', params) response = await self.xiaomusic.mina_service.mina_request(
audio_id = response['data']['songList'][5]['audioID'] # QQ音乐为搜索结果的第6首歌 "/music/search", params
)
audio_id = response["data"]["songList"][5][
"audioID"
] # QQ音乐为搜索结果的第6首歌
self.log.debug(f"_get_audio_id. name: {name} songId:{audio_id}") self.log.debug(f"_get_audio_id. name: {name} songId:{audio_id}")
except Exception as e: except Exception as e:
self.log.error(f"_get_audio_id {e}") self.log.error(f"_get_audio_id {e}")
finally: return str(audio_id)
return str(audio_id)
# 设置下一首歌曲的播放定时器 # 设置下一首歌曲的播放定时器
async def set_next_music_timeout(self, sec): async def set_next_music_timeout(self, sec):
self.cancel_next_timer() self.cancel_next_timer()