通过like缓存

This commit is contained in:
2023-10-02 05:30:20 +08:00
parent e3176301f8
commit 5b87cf3d35
1 changed files with 7 additions and 8 deletions

View File

@ -1,8 +1,8 @@
import { Button, List, ListItem } from './weigets.js' import { Button, List, ListItem } from './weigets.js'
export default class MusicList { export default class MusicList {
constructor({ list = [], EventListeners = {}, 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, onban, onload } this.event = { onplay, onstop, onadd, onremove, onlike, onunlike, onban, onload }
this.ul = List({}) this.ul = List({})
this.ul.classList.add('music-list') this.ul.classList.add('music-list')
this.EventListeners = EventListeners this.EventListeners = EventListeners
@ -30,7 +30,8 @@ export default class MusicList {
const reader = new FileReader() const reader = new FileReader()
reader.onload = async event => { reader.onload = async event => {
const arrayBuffer = event.target.result 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) reader.readAsArrayBuffer(file)
} }
@ -152,14 +153,12 @@ export default class MusicList {
async like(item) { async like(item) {
if (!item.arrayBuffer) { if (!item.arrayBuffer) {
await this.load(item) await this.load(item)
return
} }
if (item.arrayBuffer) {
return
}
// TODO: 添加喜欢和取消喜欢
this.event.onlike(item) this.event.onlike(item)
} }
async unlike(item) {
this.event.onunlike(item)
}
async ban(item) { async ban(item) {
this.event.onban(item) this.event.onban(item)
} }