解决办法: 结合“所有榜单”和“获取歌单详情”两个api获取。因为获取歌单详情api只能获取单个歌单的内容,所以要先获得多个歌单id。
完整代码:
let topList = await request('/toplist')
let resultArr =[]
for(let i=0;i<5;i++){
let topListId = topList.list[i].id
let topListItem = await request('/playlist/detail',{id:topListId})
let weneed ={name:topListItem.playlist.name,tracks:topListItem.playlist.tracks.slice(0,3)}
resultArr.push(weneed)
this.setData({
topListItem:resultArr
})
}
1. 请求“所有榜单”api,通过循环获取5个ID
2. 根据5个ID获取5个榜单的数据,筛选出我们需要的榜单名字,歌曲详情(选3首歌)。保存在一个数组里。
3. 再更新到数据里就可以渲染到界面上了