lixin-web
Version:
vue and bootstrap
89 lines (81 loc) • 1.79 kB
JavaScript
import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import pay from './modules/pay'
import lotto from './modules/lotto'
import {ajax} from '../js/util/axios'
Vue.use(Vuex)
const state = {
initData:{
info:{},
main:{
username:'获取中…',
},
lottery:{},
isLogin:'',
initDone:''
},
initDone:'',
loading:false,
loadingPart:false,
}
const getters = {
initDone: state => state.initDone,
main: state => state.initData.main,
username: state => state.initData.main.username,
info: state => state.initData.info,
isLogin: state => state.initData.isLogin,
point:state => state.initData.lottery.point,
loading: state => state.loading,
loadingPart: state => state.loadingPart,
isAgent:state => state.initData.main.type
}
const actions = {
initPage({commit},callback){
ajax('webajax/init-page',data => {
commit('initPage',data)
commit('initDone',true)
callback(data)
})
}
}
const mutations = {
initPage(state,data){
state.initData = {...state.initData,...data}
},
initDone(state,result){
state.initDone = result
},
spin(state,result = true){
state.loading = result
},
spinPart(state,result = true){
state.loadingPart = result
}
}
export default new Vuex.Store({
state,
getters,
actions,
mutations,
modules:{
user,
pay,
lotto
},
})
if (module.hot) {
module.hot.accept([
'./modules/user',
'./modules/pay',
'./modules/lotto',
], () => {
store.hotUpdate({
modules: {
user: require('./modules/user'),
pay: require('./modules/pay'),
pay: require('./modules/lotto')
}
})
})
}