// import dao from '../../../../tools/services/new_dao'; const app = getApp(); Component({ properties: { show: { type: Boolean, value: false }, music: { type: Array, value: [] } }, observers: { "music": function (list) { let key = list[0] ? list[0].key : ""; if (key === this.data.key) return this.uplist(list) } }, key: -1, data: { recommendMusicList: [], // 推荐音乐列表 itemHeight: 0 }, attached() { let music_data = app.globalData.menulist || []; music_data.forEach((element, index) => { element.selected = false; element.status = false; element.key = index; }); this.setData({ recommendMusicList: music_data, }); }, ready() { // this._tracks = global.edit.tracks; }, methods: { uplist(list) { let key = list[0] ? list[0].key : ""; const recommendMusicList = JSON.parse(JSON.stringify(this.data.recommendMusicList)); for (let i = 0; i < recommendMusicList.length; i++) { recommendMusicList[i].selected = false; recommendMusicList[i].status = 'paused'; } this.setData({ key, recommendMusicList, }) }, onTapRecommendMisic(e) { // const key = e.currentTarget.dataset.key; let key = e.currentTarget.dataset.key - 0; const recommendMusicList = this.data.recommendMusicList; for (let i = 0; i < recommendMusicList.length; i++) { if (recommendMusicList[i].key === key) { if (recommendMusicList[i].selected) { recommendMusicList[i].selected = false; recommendMusicList[i].status = 'paused'; key = ""; // 停掉音乐 this._delMusic() } else { recommendMusicList[i].selected = true; recommendMusicList[i].status = 'playing'; // 开始播放音乐, 并且播放器seek 0 const musicData = recommendMusicList[i]; this._setMusic(musicData); // 设置音乐 } } else { recommendMusicList[i].selected = false; recommendMusicList[i].status = 'paused'; } } this.setData({ key, recommendMusicList, }) }, _delMusic() { // 删掉音乐 this.triggerEvent('remove') }, _setMusic(musicData) { // 创建音乐clip this.triggerEvent('change', musicData) } } })