fix:修复歌手信息跳转更新失败和歌手头像丢失问题 by flystar233 · Pull Request #632 · imsyy/SPlayer
当前的歌手封面检查逻辑不够健壮。使用 props.artist.some((ar) => ar.cover) 会在数组中至少有一个歌手已有封面时,跳过获取其他歌手的头像,这会导致部分歌手没有头像,UI 显示不一致。
// 检查是否有 cover 字段,如果没有则获取歌手详情
const artistPromises = props.artist.map(async (ar) => {
// 如果已有封面,则直接返回
if (ar.cover) {
return ar;
}
// 否则,获取歌手详情
try {
const result = await artistDetail(ar.id);
const artist = result.data?.artist;
return {
id: ar.id,
name: ar.name,
cover: artist?.cover || artist?.img1v1Url || artist?.picUrl,
};
} catch (error) {
console.error(`获取歌手 ${ar.name} (${ar.id}) 的详情失败:`, error);
return { id: ar.id, name: ar.name, cover: undefined };
}
});
artistData.value = await Promise.all(artistPromises);