import Vue from 'vue'; import Vuex from 'vuex'; import _ from 'lodash'; import axios from 'axios'; Vue.use(Vuex); const api = { interface: `/api/mission`, start: id => `/api/mission/start/${id}`, }; const state = () => ({}); const mutations = {}; const actions = { async query({ commit }, { skip = 0, limit, ...info } = {}) { const res = await this.$axios.$get(`${api.interface}`, { skip, limit, ...info }); return res; }, async create({ commit }, payload) { const res = await this.$axios.$post(`${api.interface}`, payload); return res; }, async fetch({ commit }, payload) { const res = await this.$axios.$get(`${api.interface}/${payload}`); return res; }, async update({ commit }, { id, ...data }) { const res = await this.$axios.$post(`${api.interface}/update/${id}`, data); return res; }, async delete({ commit }, payload) { const res = await this.$axios.$delete(`${api.interface}/${payload}`); return res; }, async start({ commit }, { id }) { const res = await this.$axios.$post(`${api.start(id)}`); return res; }, }; export default { namespaced: true, state, mutations, actions, };