lx-music-desktop/src/renderer/store/modules/list.js
2019-08-20 13:18:11 +08:00

64 lines
1.3 KiB
JavaScript

// state
const state = {
defaultList: {
name: '试听列表',
list: [],
},
userList: [],
}
// getters
const getters = {
defaultList: state => state.defaultList || {},
userList: state => state.userList,
}
// actions
const actions = {
}
// mitations
const mutations = {
initDefaultList(state, data) {
state.defaultList = data
},
setDefaultList(state, list) {
state.defaultList.list = list
},
defaultListAdd(state, musicInfo) {
if (state.defaultList.list.some(s => s.songmid === musicInfo.songmid)) return
state.defaultList.list.push(musicInfo)
},
defaultListAddMultiple(state, list) {
list.forEach(musicInfo => {
if (state.defaultList.list.some(s => s.songmid === musicInfo.songmid)) return
state.defaultList.list.push(musicInfo)
})
},
defaultListRemove(state, index) {
state.defaultList.list.splice(index, 1)
},
updateMusicInfo(state, { index, data }) {
Object.assign(state.defaultList.list[index], data)
},
defaultListRemoveMultiple(state, list) {
list.forEach(musicInfo => {
let index = state.defaultList.list.indexOf(musicInfo)
if (index < 0) return
state.defaultList.list.splice(index, 1)
})
},
defaultListClear(state) {
state.defaultList.list.length = 0
},
}
export default {
namespaced: true,
state,
getters,
actions,
mutations,
}