frontend/src/store/meetingManagement.js
Sparkfreeman b00e35c31c 写了点
还没debug 诶嘿
2024-07-03 15:58:37 +08:00

71 lines
1.9 KiB
JavaScript

import MeetingService from '../services/meetingService';
const state = {
meetings: [],
currentMeeting: null
};
const mutations = {
setMeetings(state, meetings) {
state.meetings = meetings;
},
setCurrentMeeting(state, meeting) {
state.currentMeeting = meeting;
}
};
const actions = {
async fetchMeetings({ commit }) {
try {
const response = await MeetingService.getAllMeetings();
commit('setMeetings', response.data);
} catch (error) {
console.error('Failed to fetch meetings:', error);
}
},
async fetchMeetingById({ commit }, id) {
try {
const response = await MeetingService.getMeetingById(id);
commit('setCurrentMeeting', response.data);
} catch (error) {
console.error('Failed to fetch meeting:', error);
}
},
async createMeeting({ dispatch }, meeting) {
try {
await MeetingService.createMeeting(meeting);
dispatch('fetchMeetings');
} catch (error) {
console.error('Failed to create meeting:', error);
}
},
async updateMeeting({ dispatch }, meeting) {
try {
await MeetingService.updateMeeting(meeting.id, meeting);
dispatch('fetchMeetings');
} catch (error) {
console.error('Failed to update meeting:', error);
}
},
async deleteMeeting({ dispatch }, id) {
try {
await MeetingService.deleteMeeting(id);
dispatch('fetchMeetings');
} catch (error) {
console.error('Failed to delete meeting:', error);
}
}
};
const getters = {
allMeetings: state => state.meetings,
currentMeeting: state => state.currentMeeting
};
export default {
namespaced: true,
state,
mutations,
actions,
getters
};