|
@@ -0,0 +1,64 @@
|
|
|
+import Vue from 'vue';
|
|
|
+import Vuex from 'vuex';
|
|
|
+import _ from 'lodash';
|
|
|
+import axios from 'axios';
|
|
|
+Vue.use(Vuex);
|
|
|
+const api = {
|
|
|
+ interface: `/api/onlive/uploadquestion`,
|
|
|
+};
|
|
|
+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 mergeRequest({ commit, dispatch }, { method, data }) {
|
|
|
+ let toRequest = () => {
|
|
|
+ let res = [];
|
|
|
+ for (const i of data) {
|
|
|
+ res.push(dispatch(method, i));
|
|
|
+ }
|
|
|
+ return res;
|
|
|
+ };
|
|
|
+ let result = await axios.all(toRequest());
|
|
|
+ let newFilter = data => {
|
|
|
+ let res = data.map(i => {
|
|
|
+ let type = _.isArray(i);
|
|
|
+ if (!type) {
|
|
|
+ //fetch的多个请求 是object 将errcode为0的data取出来
|
|
|
+ return _.get(i, `data`, i);
|
|
|
+ } else {
|
|
|
+ //query的多个请求 array 将此数据再次走这个方法
|
|
|
+ return newFilter(i);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return res;
|
|
|
+ };
|
|
|
+ let returns = _.flattenDeep(newFilter(result));
|
|
|
+ return returns;
|
|
|
+ },
|
|
|
+};
|
|
|
+export default {
|
|
|
+ namespaced: true,
|
|
|
+ state,
|
|
|
+ mutations,
|
|
|
+ actions,
|
|
|
+};
|