UNPKG

generator-wxnode-boilerplate

Version:

Yeoman generator for wxnode boilerplate

111 lines (105 loc) 3.35 kB
import {StoreOptions} from 'vuex'; import Vue from 'vue'; export function getPersonal(): StoreOptions<any> { return { state: { openid: '', info: { selfInfo: {}, userInfo: { openid: '', }, }, cnt: {}, caseList: [], caseFetched: false, question: { list: [], total: 30, }, answer: { list: [], total: 30, }, share: { list: [], total: 30, }, recommend: { list: [], total: 30, }, fav: { list: [], total: 30, }, follow: { list: [], total: 30, }, }, getters: { wxaCases: state => { return state.caseList.filter(item => item.CaseCategory === '1'); }, pluginCases: state => { return state.caseList.filter(item => item.caseCategory === '2'); }, }, mutations: { SET_PERSONAL_INFO: (state, {data}) => { Vue.set(state, 'info', data); }, SET_PERSONAL_CNT: (state, {data}) => { Vue.set(state, 'cnt', data); }, CLEAR_PERSONAL_SELF_INFO: (state) => { Vue.set(state.info, 'selfInfo', {}); }, SET_PERSONAL_CASE: (state, {data, openid}) => { Vue.set(state, 'openid', openid); Vue.set(state, `caseFetched`, true); Vue.set(state, `caseList`, data.list); }, DELETE_PERSONAL_CASE: (state, {docId}) => { Vue.set(state, 'caseList', state.caseList.filter(blog => blog.DocId !== docId)); }, SET_PERSONAL_QUESTION: (state, {data, page, openid}) => { Vue.set(state, 'question', { list: data.list, total: data.total, }); }, SET_PERSONAL_ANSWER: (state, {data, page, openid}) => { Vue.set(state, 'answer', { list: data.list, total: data.total, }); }, SET_PERSONAL_SHARE: (state, {data, page, openid}) => { Vue.set(state, 'share', { list: data.list, total: data.total, }); }, SET_PERSONAL_RECOMMEND: (state, {data, page, openid}) => { Vue.set(state, 'recommend', { list: data.list, total: data.total, }); }, SET_PERSONAL_FAV: (state, {data, page, openid}) => { Vue.set(state, 'fav', { list: data.list, total: data.total, }); }, SET_PERSONAL_FOLLOW: (state, {data, page, openid}) => { Vue.set(state, 'follow', { list: data.list, total: data.total, }); }, }, }; }