import Vue from 'vue' import Vuex from 'vuex' import api from '@/common/api.js' Vue.use(Vuex); const store = new Vuex.Store({ state: { login: true, token: '', avatarUrl: '', userName: '', userInfo: null, dictObj: null, allowLoading: true, goodsAuditionConfigIdList: [], //当前访问页面的试听节ID shoppingCartList: [], //购物车支付商品 applyData: {}, //预约考试数据存放 playSectionId: 0 }, getters: { userInfo: state => { if (state.userInfo == null) { if (uni.getStorageSync('user_account')) { getUserInfo(state) } } return state.userInfo }, dictObj: state => { return state.dictObj }, allowLoading: state => { return state.allowLoading }, goodsAuditionConfigIdList: state => { return state.goodsAuditionConfigIdList }, shoppingCartList: state => { return state.shoppingCartList }, getApplyData: state => { return state.applyData }, playSectionId: state => { return state.playSectionId } }, mutations: { updateApplyData(state, arrays) { state.applyData = arrays; }, updateUserInfo(state, provider) { state.userInfo = provider.userInfo; }, setGoodsAuditionConfigIdList(state, provider) { state.goodsAuditionConfigIdList = provider.goodsAuditionConfigIdList; }, setShoppingCartList(state, provider) { state.shoppingCartList = provider.shoppingCartList; }, setPlaySectionId(state, provider) { state.playSectionId = provider.playSectionId; }, } }) async function getUserInfo(state) { const resdata = await api.getInfo() if (resdata.data.code == 200) { state.userInfo = resdata.data.data; } } export default store