1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // 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)
- }
- }
- })
|