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);