From 5b87cf3d3550038156c7a55a65f67c74e00c7d87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A7=89?= Date: Mon, 2 Oct 2023 05:30:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E8=BF=87like=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/music.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/public/music.js b/public/music.js index 050ca65..c72b1bc 100644 --- a/public/music.js +++ b/public/music.js @@ -1,8 +1,8 @@ import { Button, List, ListItem } from './weigets.js' export default class MusicList { - constructor({ list = [], EventListeners = {}, onplay, onstop, onadd, onremove, onlike, onban, onload }) { - this.event = { onplay, onstop, onadd, onremove, onlike, onban, onload } + constructor({ list = [], EventListeners = {}, onplay, onstop, onadd, onremove, onlike, onunlike, onban, onload }) { + this.event = { onplay, onstop, onadd, onremove, onlike, onunlike, onban, onload } this.ul = List({}) this.ul.classList.add('music-list') this.EventListeners = EventListeners @@ -30,7 +30,8 @@ export default class MusicList { const reader = new FileReader() reader.onload = async event => { const arrayBuffer = event.target.result - this.add({ id, name, size, type, arrayBuffer }) + this.add({ id, name, size, type, arrayBuffer }) // 添加到列表(默认并不存储) + this.like({ id, name, size, type, arrayBuffer }) // 本地缓存的必要条件是喜欢 } reader.readAsArrayBuffer(file) } @@ -152,14 +153,12 @@ export default class MusicList { async like(item) { if (!item.arrayBuffer) { await this.load(item) - return } - if (item.arrayBuffer) { - return - } - // TODO: 添加喜欢和取消喜欢 this.event.onlike(item) } + async unlike(item) { + this.event.onunlike(item) + } async ban(item) { this.event.onban(item) }