1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import Vue from 'vue';
- import Vuex from 'vuex';
- import $axios from '@lib/axios.js';
- const api = {
- contentsCreate: '/api/cms/contents/create',
- contentsUpdate: '/api/cms/contents/update',
- contentsDelete: '/api/cms/contents/delete',
- contentsQuery: '/api/cms/contents/query',
- contentsFetch: '/api/cms/contents/fetch',
- columnQuery: '/api/cms/column/query',
- userQuery: '/api/reader/user/query'
- };
- Vue.use(Vuex);
- const state = () => ({
- Total: 0,
- contentsList: [],
- columnList: [],
- dict: {},
- userList: [],
- userTotal: 0
- });
- const actions = {
- async userQuery ({ commit }, { filter, paging } = {}) {
- const res = await $axios.get(api.userQuery, { ...filter, skip: paging.page, limit: paging.size });
- commit('userQuery', res);
- return res;
- },
- async contentsCreate ({ commit }, payload) {
- const res = await $axios.post(api.contentsCreate, payload);
- return res;
- },
- async contentsUpdate ({ commit }, payload) {
- const res = await $axios.post(api.contentsUpdate, { ...payload, id: payload._id });
- return res;
- },
- async contentsDelete ({ commit }, { id }) {
- const res = await $axios.delete(`${api.contentsDelete}/${id}`);
- return res;
- },
- async contentsQuery ({ commit }, { filter, paging } = {}) {
- const res = await $axios.get(api.contentsQuery, { ...filter, skip: paging.page, limit: paging.size });
- commit('contentsQuery', res);
- return res;
- },
- async contentsFetch ({ commit }, payload) {
- const res = await $axios.get(api.contentsFetch, payload);
- return res;
- },
- async columnQuery ({ commit }) {
- const res = await $axios.get(api.columnQuery);
- commit('columnQuery', res);
- return res;
- }
- };
- const mutations = {
- contentsQuery(state, payload) {
- state.contentsList = payload.data;
- state.Total = payload.total;
- },
- columnQuery(state, payload) {
- state.columnList = payload.data;
- state.dict.column = payload.data;
- },
- userQuery(state, payload) {
- state.userList = payload.data.map(e => e.userList[0]);
- state.userTotal = payload.total;
- }
- };
- export default new Vuex.Store({
- state,
- actions,
- mutations,
- modules: {}
- });
|