| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /* eslint-disable no-empty */
- import Vuex from 'vuex'
- import { getTeamBaseInfo, findSound } from '@/api/buildTeam'
- const store = new Vuex.Store({
- state: {
- res: null,
- baseInfo: null,
- musicGroup: {},
- sounds: []
- },
- mutations: {
- updateBaseinfo(state, res) {
- state.res = res
- state.baseInfo = res.data
- if (res.data.musicGroup) {
- state.musicGroup = {...res.data.musicGroup}
- } else {
- state.musicGroup = {}
- }
- },
- updateSound(state, list) {
- state.sounds = [...list]
- }
- },
- actions: {
- async getBaseInfo({ commit, state }, payload) {
- try {
- if (payload.data?.musicGroupId !== state.musicGroup.id || payload.force) {
- const res = await getTeamBaseInfo(payload.data)
- commit('updateBaseinfo', res)
- return Promise.resolve(res)
- }
- return Promise.resolve(state.res)
- } catch (error) {}
- return Promise.reject()
- },
- async getFindSound({ commit, state }, payload) {
- try {
- if (state.sounds.length) {
- return Promise.resolve(state.sounds)
- }
- const res = await findSound({
- ...payload.data
- })
- commit('updateSound', res.data)
- return Promise.resolve(state.sounds)
- } catch (error) {}
- return Promise.reject()
- }
- }
- })
- export default store
|